<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:brc="http://www.bradyid.com/20221031"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="brc-20221031.xsd" xlink:type="simple"/>
    <context id="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ia1394927155d4940ad14054c47a8f10f_I20221115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-15</instant>
        </period>
    </context>
    <context id="id7bcb946b8d34a70a64ff10440e394af_I20221115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-15</instant>
        </period>
    </context>
    <context id="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i090796417271403b9a548e6e772f9890_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i952e78ad8a624309a4456c3ceada0bb1_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i09714429869d4c8885b3886a23321788_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i7a8534323462482cbbb3027a452b6b75_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i49c2329371ed491fb52144735932a25b_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ib807e183c7c8408fb989143233bf33ec_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i01195395564542469598b2439fc4becb_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i1b20d71243f24b26bccfe64222042566_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i7387a7bdc377471c8f5cecbcee692dbf_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i1fa89aa939bb46b3848c3e00fb0b26f3_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i3c0f778647da40f38b8a63e02a0464ff_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i660aa4643bce487eb693147dba09bf1b_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ib4bf7a12934d4bb38c628db9d464309d_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i495887610353430d8c38e1fa615afade_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ie6539677c30d4f6c957c4530af3c2d12_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ia0275877f4a04893b3391c185ee472d7_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i4b98bea9713144bda6438c2c4247ba95_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i6a9d9d9015a74ae4a93117673b596ace_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i72ff5d60c44342a19b42160c3c76fe29_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i99bca1ff433e4c3c852ad9951e619dcb_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ia2384b662f1148d3aeff06014bc558fa_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i7df6606064604ea393e6a170b7eb4142_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i394d4c3dec4c4912bae856d23da12193_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="iaf795f1e0b864e6392efdc79b32d32cd_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i74036189f72b4a4aa40b929aeb04f1ba_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="id4304660da6d4348a06729f108a0fc64_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i4926ae559a2e4a0ebaa3fdcda8960be5_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i8a66a20a9b43455e841e8736d2d0bab8_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i2ca313cccc74468cb5ea7b71fafa3714_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i42c050a5f19b404a99a36c361545457e_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="id26f3694764946aba899463c4971850c_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ia11fd64fab3846c28b07837117aa461b_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i413ff0d276564601a915639e83f617ec_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i017ad7c434bb4943a78cd1e76229c724_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ic9cc156fb7534fd8a81ed51401501e0c_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i1efd9bd908d74b858314a22ddb5abf4b_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:NonvotingCommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i8e907b1340844fc1b1bb4ef616ca8bac_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i3f7b32414b1744138bc471266294a632_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="if2aa4b0196ef4006bcaad81f006a6e65_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ifb42e171e7e04ec685eb2724feb67230_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i7fa5c3c08ff14667ab9b1a3df7dc1cab_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ifccb631358aa467dbfbd3d574926f46f_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i741cdd0b5e794e239cb304de017c5f7c_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i143473a44c994707a5236710e2125fcd_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i8a07b348549d48588107cd33f732d642_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i4f54d67485ba47dc97681ee9112ecfd1_D20210801-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i455396531dbf4c4b8a17159f043fd3a9_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="iba9609a108224224bfa446a2f64202f0_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="iba53012c236141eca10163f3fc6d3e87_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="id127d25cec6e45a08dda7e72b6c00f75_D20210801-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="id34e073d8fbf4a49a7bee47e6b9ff856_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i44b1cb2adf344820ac1a6acd5a014824_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="icf860f0043384dad949e2f140e19ba41_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i95797bbb5c104297b10b791feb8ac3f0_D20210801-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ia60de3bc1a674282a87c136374bc18b6_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="if27d39703b9d48baad9b50d1b3a5381a_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i75e18108bc414619a447b71f325c0bdd_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentNetUnamortizedGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="iec9365abefbe4f6fad4b7cb45dab1700_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i1fc4699238374d82b591b32653b52e19_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ia0fb9de035ae4319bb0c2c660bedd874_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentNetUnamortizedGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i5989b2e7fe9648a3ad4d900654159857_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="id5d65e704cc54e229174e1c01c31d6b8_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i278f4508b2ca4018b3484f5d379a4f66_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentNetUnamortizedGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="iab29995832fb45229285e6fb1e584fe6_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i5ab9789722174a2dafe910b539bc67f1_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="if8ac6e4079994b4cb7225f1d589cc75c_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentNetUnamortizedGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i16264885b60d4a559843aab25722501e_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="ib6e08a6525fd496987efde1e973c980c_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i0a9c676974f641a5a2b92df72dda059a_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentNetUnamortizedGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i177aeb753d0844c5ba5652657cb0513f_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i160d051a22044b3e8e10baeec686d993_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="id06bbb5ce899464d99b55157ff15c6d3_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentNetUnamortizedGainLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i03f91b5ae0ac4cd29f3177c2369bf0ef_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i4ebb0699f9a045e6a68c7fbea27f0912_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ibd8bb824fcaa482bab5f3b053a116e78_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i141f66725bb749bd8da3c6fbaa2b406f_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i8f25921271a748eea4761bbdad78aafe_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i133472c2581f4dc9a31001a5ddd8e8e9_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="if1fe90fbbc7f4f30a8a1658f04bc3ecd_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i298daf16b740422fa16227828dbdc763_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i4b5a0911913c4180a850e1bbcba3c79d_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:IdSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i675767fe8f904188a494782fefc4c5c2_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i2d156afc1dfe412ab9e0e77dadc94d09_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i01f3ab23c25b4ac2b768e83d3656babe_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ic5b019f12c2b427396c9631c02709201_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i2ae7d2de348d4a28a5f9a54c386b0563_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ifec66e9a27ca4e88a14e644c18fb6345_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i1da7d1ee2f33426caba313f7bdfe4459_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i40f2d5237a5644408b8c77a49a3a042c_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">brc:WorkplaceSafetyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i511cd4595935485e846e98b3371d97a1_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i78ea378e2f0e411eb2dfde9a4e44af3a_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i1edb57f6cf3340f196990248617f0cfd_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i7e42a39bf6064b94a234434a6c526ac3_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="if5fe95f456514b61bd139c202c5226ef_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="iedf3ab18e7324cc2941734676516f92c_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ia16ded89089a460cae964da589923cde_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i45e3732a8f444bd7adfc888048ecfff7_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="ica2b190425a14bce9dd070112e76aa2b_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i36ccfbae6ff3445689697cacfb00cedc_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ie757ed9400a945fc9c2f4dcf14ef7a92_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="if7c3ca1531a545b4a2812f8015571468_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="iadc039ae0cb542d3b423fbef30aed9e1_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ib31a42827ff04954a34529f5179644ec_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i88e3561831bc489cb7cba53367c98af0_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ia4a6dba1e31e4a419ce803dd3f396d38_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="iaad16dc143aa4cdebe2656cae5444c2a_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="ie1a883b225d64f9eb8233105c8db53f3_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="idc2fc9181bd141db8ecee6a8e89338cd_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i829b432226bd4fc59b30870bb30e44ca_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="iec26d3c118434d1d8684c5dbd6b440f1_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i0443304f79df44cb95f6d3104ad75f50_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i24b13faf9b1749f99a0f2701edc2d3c2_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="iccf5f58e76114b5cb179c93a8ff2a20c_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i2857dbcc1b534293a145316522bbfd65_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i48906836e4d0492aa53b7c748dd2a14e_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i8221a1be9cdf44378c368d37bc493598_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i4c7d97a8dee04c19adb2bb159f48fbb2_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i718fce9b02264ba28cf976feb29eb890_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i329e198133944ac8a0e96032a773e861_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i40ba16bb70bc4a3d97e491262147f281_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i8c2010dd6eee480d8f4061398cb4d3f1_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i21e6a72245f44d7983bfccdf47afc2d8_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="id68188572b324f539d7a7238e0709c5d_I20221031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="i819e03dc667446cba7df87f8bcb3866b_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ic28874eaa8504410bbe64d0ad0ae9282_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i1ef30119ab184344a0b39c29396f7a60_I20221114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
        </entity>
        <period>
            <instant>2022-11-14</instant>
        </period>
    </context>
    <context id="i8c2f4678fbf845aebfc28f1c4fd8ace3_D20221114-20221114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-14</startDate>
            <endDate>2022-11-14</endDate>
        </period>
    </context>
    <context id="i7da67250954440709a04736bf113fada_D20221116-20221116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-16</startDate>
            <endDate>2022-11-16</endDate>
        </period>
    </context>
    <context id="i5b81e92ecbe74bcaa898385def2e7d5c_I20221116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-16</instant>
        </period>
    </context>
    <context id="i3b845d524f954e699cf2279cf596a144_D20230131-20230131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-31</startDate>
            <endDate>2023-01-31</endDate>
        </period>
    </context>
    <context id="ia1e5252ed7ea4af89c4a4049931972ef_D20230110-20230110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000746598</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-10</startDate>
            <endDate>2023-01-10</endDate>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="rate">
        <measure>utr:Rate</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80L2ZyYWc6ZGIxMjdkZmViYmM4NDRiZmI5NWFhOTZkMjI3NGFiYzUvdGFibGU6ZDQ4ZTdmMGViZTZkNDA1NDkxNTVkMGQwOWUxYmQ4OTAvdGFibGVyYW5nZTpkNDhlN2YwZWJlNmQ0MDU0OTE1NWQwZDA5ZTFiZDg5MF8zLTEtMS0xLTQ3MjA3_d3ff3f14-2213-4225-b26a-a4ac185f9c2b">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80L2ZyYWc6ZGIxMjdkZmViYmM4NDRiZmI5NWFhOTZkMjI3NGFiYzUvdGFibGU6ZDQ4ZTdmMGViZTZkNDA1NDkxNTVkMGQwOWUxYmQ4OTAvdGFibGVyYW5nZTpkNDhlN2YwZWJlNmQ0MDU0OTE1NWQwZDA5ZTFiZDg5MF80LTEtMS0xLTQ3MjA3_8f43652a-b677-4f56-9692-c2029faf0fe9">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80L2ZyYWc6ZGIxMjdkZmViYmM4NDRiZmI5NWFhOTZkMjI3NGFiYzUvdGFibGU6ZDQ4ZTdmMGViZTZkNDA1NDkxNTVkMGQwOWUxYmQ4OTAvdGFibGVyYW5nZTpkNDhlN2YwZWJlNmQ0MDU0OTE1NWQwZDA5ZTFiZDg5MF81LTEtMS0xLTQ3MjA3_8f85ee14-573f-421a-8739-da12d84f396d">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80L2ZyYWc6ZGIxMjdkZmViYmM4NDRiZmI5NWFhOTZkMjI3NGFiYzUvdGFibGU6ZDQ4ZTdmMGViZTZkNDA1NDkxNTVkMGQwOWUxYmQ4OTAvdGFibGVyYW5nZTpkNDhlN2YwZWJlNmQ0MDU0OTE1NWQwZDA5ZTFiZDg5MF82LTEtMS0xLTQ3MjA3_3af41174-902f-4131-8ad4-f942aafaa442">0000746598</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80L2ZyYWc6ZGIxMjdkZmViYmM4NDRiZmI5NWFhOTZkMjI3NGFiYzUvdGFibGU6ZDQ4ZTdmMGViZTZkNDA1NDkxNTVkMGQwOWUxYmQ4OTAvdGFibGVyYW5nZTpkNDhlN2YwZWJlNmQ0MDU0OTE1NWQwZDA5ZTFiZDg5MF83LTEtMS0xLTQ3MjA3_b8a30242-bbeb-4049-964e-ad1fcecb18c5">--07-31</dei:CurrentFiscalYearEndDate>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfMy0xLTEtMS00NzIwNw_fa79c466-7599-4136-afd4-787c539bbef6"
      unitRef="usd">6938000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfMy0yLTEtMS00NzIwNw_c734415f-c8b0-4c20-b335-aab93f79b3da"
      unitRef="usd">7355000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:CommonStockSharesIssued
      contextRef="i090796417271403b9a548e6e772f9890_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfNy0xLTEtMS00NzIwNw_6029e204-d50e-458e-b7dc-e727de67f5a8"
      unitRef="shares">51261487</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i952e78ad8a624309a4456c3ceada0bb1_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfNy0yLTEtMS00NzIwNw_37a97836-d2f5-4413-9dc2-1ef64782ebae"
      unitRef="shares">51261487</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i090796417271403b9a548e6e772f9890_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfOC0xLTEtMS00NzIwNw_44ef0082-432c-4660-a67c-8ca48eba6c80"
      unitRef="shares">46176267</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i952e78ad8a624309a4456c3ceada0bb1_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfOC0yLTEtMS00NzIwNw_4b7051d1-91b9-4a19-8adc-229508e139f5"
      unitRef="shares">46370708</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:TreasuryStockShares
      contextRef="i090796417271403b9a548e6e772f9890_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfOS0xLTEtMS00NzIwNw_96469593-5df3-45f1-952b-a9b793287160"
      unitRef="shares">5085220</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i952e78ad8a624309a4456c3ceada0bb1_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfOS0yLTEtMS00NzIwNw_58c11003-e215-40e9-bc58-8314f7b96ab4"
      unitRef="shares">4890779</us-gaap:TreasuryStockShares>
    <us-gaap:CommonStockSharesIssued
      contextRef="i7a8534323462482cbbb3027a452b6b75_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfMTItMS0xLTEtNDcyMDc_1d0053e2-0467-4c1e-bfa6-22c5dcb3c924"
      unitRef="shares">3538628</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i09714429869d4c8885b3886a23321788_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfMTItMi0xLTEtNDcyMDc_5dd6f0dc-ab03-4557-8482-982d6e5abce2"
      unitRef="shares">3538628</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7a8534323462482cbbb3027a452b6b75_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfMTMtMS0xLTEtNDcyMDc_f9611157-db86-4df2-9c38-c7ba1f6f67f2"
      unitRef="shares">3538628</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7a8534323462482cbbb3027a452b6b75_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xOS9mcmFnOmJjY2NkMTYzMTU0OTQyMGRhZmI1YTgwMzY5ZGEwYWMwL3RhYmxlOjRjMWU3N2Y2YTJhYTQwMjU4ZTYxZjQxNWVjMjMwM2NlL3RhYmxlcmFuZ2U6NGMxZTc3ZjZhMmFhNDAyNThlNjFmNDE1ZWMyMzAzY2VfMTMtMi0xLTEtNDcyMDc_321b6dd7-a2ad-45fb-a338-f10447ea2676"
      unitRef="shares">3538628</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMzA4MQ_92a2e760-2eac-4ad8-9d99-d0d4545c1d5f">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMDk5_1e501002-c4aa-4d2f-9a27-ac50c481b6e6">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6YzIyOGRiZDBiNTJmNGMzMmFlMjZlNjE3MGUzZmQwMjQvdGFibGVyYW5nZTpjMjI4ZGJkMGI1MmY0YzMyYWUyNmU2MTcwZTNmZDAyNF8wLTAtMS0xLTQ3MjA3_93dfa718-7a61-4a0a-84a5-66642d6e4741">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8xMjI_647e3286-1907-49b8-914e-46a32ec31860">2022-10-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6NzZkMmNjMTNlZWNhNGNjMmFjYTI0MTkyMmQxMTdlZTkvdGFibGVyYW5nZTo3NmQyY2MxM2VlY2E0Y2MyYWNhMjQxOTIyZDExN2VlOV8wLTAtMS0xLTQ3MjA3_21c2aa9f-6f10-427c-ab3f-7b8b7a272602">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMTAw_1edb0f4f-460e-432d-9a92-3d5aa6b8ecbc">1-14959</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMTAx_88373895-b31d-4348-b0b0-beb790b0a116">BRADY CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6ZDFhZDhiYzEzNjY3NDNhMGExNDMwOThhMDljNTc5YmQvdGFibGVyYW5nZTpkMWFkOGJjMTM2Njc0M2EwYTE0MzA5OGEwOWM1NzliZF8wLTAtMS0xLTQ3MjA3_30784c97-7c54-48e8-aba3-e6c2779b13de">WI</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6ZDFhZDhiYzEzNjY3NDNhMGExNDMwOThhMDljNTc5YmQvdGFibGVyYW5nZTpkMWFkOGJjMTM2Njc0M2EwYTE0MzA5OGEwOWM1NzliZF8wLTItMS0xLTQ3MjA3_7961e706-1767-42cb-bd53-2a7439873f28">39-0178960</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF81NDk3NTU4MTYxMjU_02a2d087-174d-40b8-923b-5ecfde550175">6555 West Good Hope Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF81NDk3NTU4MTYxMjQ_9cd49f78-c6a6-45f5-950c-72faa36e3c8b">Milwaukee</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF81NDk3NTU4MTYxMjM_55bd86c9-0428-40ac-a256-eca25c7920b6">WI</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF81NDk3NTU4MTYxMjI_79b402eb-ce85-4ef6-897a-ffeed5c5ae72">53233</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMTAy_a1e1fcaa-eacb-4eae-91a6-a407c4197827">414</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMDk1_f59e4261-a1e5-4015-9c60-1db1629d3852">358-6600</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6MzI0NmI1MTEzNzA2NDdmN2IyMzEyODIyMWU1N2QxMmYvdGFibGVyYW5nZTozMjQ2YjUxMTM3MDY0N2Y3YjIzMTI4MjIxZTU3ZDEyZl8xLTAtMS0xLTQ3MjA3_78e06eef-90eb-44d5-b12a-bc6ae82e04a6">Class A Nonvoting Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6MzI0NmI1MTEzNzA2NDdmN2IyMzEyODIyMWU1N2QxMmYvdGFibGVyYW5nZTozMjQ2YjUxMTM3MDY0N2Y3YjIzMTI4MjIxZTU3ZDEyZl8xLTEtMS0xLTQ3MjA3_b43456eb-9bf6-49af-af80-7fefec27db94">BRC</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6MzI0NmI1MTEzNzA2NDdmN2IyMzEyODIyMWU1N2QxMmYvdGFibGVyYW5nZTozMjQ2YjUxMTM3MDY0N2Y3YjIzMTI4MjIxZTU3ZDEyZl8xLTItMS0xLTQ3MjA3_80ce213e-2205-43cb-9127-fce4939539ac">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMDk2_2b934e08-0fe0-499a-bc50-370b821e7079">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMDk3_aa8f9652-c530-4f05-a447-51dba1bd6f27">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6NmVjZjc0MGRhMmM1NDViYWE3YWFjYjJjMzQ4MjdmYzEvdGFibGVyYW5nZTo2ZWNmNzQwZGEyYzU0NWJhYTdhYWNiMmMzNDgyN2ZjMV8wLTAtMS0xLTQ3MjA3_0707705b-b50f-43bd-9d39-c3dc7d9e6584">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6NmVjZjc0MGRhMmM1NDViYWE3YWFjYjJjMzQ4MjdmYzEvdGFibGVyYW5nZTo2ZWNmNzQwZGEyYzU0NWJhYTdhYWNiMmMzNDgyN2ZjMV8wLTgtMS0xLTQ3MjA3_2b877879-2143-4762-92e3-6607ef2ca5ae">false</dei:EntityEmergingGrowthCompany>
    <dei:EntitySmallBusiness
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGFibGU6NmVjZjc0MGRhMmM1NDViYWE3YWFjYjJjMzQ4MjdmYzEvdGFibGVyYW5nZTo2ZWNmNzQwZGEyYzU0NWJhYTdhYWNiMmMzNDgyN2ZjMV8xLTUtMS0xLTQ3MjA3_8523b500-33be-4766-8b38-fbb79fbf68d2">false</dei:EntitySmallBusiness>
    <dei:EntityShellCompany
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8yMDk4_1ce52b64-01f0-47d0-8a12-51d04d744fca">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ia1394927155d4940ad14054c47a8f10f_I20221115"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8xODgy_04e0d33e-682e-4fb6-a648-395ea0c85b87"
      unitRef="shares">46200742</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="id7bcb946b8d34a70a64ff10440e394af_I20221115"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xL2ZyYWc6MWE4NGFmNzE2N2FlNDI4MmIwNjBjMGM0NTEzMTE1NzAvdGV4dHJlZ2lvbjoxYTg0YWY3MTY3YWU0MjgyYjA2MGMwYzQ1MTMxMTU3MF8xOTQy_af4dd920-b7ee-4d24-87bc-0cf30278dd41"
      unitRef="shares">3538628</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNC0xLTEtMS00NzIwNw_13e2bddc-2b7f-4007-ad2a-e03375471a05"
      unitRef="usd">114471000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNC0zLTEtMS00NzIwNw_418d613f-5f94-45c6-981a-6c135f856202"
      unitRef="usd">114069000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNS0wLTEtMS00NzIwNy90ZXh0cmVnaW9uOjYxY2E2NGQ5NWQ4ZjRkMjk4MzRiMzU3MmM0ZDJmZGE1XzYz_764dba6c-b59d-4e09-a928-23e1e2c6f8c5"
      unitRef="usd">6938000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNS0wLTEtMS00NzIwNy90ZXh0cmVnaW9uOjYxY2E2NGQ5NWQ4ZjRkMjk4MzRiMzU3MmM0ZDJmZGE1Xzcw_ebeed2e8-8076-475a-a288-e6afb80279df"
      unitRef="usd">7355000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNS0xLTEtMS00NzIwNw_fe83cf66-2331-45e9-8902-6f1c5f01e151"
      unitRef="usd">180183000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNS0zLTEtMS00NzIwNw_52c65166-75f6-4bd2-afb5-fe43b946f57a"
      unitRef="usd">183233000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNi0xLTEtMS00NzIwNw_a2ed240b-f8cd-4faa-ac87-859178333022"
      unitRef="usd">195695000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNi0zLTEtMS00NzIwNw_24fc2b95-42a4-469b-a757-90373630baed"
      unitRef="usd">190023000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNy0xLTEtMS00NzIwNw_e37c8cf8-47b0-412f-bb0d-1d2ff4c231ad"
      unitRef="usd">12902000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfNy0zLTEtMS00NzIwNw_29efc375-d02b-4820-9014-8d8db9abbef1"
      unitRef="usd">10743000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfOC0xLTEtMS00NzIwNw_6391fd14-c358-4d72-80ba-262860717b85"
      unitRef="usd">503251000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfOC0zLTEtMS00NzIwNw_307ab6a5-2e0d-4f2f-8def-fb122f9a8e48"
      unitRef="usd">498068000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfOS0xLTEtMS00NzIwNw_923eee23-ece6-44a7-9f17-38c9ccd51621"
      unitRef="usd">136320000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfOS0zLTEtMS00NzIwNw_1c63adf3-16d9-41e9-9a86-392122432a49"
      unitRef="usd">139511000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTAtMS0xLTEtNDcyMDc_a4bb6a18-ac4b-4dd3-8af9-b10936fd83aa"
      unitRef="usd">579404000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTAtMy0xLTEtNDcyMDc_ffed66b8-bcff-4108-be9d-9ded44a99621"
      unitRef="usd">586832000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTEtMS0xLTEtNDcyMDc_bdbe2995-7584-4b0c-892a-a1beb264bfa1"
      unitRef="usd">69494000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTEtMy0xLTEtNDcyMDc_35e169c7-dcb4-4b9c-956b-5c9d4bf7eff4"
      unitRef="usd">74028000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTItMS0xLTEtNDcyMDc_d750aec7-2bb1-474e-ba97-ec9b37edb7f6"
      unitRef="usd">15061000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTItMy0xLTEtNDcyMDc_b9573c34-3ba6-40cd-93d1-e59726c1864e"
      unitRef="usd">15881000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTMtMS0xLTEtNDcyMDc_78410c24-4ca7-4a5f-84a8-3da1a98466b5"
      unitRef="usd">27244000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTMtMy0xLTEtNDcyMDc_9fc484be-a6c5-4c92-be1e-045e5099917e"
      unitRef="usd">31293000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTQtMS0xLTEtNDcyMDc_9514b095-62cc-4eb7-a8ec-5647831bb97d"
      unitRef="usd">19855000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTQtMy0xLTEtNDcyMDc_40049087-5d9b-4973-a43d-db88b661d156"
      unitRef="usd">21719000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTUtMS0xLTEtNDcyMDc_5722c1df-24d7-4761-9501-e154c56ae23a"
      unitRef="usd">1350629000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTUtMy0xLTEtNDcyMDc_08387964-b8c2-45db-9343-743b8ec56279"
      unitRef="usd">1367332000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTgtMS0xLTEtNDcyMDc_6a3c5d6c-c216-4a1a-bc45-8c9da144d8a0"
      unitRef="usd">79604000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTgtMy0xLTEtNDcyMDc_2b810ebe-cf53-49f6-acdd-edd5cf577010"
      unitRef="usd">81116000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTktMS0xLTEtNDcyMDc_9178bf26-620d-4fe8-a573-6e1171e40524"
      unitRef="usd">57095000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMTktMy0xLTEtNDcyMDc_bd69944b-a8b3-4b1d-91a7-36cf5a9405b1"
      unitRef="usd">76764000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjAtMS0xLTEtNDcyMDc_daa0347f-9746-4f74-b27a-d87feeecd0a6"
      unitRef="usd">13495000</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjAtMy0xLTEtNDcyMDc_b372cd5b-ccc5-428a-b3d3-ae6814ddd676"
      unitRef="usd">12539000</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjEtMS0xLTEtNDcyMDc_61bab182-1014-4879-befc-89aec1108a1b"
      unitRef="usd">13943000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjEtMy0xLTEtNDcyMDc_d54f03e7-f72a-447f-bd32-ab488056aa99"
      unitRef="usd">8294000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjItMS0xLTEtNDcyMDc_8b2d891f-fea9-48c8-b9c1-48628db7e27a"
      unitRef="usd">14126000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjItMy0xLTEtNDcyMDc_2c0c6cd5-8839-4771-8015-521011d243f8"
      unitRef="usd">15003000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjMtMS0xLTEtNDcyMDc_96a94a32-43a1-4e40-a597-6002ae8fb518"
      unitRef="usd">65350000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjMtMy0xLTEtNDcyMDc_14477fe1-6253-4ae2-9e08-15dc1ad6b27d"
      unitRef="usd">61458000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjQtMS0xLTEtNDcyMDc_f10daaee-db31-44a0-8cdc-f5eb3d1b76d2"
      unitRef="usd">243613000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjQtMy0xLTEtNDcyMDc_fb799ef7-2dcb-40d2-86d8-032976c610cf"
      unitRef="usd">255174000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjUtMS0xLTEtNDcyMDc_9d04518b-de5d-4328-87a6-76c74d49eb32"
      unitRef="usd">99000000</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjUtMy0xLTEtNDcyMDc_612c31d7-e6d4-42e6-aa58-5b89c93ac57a"
      unitRef="usd">95000000</us-gaap:LongTermLineOfCredit>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjYtMS0xLTEtNDcyMDc_2a344909-0d55-46ec-b3f0-b0e358c42634"
      unitRef="usd">15558000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjYtMy0xLTEtNDcyMDc_f1650df3-d12e-4f43-a9a2-56fd438703b8"
      unitRef="usd">19143000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjctMS0xLTEtNDcyMDc_ec3f6d30-9068-42af-aee6-cbda5b63c268"
      unitRef="usd">80733000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjctMy0xLTEtNDcyMDc_8d6b90f5-57ec-42d9-bfe1-3863e0b083a7"
      unitRef="usd">86717000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjgtMS0xLTEtNDcyMDc_5b2c9d8e-ad91-48fc-b086-277fc4e9ab7c"
      unitRef="usd">438904000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMjgtMy0xLTEtNDcyMDc_280cadc7-fb23-42a3-b0ca-b7f834b8af90"
      unitRef="usd">456034000</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesIssued
      contextRef="i090796417271403b9a548e6e772f9890_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzAtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjoxYTMyZmIzMjIxMGI0Yjg4OTRjZTFhODU5NGE1MGRiMF80Mg_d8799205-c6e4-4cf2-a10d-f5a899d20a0e"
      unitRef="shares">51261487</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i090796417271403b9a548e6e772f9890_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzAtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjoxYTMyZmIzMjIxMGI0Yjg4OTRjZTFhODU5NGE1MGRiMF82OQ_96442f16-46e9-45c3-a0ae-2d033fb40e6d"
      unitRef="shares">46176267</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i952e78ad8a624309a4456c3ceada0bb1_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzAtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjoxYTMyZmIzMjIxMGI0Yjg4OTRjZTFhODU5NGE1MGRiMF83Ng_25e0d787-0dc0-4e96-a61c-a552e07111eb"
      unitRef="shares">46370708</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i090796417271403b9a548e6e772f9890_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzAtMS0xLTEtNDcyMDc_484b2d8c-dc5b-4169-9766-723bdd4e1f8c"
      unitRef="usd">513000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i952e78ad8a624309a4456c3ceada0bb1_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzAtMy0xLTEtNDcyMDc_ae36f924-c3ee-4331-b83c-d4b1df159bd6"
      unitRef="usd">513000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i09714429869d4c8885b3886a23321788_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzEtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjpiMWQ1ZmE5YjQ2Y2I0OTRhOWJmZjYyMmY2NTdmMWE4MF81Ng_0be89d81-52ae-401a-9e30-b2b28151a94d"
      unitRef="shares">3538628</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7a8534323462482cbbb3027a452b6b75_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzEtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjpiMWQ1ZmE5YjQ2Y2I0OTRhOWJmZjYyMmY2NTdmMWE4MF81Ng_c596a7af-6ef4-48ae-a486-05241f131b10"
      unitRef="shares">3538628</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i7a8534323462482cbbb3027a452b6b75_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzEtMS0xLTEtNDcyMDc_ff10ea2b-42d0-4121-923c-4dba9b24e4d7"
      unitRef="usd">35000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i09714429869d4c8885b3886a23321788_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzEtMy0xLTEtNDcyMDc_8dfd2aba-b42a-42b9-8257-5b93915ab1f6"
      unitRef="usd">35000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzItMS0xLTEtNDcyMDc_7690907b-086b-4e2e-bd2d-3e870d213888"
      unitRef="usd">346064000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzItMy0xLTEtNDcyMDc_531f74cc-33ef-473e-99af-6d4e03278a4a"
      unitRef="usd">345266000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzMtMS0xLTEtNDcyMDc_774d817b-228f-470e-a571-ec3e9c4702a6"
      unitRef="usd">920482000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzMtMy0xLTEtNDcyMDc_1d62b008-d70b-4f14-88b9-2d9440c9cc6d"
      unitRef="usd">892417000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockShares
      contextRef="i090796417271403b9a548e6e772f9890_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzQtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjphZjJiMTVjYmM5ZDc0M2ExODEwOGJjM2NkYzgzODkyY18xOQ_cc8568e6-61fb-4ca8-beb2-de0dcd7dde55"
      unitRef="shares">5085220</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i952e78ad8a624309a4456c3ceada0bb1_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzQtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjphZjJiMTVjYmM5ZDc0M2ExODEwOGJjM2NkYzgzODkyY18yNg_f3dba228-dab5-490c-b5cc-c6ad9a584754"
      unitRef="shares">4890779</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzQtMS0xLTEtNDcyMDc_39ee3433-db02-488b-9ba0-1af0b133f992"
      unitRef="usd">228855000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzQtMy0xLTEtNDcyMDc_2634a738-3309-4ed8-8373-805420bca23a"
      unitRef="usd">217856000</us-gaap:TreasuryStockValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzUtMS0xLTEtNDcyMDc_75b56194-c93b-469e-8441-d682904e2dba"
      unitRef="usd">-126514000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzUtMy0xLTEtNDcyMDc_c02a2edf-190f-4a6c-b6be-67011902fe67"
      unitRef="usd">-109077000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzYtMS0xLTEtNDcyMDc_3cdb5e4d-d1fa-4ae1-afa1-85eab6364006"
      unitRef="usd">911725000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzYtMy0xLTEtNDcyMDc_672f1b9d-f175-4362-95aa-229d930dc711"
      unitRef="usd">911298000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzctMS0xLTEtNDcyMDc_5e6b1ecb-25ac-4c50-a26a-2e5eb48c9ec8"
      unitRef="usd">1350629000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8xNi9mcmFnOjk1N2I2YjBkYzBiOTRiZjE4ZjQxZmQxZDA3NDQ5MjhlL3RhYmxlOjI3ZGQ1NmE3NjAzNjQ5ODJiMjM5Nzc0OTI1ZWM2Mzg5L3RhYmxlcmFuZ2U6MjdkZDU2YTc2MDM2NDk4MmIyMzk3NzQ5MjVlYzYzODlfMzctMy0xLTEtNDcyMDc_93622cb1-ca28-4257-ba90-c65ecf03445e"
      unitRef="usd">1367332000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMi0xLTEtMS00NzIwNw_0f67ab02-7642-4d18-914e-a2d1a7150c42"
      unitRef="usd">322569000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMi0zLTEtMS00NzIwNw_b12d90ac-9376-4a88-ae3e-f56874dc844d"
      unitRef="usd">321475000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMy0xLTEtMS00NzIwNw_d9cce033-e1eb-4584-9bd7-38659d737cce"
      unitRef="usd">167305000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMy0zLTEtMS00NzIwNw_b084dadc-b3c9-4e8f-a750-39973ac6c1f7"
      unitRef="usd">166487000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfNC0xLTEtMS00NzIwNw_c1bf86c4-9439-4bd9-a957-906de231b32f"
      unitRef="usd">155264000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfNC0zLTEtMS00NzIwNw_c85be4e4-b054-47d5-9355-8ff5e5783489"
      unitRef="usd">154988000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfNi0xLTEtMS00NzIwNw_1e1b314c-7002-48f1-9f2e-b3bb2e12b523"
      unitRef="usd">13933000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfNi0zLTEtMS00NzIwNw_929d09b9-5a54-40b1-b4ed-959b15931422"
      unitRef="usd">13907000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfNy0xLTEtMS00NzIwNw_dbdd8155-f971-4fc4-8c3b-dd0ff18abc87"
      unitRef="usd">89945000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfNy0zLTEtMS00NzIwNw_5e686ee2-fe34-4e19-94aa-57ffc7ab9f05"
      unitRef="usd">96746000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfOC0xLTEtMS00NzIwNw_22220a31-211b-4098-bf27-429ca4687132"
      unitRef="usd">103878000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfOC0zLTEtMS00NzIwNw_8f1e2711-8050-4587-8dd4-5c4097dbc373"
      unitRef="usd">110653000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfOS0xLTEtMS00NzIwNw_72adaeb8-c425-4b77-bb24-372e6f02be55"
      unitRef="usd">51386000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfOS0zLTEtMS00NzIwNw_e3db056b-93b5-44b1-8ff4-423f8399d628"
      unitRef="usd">44335000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTEtMS0xLTEtNDcyMDc_7386d3ce-b6e5-43d9-b726-bf8938180d22"
      unitRef="usd">-157000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTEtMy0xLTEtNDcyMDc_a04669d9-41d9-4fb7-9c5d-cd82bb0b405f"
      unitRef="usd">543000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTItMS0xLTEtNDcyMDc_33ea480f-bf20-4f93-80a7-1059ebea6b81"
      unitRef="usd">894000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTItMy0xLTEtNDcyMDc_d01c599d-6003-49b3-9743-9e487292c744"
      unitRef="usd">182000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTMtMS0xLTEtNDcyMDc_1c72161a-9f9a-4ede-a7b7-587aa45bd00e"
      unitRef="usd">50335000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTMtMy0xLTEtNDcyMDc_c4b347ed-d710-4cc1-9ab2-d54677efbe49"
      unitRef="usd">44696000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTQtMS0xLTEtNDcyMDc_1b17a907-ce77-4489-a093-cc404ef5d528"
      unitRef="usd">10894000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTQtMy0xLTEtNDcyMDc_e8ea8930-3b0d-45c5-823c-46c761cff5f4"
      unitRef="usd">9650000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTctMS0xLTEtNDcyMDc_86861830-be1f-4fb3-a730-d5f086b4a4f2"
      unitRef="usd">39441000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTctMy0xLTEtNDcyMDc_416715d7-72ee-4708-99f5-18355495d5e8"
      unitRef="usd">35046000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib807e183c7c8408fb989143233bf33ec_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTktMS0xLTEtNDcyMDc_b93ada7b-ae33-4b53-bc78-0ef38b60f278"
      unitRef="usdPerShare">0.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i01195395564542469598b2439fc4becb_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMTktMy0xLTEtNDcyMDc_e2f857f6-0863-48ba-81d3-bfeed133e2a6"
      unitRef="usdPerShare">0.67</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib807e183c7c8408fb989143233bf33ec_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjAtMS0xLTEtNDcyMDc_47ebf3f0-833a-4c4f-be41-92d0fec420d4"
      unitRef="usdPerShare">0.79</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i01195395564542469598b2439fc4becb_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjAtMy0xLTEtNDcyMDc_d6ccae91-7a71-451a-a5a5-8c9d703816dc"
      unitRef="usdPerShare">0.67</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjItMS0xLTEtNDcyMDc_6419134d-00c0-4171-b8f5-d487fd264113"
      unitRef="usdPerShare">0.78</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjItMy0xLTEtNDcyMDc_d44026e5-19e9-43d3-8c0f-0a40ffa606ec"
      unitRef="usdPerShare">0.66</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjMtMS0xLTEtNDcyMDc_d1ae710b-3b0d-4c26-9030-e5c71e472f0b"
      unitRef="usdPerShare">0.77</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjMtMy0xLTEtNDcyMDc_dc5c95ae-5aeb-4807-8c42-9302f2dd1803"
      unitRef="usdPerShare">0.65</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjUtMS0xLTEtNDcyMDc_e8b82494-9b9f-41e8-8c9d-78a13d026adb"
      unitRef="shares">49868000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjUtMy0xLTEtNDcyMDc_7cf29852-7a40-4d11-96f2-e9b4c324ee9c"
      unitRef="shares">51973000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjYtMS0xLTEtNDcyMDc_4a750981-60db-4f74-8409-a59348a715c9"
      unitRef="shares">50090000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yMi9mcmFnOmIyYWVhNjg5NWJlYzQ3ZjZiMjg2YWRlYWI0YzA2ZmIxL3RhYmxlOmRiODU3NWJkMmI5MDRlNTBhMzQ5NTg1OTI4NGM2YTc4L3RhYmxlcmFuZ2U6ZGI4NTc1YmQyYjkwNGU1MGEzNDk1ODU5Mjg0YzZhNzhfMjYtMy0xLTEtNDcyMDc_df5effb6-93a9-493e-b03d-73b7ef4a8803"
      unitRef="shares">52436000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMi0xLTEtMS00NzIwNw_86861830-be1f-4fb3-a730-d5f086b4a4f2"
      unitRef="usd">39441000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMi0zLTEtMS00NzIwNw_416715d7-72ee-4708-99f5-18355495d5e8"
      unitRef="usd">35046000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfNC0xLTEtMS00NzIwNw_4ed729d3-c9a6-4870-a518-cf90320a1832"
      unitRef="usd">-17672000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfNC0zLTEtMS00NzIwNw_6b987171-3721-4557-a309-044780da6a54"
      unitRef="usd">-3918000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfNy0xLTEtMS00NzIwNw_44f62bde-7a53-4484-b0e1-057787806c99"
      unitRef="usd">893000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfNy0zLTEtMS00NzIwNw_8c8afb30-3702-40af-a81b-5c8b8b13357c"
      unitRef="usd">-26000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfOC0xLTEtMS00NzIwNw_10cd35be-b4a3-4fc5-befd-c2ad8553cec7"
      unitRef="usd">581000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfOC0zLTEtMS00NzIwNw_2fe429ea-a916-4b30-b8e2-15546303d399"
      unitRef="usd">568000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfOS0xLTEtMS00NzIwNw_28a26a7f-116c-40de-9aa4-3b98a3d41ff2"
      unitRef="usd">312000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfOS0zLTEtMS00NzIwNw_e081191a-f412-46c0-aeca-db514587f6ca"
      unitRef="usd">-594000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTEtMS0xLTEtNDcyMDc_1f6f7b15-c8fe-41d9-a57b-0d577c9f6fed"
      unitRef="usd">143000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTEtMy0xLTEtNDcyMDc_6cb30603-12c3-4ba2-95f3-ed0f9abf8ba0"
      unitRef="usd">107000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTMtMS0xLTEtNDcyMDc_ead75539-32b5-41da-a116-2a3a5e0a2900"
      unitRef="usd">-17503000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTMtMy0xLTEtNDcyMDc_648b7ac1-ad4c-414d-90f1-cabd86c95acc"
      unitRef="usd">-4619000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTQtMS0xLTEtNDcyMDc_a6d6fa94-7a94-4eea-957f-21e1b37cc314"
      unitRef="usd">-66000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTQtMy0xLTEtNDcyMDc_407c071e-1c48-4565-a077-dad0204258ea"
      unitRef="usd">99000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTUtMS0xLTEtNDcyMDc_7a5e139d-10c4-436a-a0ab-cc5987d8542b"
      unitRef="usd">-17437000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTUtMy0xLTEtNDcyMDc_328b4c76-3f5c-4ca7-906e-276a1956c97e"
      unitRef="usd">-4718000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTYtMS0xLTEtNDcyMDc_80d34b15-d6a2-44e4-8cd6-f55cf9fa4892"
      unitRef="usd">22004000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yNS9mcmFnOmNmMzljOGRmYjA4OTQ2MGViMWI5Y2RkY2JjNWYwMWRhL3RhYmxlOmYzZTIzMjNlYzFhZjRhOTE4NDFmOTBjMmYyNTI1YzQyL3RhYmxlcmFuZ2U6ZjNlMjMyM2VjMWFmNGE5MTg0MWY5MGMyZjI1MjVjNDJfMTYtMy0xLTEtNDcyMDc_81684a82-a99e-4f24-9529-ddba931626ff"
      unitRef="usd">30328000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="i7387a7bdc377471c8f5cecbcee692dbf_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMi0yLTEtMS00NzIwNw_d1d5ad99-4deb-4d23-824d-f1da50dc4557"
      unitRef="usd">548000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1fa89aa939bb46b3848c3e00fb0b26f3_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMi00LTEtMS00NzIwNw_41eb29a4-e6b1-4194-bb65-846b5e804954"
      unitRef="usd">345266000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3c0f778647da40f38b8a63e02a0464ff_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMi02LTEtMS00NzIwNw_396912f7-ee8b-4679-893a-3b78e29767c0"
      unitRef="usd">892417000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i660aa4643bce487eb693147dba09bf1b_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMi04LTEtMS00NzIwNw_bc7d9dde-4668-4b92-8854-5bae454bcfbc"
      unitRef="usd">-217856000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib4bf7a12934d4bb38c628db9d464309d_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMi0xMC0xLTEtNDcyMDc_d16d92ca-175e-4eff-81d1-23acbe64b852"
      unitRef="usd">-109077000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMi0xMi0xLTEtNDcyMDc_ad890b38-0201-425e-a17a-7c0c8ddbe03d"
      unitRef="usd">911298000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMy02LTEtMS00NzIwNw_86861830-be1f-4fb3-a730-d5f086b4a4f2"
      unitRef="usd">39441000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMy0xMi0xLTEtNDcyMDc_6829c6d5-f4bd-41ca-be89-290c6479b003"
      unitRef="usd">39441000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i495887610353430d8c38e1fa615afade_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNC0xMC0xLTEtNDcyMDc_798c120a-501e-4939-b0de-1acaba10f54c"
      unitRef="usd">-17437000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNC0xMi0xLTEtNDcyMDc_94a68a48-a2d5-4602-8674-739997ad6007"
      unitRef="usd">-17437000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ie6539677c30d4f6c957c4530af3c2d12_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNS00LTEtMS00NzIwNw_e02033bd-1232-400d-b0cc-4eb89823f2dc"
      unitRef="usd">2226000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ia0275877f4a04893b3391c185ee472d7_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNS04LTEtMS00NzIwNw_2bce2010-55d2-4072-a175-643116497d05"
      unitRef="usd">1071000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNS0xMi0xLTEtNDcyMDc_8f0e7df8-2b42-44fc-8bc4-85aba0abe32b"
      unitRef="usd">1155000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="ie6539677c30d4f6c957c4530af3c2d12_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNi00LTEtMS00NzIwNw_82212560-4710-4f9e-82c4-8eaa855580f1"
      unitRef="usd">66000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNi0xMi0xLTEtNDcyMDc_33917836-5f54-40bd-b3f7-5527d4097230"
      unitRef="usd">66000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie6539677c30d4f6c957c4530af3c2d12_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNy00LTEtMS00NzIwNw_0c25fd70-d8eb-49e8-9880-7bb4d315ade0"
      unitRef="usd">2958000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfNy0xMi0xLTEtNDcyMDc_662fb672-f257-46f1-84ec-b4b550ee894e"
      unitRef="usd">2958000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="ia0275877f4a04893b3391c185ee472d7_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfOC04LTEtMS00NzIwNw_ed5f90a1-ab04-49c6-9d2d-9b7afce1f3ba"
      unitRef="usd">-12070000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfOC0xMi0xLTEtNDcyMDc_c64fc3de-5620-42ee-ae42-cfcfdeea4615"
      unitRef="usd">12070000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i4b98bea9713144bda6438c2c4247ba95_D20220801-20221031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTAtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjpiN2E5YmQyODE4ZTk0NGRkYjkxMjEzMjZjYjgxZWFjYV8xNA_32a0468e-62ad-49ab-9e07-01a838452fbc"
      unitRef="usdPerShare">0.2300</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i6a9d9d9015a74ae4a93117673b596ace_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTAtNi0xLTEtNDcyMDc_f5b0544e-369c-4657-a707-2cad46730f01"
      unitRef="usd">10621000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i4b98bea9713144bda6438c2c4247ba95_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTAtMTItMS0xLTQ3MjA3_efd8cae6-84f9-40cb-aa6f-12c892ea8f3c"
      unitRef="usd">10621000</us-gaap:DividendsCommonStockCash>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTEtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjo3NzkzZjYzZDExMTE0ZTU5OTU4OThmYmMzZjkzYzYzZl8xNA_f3aa8dad-c218-4ca2-bca7-be5585bd06f8"
      unitRef="usdPerShare">0.2134</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i72ff5d60c44342a19b42160c3c76fe29_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTEtNi0xLTEtNDcyMDc_427f163e-cabb-47a7-b78d-c66898304335"
      unitRef="usd">755000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTEtMTItMS0xLTQ3MjA3_4dcb6917-fc3f-4561-ad09-6766f5358bcd"
      unitRef="usd">755000</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockholdersEquity
      contextRef="i99bca1ff433e4c3c852ad9951e619dcb_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTItMi0xLTEtNDcyMDc_91b7b973-dce6-4f2a-b594-474079bc75cf"
      unitRef="usd">548000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia2384b662f1148d3aeff06014bc558fa_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTItNC0xLTEtNDcyMDc_032163e2-82ee-45ff-a212-8efc42bf964b"
      unitRef="usd">346064000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7df6606064604ea393e6a170b7eb4142_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTItNi0xLTEtNDcyMDc_e456a465-4f0b-45b8-adf7-46ee2c328b1f"
      unitRef="usd">920482000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i394d4c3dec4c4912bae856d23da12193_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTItOC0xLTEtNDcyMDc_4f4c0418-85eb-4bf6-8bec-2d0f1a1a0d7c"
      unitRef="usd">-228855000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaf795f1e0b864e6392efdc79b32d32cd_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTItMTAtMS0xLTQ3MjA3_f258c4aa-afc1-48f4-8cc4-84d6a20dfe4d"
      unitRef="usd">-126514000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOmZkYTI5MDJmNTc5YTQ3MWRhNDkzZDg4MTc2ZjVjMjk1L3RhYmxlcmFuZ2U6ZmRhMjkwMmY1NzlhNDcxZGE0OTNkODgxNzZmNWMyOTVfMTItMTItMS0xLTQ3MjA3_24f4fca7-397c-4766-9f70-acde8fd90337"
      unitRef="usd">911725000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i74036189f72b4a4aa40b929aeb04f1ba_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMi0yLTEtMS00NzIwNw_f3c961b9-1db3-4f8d-8f3f-63391ed48306"
      unitRef="usd">548000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id4304660da6d4348a06729f108a0fc64_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMi00LTEtMS00NzIwNw_89eceff8-d568-4066-8e1b-e2037782b826"
      unitRef="usd">339125000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4926ae559a2e4a0ebaa3fdcda8960be5_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMi02LTEtMS00NzIwNw_8cdb76c7-6734-4226-9a1c-2183f78ee8eb"
      unitRef="usd">788369000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8a66a20a9b43455e841e8736d2d0bab8_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMi04LTEtMS00NzIwNw_7b34a383-d9eb-4e3a-a813-0a288e2aa024"
      unitRef="usd">-109061000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2ca313cccc74468cb5ea7b71fafa3714_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMi0xMC0xLTEtNDcyMDc_d387a129-cd4c-497b-b65a-8b148137559a"
      unitRef="usd">-55953000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i42c050a5f19b404a99a36c361545457e_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMi0xMi0xLTEtNDcyMDc_79f696d8-b967-4537-bba4-5553446add88"
      unitRef="usd">963028000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="id26f3694764946aba899463c4971850c_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMy02LTEtMS00NzIwNw_bc564f92-8d68-437f-87ee-68ae1ae5b6b6"
      unitRef="usd">35046000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMy0xMi0xLTEtNDcyMDc_b21ca1c7-7c1f-4fdb-b416-5bdb6726d611"
      unitRef="usd">35046000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ia11fd64fab3846c28b07837117aa461b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNC0xMC0xLTEtNDcyMDc_d9d2664e-cc9c-4529-91b9-20abd70eed73"
      unitRef="usd">-4718000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNC0xMi0xLTEtNDcyMDc_6a9c30a0-0e17-4c3b-8463-b746568f5a33"
      unitRef="usd">-4718000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i413ff0d276564601a915639e83f617ec_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNS00LTEtMS00NzIwNw_42d01b14-a2ad-4171-ad5b-ece557bdb337"
      unitRef="usd">3187000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i017ad7c434bb4943a78cd1e76229c724_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNS04LTEtMS00NzIwNw_17e12afe-08b8-42b1-9aa4-225ef3250eb5"
      unitRef="usd">-1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNS0xMi0xLTEtNDcyMDc_1b188674-981f-43a1-97ed-57c5e9accbfe"
      unitRef="usd">3188000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="i413ff0d276564601a915639e83f617ec_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNi00LTEtMS00NzIwNw_bfc4b434-9a83-4e6b-9930-e1add9c22053"
      unitRef="usd">115000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNi0xMi0xLTEtNDcyMDc_661a58fb-d121-423d-8684-1d35a0143fd4"
      unitRef="usd">115000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i413ff0d276564601a915639e83f617ec_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNy00LTEtMS00NzIwNw_b69ecf9a-b425-43b6-b660-09729cada174"
      unitRef="usd">4129000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfNy0xMi0xLTEtNDcyMDc_427f05a2-edec-4b44-ae20-9146215e1a2d"
      unitRef="usd">4129000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i017ad7c434bb4943a78cd1e76229c724_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfOC04LTEtMS00NzIwNw_6a076bd7-577e-48c9-8210-bd0e237a12f4"
      unitRef="usd">-18924000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfOC0xMi0xLTEtNDcyMDc_e9e22f82-cf34-4cf6-b355-af1dc2f72065"
      unitRef="usd">18924000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ic9cc156fb7534fd8a81ed51401501e0c_D20210801-20211031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTAtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjphNjQ3NWQ2MGU1NjU0ZmMwOTIxOWFjNjgwNGExYWI2Yl8xNA_d8042d7b-9664-4ed6-a1e3-4430f38959da"
      unitRef="usdPerShare">0.2250</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i1efd9bd908d74b858314a22ddb5abf4b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTAtNi0xLTEtNDcyMDc_c3e7457d-96ce-496a-8754-c3d0162a4871"
      unitRef="usd">10858000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="ic9cc156fb7534fd8a81ed51401501e0c_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTAtMTItMS0xLTQ3MjA3_3da4a9c9-efae-4512-883f-96c66e775a8a"
      unitRef="usd">10858000</us-gaap:DividendsCommonStockCash>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTEtMC0xLTEtNDcyMDcvdGV4dHJlZ2lvbjo4ZDc0Nzc2M2FlMWM0YWRhYWRjMjVmZjA2MzdmYWMzNl8xNA_a3d0c2d8-d7a8-434d-b666-47942bac8eb7"
      unitRef="usdPerShare">0.2084</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i8e907b1340844fc1b1bb4ef616ca8bac_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTEtNi0xLTEtNDcyMDc_190b608c-a095-42c7-a12a-1249591eadfe"
      unitRef="usd">737000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTEtMTItMS0xLTQ3MjA3_fa070e72-2f40-4442-963f-09147fcebc35"
      unitRef="usd">737000</us-gaap:DividendsCommonStockCash>
    <us-gaap:StockholdersEquity
      contextRef="i3f7b32414b1744138bc471266294a632_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTItMi0xLTEtNDcyMDc_93ddaf9b-955a-4022-9bad-eda8e9128f70"
      unitRef="usd">548000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if2aa4b0196ef4006bcaad81f006a6e65_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTItNC0xLTEtNDcyMDc_64aead9c-816b-424b-b796-2e855797b261"
      unitRef="usd">340182000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifb42e171e7e04ec685eb2724feb67230_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTItNi0xLTEtNDcyMDc_0d1beef2-4b9d-445f-b300-8b05f045d6be"
      unitRef="usd">811820000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7fa5c3c08ff14667ab9b1a3df7dc1cab_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTItOC0xLTEtNDcyMDc_9f6148f9-03fc-423b-9062-2bce7aa5ca0c"
      unitRef="usd">-127986000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifccb631358aa467dbfbd3d574926f46f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTItMTAtMS0xLTQ3MjA3_28c46b69-9cbb-42d4-b2be-1a527cefc402"
      unitRef="usd">-60671000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i741cdd0b5e794e239cb304de017c5f7c_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8yOC9mcmFnOjUxNjBkZmYyMjI4ZjRhZGRiMTU2YWRhZjRmMmJiOTliL3RhYmxlOjFkMWUxMDJiN2E1MjQ3ZTdhYzg4MDBiZTE4YTNiMTc1L3RhYmxlcmFuZ2U6MWQxZTEwMmI3YTUyNDdlN2FjODgwMGJlMThhM2IxNzVfMTItMTItMS0xLTQ3MjA3_ab742c1d-07a9-4f95-9253-2075ca960b51"
      unitRef="usd">963893000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMy0xLTEtMS00NzIwNw_86861830-be1f-4fb3-a730-d5f086b4a4f2"
      unitRef="usd">39441000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMy0zLTEtMS00NzIwNw_416715d7-72ee-4708-99f5-18355495d5e8"
      unitRef="usd">35046000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfNS0xLTEtMS00NzIwNw_6d1aac8f-59a4-4f22-901a-fbd726b97557"
      unitRef="usd">8665000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfNS0zLTEtMS00NzIwNw_9f6a8358-5454-40bd-bc55-8482bdf979d9"
      unitRef="usd">8509000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfNi0xLTEtMS00NzIwNw_4a2ce9f4-c49d-44a3-98cb-d023ba83e8aa"
      unitRef="usd">2958000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfNi0zLTEtMS00NzIwNw_5c80171c-1a71-4ed1-af0a-f9e49dc0b5eb"
      unitRef="usd">4129000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfNy0xLTEtMS00NzIwNw_cc3962e5-1f9a-4e2b-8297-ffd10cde9dbb"
      unitRef="usd">-1705000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfNy0zLTEtMS00NzIwNw_d8172aac-2efc-4b35-a91b-a1c59afa9a96"
      unitRef="usd">-625000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfOS0xLTEtMS00NzIwNw_8701c5a7-7c79-4e87-be53-87022a03ee2e"
      unitRef="usd">383000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfOS0zLTEtMS00NzIwNw_f3ccc409-d234-478c-91d3-1adfa357221d"
      unitRef="usd">187000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTEtMS0xLTEtNDcyMDc_ca737033-602b-4ede-b4de-f52245ab87f8"
      unitRef="usd">627000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTEtMy0xLTEtNDcyMDc_d71d85ed-5723-46c0-b66a-0b5f7d5c6eee"
      unitRef="usd">13302000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTItMS0xLTEtNDcyMDc_4faea476-9c46-4ed6-8832-0f3740999325"
      unitRef="usd">9582000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTItMy0xLTEtNDcyMDc_bcc81065-c2d6-406e-81b7-e2ac1230b909"
      unitRef="usd">16579000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTMtMS0xLTEtNDcyMDc_ecd1226f-38d7-4b69-88d1-736683c6b264"
      unitRef="usd">2563000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTMtMy0xLTEtNDcyMDc_02be3b49-0a68-4364-bd61-5792919884da"
      unitRef="usd">655000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTQtMS0xLTEtNDcyMDc_a9d7a97b-9b27-40d7-a24c-f1e671910b98"
      unitRef="usd">-14150000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTQtMy0xLTEtNDcyMDc_f019a4d9-26ec-435c-9cad-a8aacd66921d"
      unitRef="usd">9499000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTUtMS0xLTEtNDcyMDc_d4b7bd69-4bb5-49de-b6f4-e48a065c3e5a"
      unitRef="usd">5945000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTUtMy0xLTEtNDcyMDc_239d5768-2512-4872-a514-2db0621eaa8f"
      unitRef="usd">1656000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTYtMS0xLTEtNDcyMDc_f599714b-0579-486e-a9fe-bce88a4d27e3"
      unitRef="usd">27999000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTYtMy0xLTEtNDcyMDc_50699b46-a4b3-427d-b8ca-1265cec92f3d"
      unitRef="usd">27491000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTktMS0xLTEtNDcyMDc_7c7680d8-de58-4144-a0b0-17ef19efd9e3"
      unitRef="usd">3861000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMTktMy0xLTEtNDcyMDc_4c914cd3-be40-4451-bf75-e5a168c74243"
      unitRef="usd">11328000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjAtMS0xLTEtNDcyMDc_024fa62c-0a58-4d63-9a5c-4ce97dd05ccb"
      unitRef="usd">0</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjAtMy0xLTEtNDcyMDc_86e837c6-4c83-4a05-812a-952d0fd3e7d2"
      unitRef="usd">-2000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjEtMS0xLTEtNDcyMDc_513fea08-c394-4d16-9ac5-5766f25d5abb"
      unitRef="usd">-3861000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjEtMy0xLTEtNDcyMDc_3d0d9d90-d83d-4a38-a5a9-b804a99a139f"
      unitRef="usd">-11326000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividends
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjQtMS0xLTEtNDcyMDc_3dcf1d23-d8fa-45f0-9417-42286df34ca6"
      unitRef="usd">11376000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjQtMy0xLTEtNDcyMDc_7bf2582e-3b59-4d77-a324-32b23a73867c"
      unitRef="usd">11595000</us-gaap:PaymentsOfDividends>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjUtMS0xLTEtNDcyMDc_8db79539-f5f3-48f5-8f55-aa3f52b68013"
      unitRef="usd">349000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjUtMy0xLTEtNDcyMDc_0474d690-b36c-4e75-9252-28b1ede75c9b"
      unitRef="usd">151000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjYtMS0xLTEtNDcyMDc_d4937615-9bf4-4006-b388-3b6dc42c7882"
      unitRef="usd">1504000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjYtMy0xLTEtNDcyMDc_51a034f6-7e36-4f41-9f0b-e962f4b45055"
      unitRef="usd">3339000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjctMS0xLTEtNDcyMDc_1ecd8e64-3958-4e6f-91f2-ff0326c792c1"
      unitRef="usd">12070000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjctMy0xLTEtNDcyMDc_0b5dea97-cd57-4a50-82fa-d9905f3b327c"
      unitRef="usd">18924000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjgtMS0xLTEtNDcyMDc_5284a9a8-2572-4924-b885-045c3f21b2a4"
      unitRef="usd">36000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjgtMy0xLTEtNDcyMDc_b2925842-4e42-4048-9bdd-a66ce450ff6b"
      unitRef="usd">56200000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjktMS0xLTEtNDcyMDc_4b9aff74-2d6a-47e1-b8a5-0c109a70dc21"
      unitRef="usd">32000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMjktMy0xLTEtNDcyMDc_e110b5b9-fb42-4d79-bf71-909a8b49a8cb"
      unitRef="usd">27200000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzAtMS0xLTEtNDcyMDc_248af6eb-e500-4797-90e3-578a114d223d"
      unitRef="usd">66000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzAtMy0xLTEtNDcyMDc_bc2271a6-373b-45e4-b2db-816feb26a5ff"
      unitRef="usd">115000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzEtMS0xLTEtNDcyMDc_dd33c8dd-13e0-457c-99fc-9b8521aece2d"
      unitRef="usd">-20535000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzEtMy0xLTEtNDcyMDc_90c6a756-5520-41a0-9c7d-6f7a5d4793cc"
      unitRef="usd">-4592000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzMtMS0xLTEtNDcyMDc_2f45042c-aeeb-4a25-88fe-95a0e4c14bfa"
      unitRef="usd">-3201000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzMtMy0xLTEtNDcyMDc_8c083546-8c5a-425d-b482-ea1f08b45cb1"
      unitRef="usd">-1355000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzUtMS0xLTEtNDcyMDc_fbaf6588-ad64-4faa-ab9f-9045a88435f8"
      unitRef="usd">402000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzUtMy0xLTEtNDcyMDc_08e1e902-4604-4365-af49-7e6606731ae5"
      unitRef="usd">10218000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzYtMS0xLTEtNDcyMDc_58263d50-463e-43a7-bc3c-229c425861f5"
      unitRef="usd">114069000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i42c050a5f19b404a99a36c361545457e_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzYtMy0xLTEtNDcyMDc_f5b01db9-86e5-4ec4-be4e-0d91e456edba"
      unitRef="usd">147335000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzgtMS0xLTEtNDcyMDc_f6dbe84e-4313-4a74-86d9-83bc75db1a7e"
      unitRef="usd">114471000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i741cdd0b5e794e239cb304de017c5f7c_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zMS9mcmFnOmJmMGNkNTJjODUyNTRmNDZhMjNkNGI3MGJjZjRiMmJlL3RhYmxlOjYxNGIwMmRjNTM5ZjQxODViZDgzYWZiMmE3YWRkOGNlL3RhYmxlcmFuZ2U6NjE0YjAyZGM1MzlmNDE4NWJkODNhZmIyYTdhZGQ4Y2VfMzgtMy0xLTEtNDcyMDc_f9324748-fa73-403e-8c1e-94a2ea39cddf"
      unitRef="usd">157553000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl8zNy9mcmFnOjQ1ZDg4YjE1OTBkYzQxMzk5NDQ1YWM1YzU3OWY3YWFkL3RleHRyZWdpb246NDVkODhiMTU5MGRjNDEzOTk0NDVhYzVjNTc5ZjdhYWRfMTc0MA_6e1c2cb0-ff40-4693-a97b-0287c1288b43">Basis of Presentation&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The condensed consolidated financial statements included herein have been prepared by Brady Corporation and subsidiaries (the "Company," "Brady," "we," or "our") without audit, pursuant to the rules and regulations of the Securities and Exchange Commission. In the opinion of the Company, the foregoing statements contain all adjustments, consisting only of normal recurring adjustments necessary to present fairly the financial position of the Company as of October&#160;31, 2022 and July&#160;31, 2022, its results of operations, cash flows and comprehensive income for the three months ended October 31, 2022 and 2021. The condensed consolidated balance sheet as of July&#160;31, 2022, has been derived from the audited consolidated financial statements as of that date. The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts therein. Due to the inherent uncertainty involved in making estimates, actual results in future periods may differ from the estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain information and footnote disclosures normally included in financial statements prepared in accordance with GAAP have been omitted pursuant to rules and regulations of the Securities and Exchange Commission. Accordingly, the condensed consolidated financial statements do not include all of the information and footnotes required by GAAP for complete financial statement presentation. It is suggested that these condensed consolidated financial statements be read in conjunction with the consolidated financial statements and the notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the year ended July&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80MC9mcmFnOjNlZTRjNmRiOGQyMzQ0Y2ZiMDE0OTkwZjM5NzIwMzhkL3RleHRyZWdpb246M2VlNGM2ZGI4ZDIzNDRjZmIwMTQ5OTBmMzk3MjAzOGRfMTc1MA_97629401-a6cd-49cc-8f54-f731caf3c4cb">New Accounting Pronouncements&lt;div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Adopted Standards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2021, the FASB issued ASU No. 2021-08, &#x201c;Business Combinations (Topic 805), Accounting for Contract Assets and Contract Liabilities from Contracts with Customers,&#x201d; which requires contract assets and contract liabilities (e.g. deferred revenue) acquired in a business combination to be recognized and measured by the acquirer on the acquisition date in accordance with ASC 606, &#x201c;Revenue from Contracts with Customers&#x201d; as if the acquirer had originated the contracts. The guidance is applied prospectively to acquisitions occurring on or after the effective date. The Company early adopted ASU No. 2021-08 during the quarter ended October 31, 2022. The adoption of the new standard will only have an impact on the Company's condensed consolidated financial statements in the event of future acquisitions.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RleHRyZWdpb246MTBkZDQ0MDdmN2UyNGJlZDkyNjAwMDU4ODdjOTUzNjJfMjg2_ee4be528-df92-42fe-a28e-6f944e718ce7">Additional Balance Sheet Information&lt;div style="margin-top:9pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories as of October&#160;31, 2022 and July&#160;31, 2022 consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Finished products&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;111,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;112,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Raw materials and supplies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;195,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;190,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Property, plant and equipment&lt;/span&gt;&lt;/div&gt;Property, plant and equipment is presented net of accumulated depreciation in the amount of $273,922 and $272,376 as of October&#160;31, 2022 and July&#160;31, 2022, respectively.</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RleHRyZWdpb246MTBkZDQ0MDdmN2UyNGJlZDkyNjAwMDU4ODdjOTUzNjJfMjg1_598dcb63-e696-464b-8e21-ac1a335c3d0d">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories as of October&#160;31, 2022 and July&#160;31, 2022 consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Finished products&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;111,897&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;112,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Raw materials and supplies&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53,439&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,428&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;195,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;190,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfMS0xLTEtMS00NzIwNw_f6dbe6ea-127f-49a0-8c47-b74d7a9e4805"
      unitRef="usd">111897000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfMS0zLTEtMS00NzIwNw_a6162987-c503-4811-85f7-16abe7f469b4"
      unitRef="usd">112323000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfMi0xLTEtMS00NzIwNw_3c409447-c948-45f6-9061-a17e98d4ef47"
      unitRef="usd">30359000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfMi0zLTEtMS00NzIwNw_7245ece8-2d8e-4ab7-b50c-3870143a7202"
      unitRef="usd">29272000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfMy0xLTEtMS00NzIwNw_7d5d3732-2f8b-4a14-a615-9ff20c56f452"
      unitRef="usd">53439000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfMy0zLTEtMS00NzIwNw_10fa0795-1833-47ca-9f42-fc20281e3ea0"
      unitRef="usd">48428000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfNC0xLTEtMS00NzIwNw_a2ed240b-f8cd-4faa-ac87-859178333022"
      unitRef="usd">195695000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RhYmxlOmI4MGZkYzQ3ZmU4NjQ4MGE5MzBjZDAzZjlhYTJmNmQyL3RhYmxlcmFuZ2U6YjgwZmRjNDdmZTg2NDgwYTkzMGNkMDNmOWFhMmY2ZDJfNC0zLTEtMS00NzIwNw_24fc2b95-42a4-469b-a757-90373630baed"
      unitRef="usd">190023000</us-gaap:InventoryNet>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RleHRyZWdpb246MTBkZDQ0MDdmN2UyNGJlZDkyNjAwMDU4ODdjOTUzNjJfMjQ0_b9a7b861-33da-4633-ba55-1754540cd8f2"
      unitRef="usd">273922000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80My9mcmFnOjEwZGQ0NDA3ZjdlMjRiZWQ5MjYwMDA1ODg3Yzk1MzYyL3RleHRyZWdpb246MTBkZDQ0MDdmN2UyNGJlZDkyNjAwMDU4ODdjOTUzNjJfMjUx_d3ee5706-0e61-46e5-8fac-2fe5dc7fcf85"
      unitRef="usd">272376000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RleHRyZWdpb246OWMxMWE0OGNhMWM1NDJiMDgwNmY0NjA1NmM2Y2NmZGZfMzcz_c5abe693-9f8e-4ef2-ba6b-a832e73999e9">Other Intangible Assets&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other intangible assets as of October&#160;31, 2022 and July&#160;31, 2022 consisted of the following:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.366%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Amortization Period (Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Amortization Period (Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amortized other intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Tradenames&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,165)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,014)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;104,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(51,312)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;53,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;105,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(48,428)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;56,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,686)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,241)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,895&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Unamortized other intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Tradenames&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;124,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(55,163)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;125,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(51,683)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;74,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The change in the gross carrying amount of other intangible assets as of October&#160;31, 2022 compared to July&#160;31, 2022 was due to the effect of currency fluctuations during the three-month period. Amortization expense on intangible assets was $3,631 and $3,807 for the three months ended October 31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RleHRyZWdpb246OWMxMWE0OGNhMWM1NDJiMDgwNmY0NjA1NmM2Y2NmZGZfMzY5_c1f2bf09-aa16-4e21-b20f-20c9aea12f97">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other intangible assets as of October&#160;31, 2022 and July&#160;31, 2022 consisted of the following:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.366%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Amortization Period (Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Amortization Period (Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net Book Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amortized other intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Tradenames&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,165)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;1,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(1,014)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;104,610&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(51,312)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;53,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;105,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(48,428)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;56,976&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,686)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(2,241)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;6,895&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Unamortized other intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Tradenames&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,306&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;9,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;124,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(55,163)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;69,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;125,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;(51,683)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;74,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i143473a44c994707a5236710e2125fcd_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy0xLTEtMS00NzIwNw_105589fa-c60e-4b19-925e-b2c790791815">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8a07b348549d48588107cd33f732d642_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy0zLTEtMS00NzIwNw_b6f40893-ebc4-4af3-8c4e-135fe11e086f"
      unitRef="usd">1728000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8a07b348549d48588107cd33f732d642_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy01LTEtMS00NzIwNw_5e1cf201-1fc7-4824-b2fc-ad791e6db448"
      unitRef="usd">1165000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8a07b348549d48588107cd33f732d642_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy03LTEtMS00NzIwNw_bbbea926-ecdd-4f8d-938f-0b45f3722df0"
      unitRef="usd">563000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i4f54d67485ba47dc97681ee9112ecfd1_D20210801-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy05LTEtMS00NzIwNw_78823e96-5577-40a9-aeda-d40c2ab482f9">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i455396531dbf4c4b8a17159f043fd3a9_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy0xMS0xLTEtNDcyMDc_6a7906b1-922c-474f-ae81-a330360dfe1d"
      unitRef="usd">1749000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i455396531dbf4c4b8a17159f043fd3a9_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy0xMy0xLTEtNDcyMDc_b7f11506-68b1-4835-b954-d7fb9743ff75"
      unitRef="usd">1014000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i455396531dbf4c4b8a17159f043fd3a9_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfMy0xNS0xLTEtNDcyMDc_1db36371-cd1c-4ee1-8692-f0046bb52567"
      unitRef="usd">735000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iba9609a108224224bfa446a2f64202f0_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC0xLTEtMS00NzIwNw_55d80c5b-fb21-4379-be7e-3a6a1250a0cf">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iba53012c236141eca10163f3fc6d3e87_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC0zLTEtMS00NzIwNw_c7c527ab-22da-4913-b905-70961c025630"
      unitRef="usd">104610000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iba53012c236141eca10163f3fc6d3e87_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC01LTEtMS00NzIwNw_c67edac3-7ce4-42f7-8db2-63cdc4e11c97"
      unitRef="usd">51312000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iba53012c236141eca10163f3fc6d3e87_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC03LTEtMS00NzIwNw_d9767eb4-e6ad-46a6-ba9e-a6c8a49a72b9"
      unitRef="usd">53298000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="id127d25cec6e45a08dda7e72b6c00f75_D20210801-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC05LTEtMS00NzIwNw_ab301efd-6398-4688-afdc-c8c3e2374f14">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id34e073d8fbf4a49a7bee47e6b9ff856_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC0xMS0xLTEtNDcyMDc_ffe66562-2abe-473d-92f8-af70a4649f3b"
      unitRef="usd">105404000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id34e073d8fbf4a49a7bee47e6b9ff856_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC0xMy0xLTEtNDcyMDc_44867b90-15a2-4f78-b180-f0d4506c10ae"
      unitRef="usd">48428000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id34e073d8fbf4a49a7bee47e6b9ff856_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNC0xNS0xLTEtNDcyMDc_d41deadc-eecd-4882-a8d2-9524779fa0e9"
      unitRef="usd">56976000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i44b1cb2adf344820ac1a6acd5a014824_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS0xLTEtMS00NzIwNw_01fe8693-9d76-4dcb-8961-841966a572da">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="icf860f0043384dad949e2f140e19ba41_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS0zLTEtMS00NzIwNw_479d427e-a9e1-48bb-a9db-a2b72f934984"
      unitRef="usd">9013000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="icf860f0043384dad949e2f140e19ba41_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS01LTEtMS00NzIwNw_01856106-23b8-4445-8cbf-daa490f8d254"
      unitRef="usd">2686000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="icf860f0043384dad949e2f140e19ba41_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS03LTEtMS00NzIwNw_13fb6b25-017a-4bd5-ac53-53ca7179fe85"
      unitRef="usd">6327000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i95797bbb5c104297b10b791feb8ac3f0_D20210801-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS05LTEtMS00NzIwNw_b7d67e31-67cc-437e-bc7a-53bbaf17bc69">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia60de3bc1a674282a87c136374bc18b6_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS0xMS0xLTEtNDcyMDc_7eb713b1-93db-4704-b285-51f3a8e86538"
      unitRef="usd">9136000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia60de3bc1a674282a87c136374bc18b6_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS0xMy0xLTEtNDcyMDc_a0f2a360-5616-455a-8492-9c63ec4afa2b"
      unitRef="usd">2241000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia60de3bc1a674282a87c136374bc18b6_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNS0xNS0xLTEtNDcyMDc_068754b6-4864-413c-8b93-1e8b7fe14474"
      unitRef="usd">6895000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNy0zLTEtMS00NzIwNw_f7e92809-268e-40ca-aa7e-ac13b7468731"
      unitRef="usd">9306000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNy03LTEtMS00NzIwNw_861b74c6-151c-47b2-9d14-1ad03cb900e5"
      unitRef="usd">9306000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNy0xMS0xLTEtNDcyMDc_51ddaddf-fb27-4b3b-b525-0654ffc792e3"
      unitRef="usd">9422000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfNy0xNS0xLTEtNDcyMDc_fd9a10e2-f74c-4bf9-a7be-3caaf2f0f642"
      unitRef="usd">9422000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfOC0zLTEtMS00NzIwNw_ec4670c3-5e82-476d-9682-4ec92606deb2"
      unitRef="usd">124657000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfOC01LTEtMS00NzIwNw_b64a6c09-f6c2-42bc-80e0-231d5adfe70a"
      unitRef="usd">55163000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfOC03LTEtMS00NzIwNw_15676d5a-ee07-4f4a-a957-3c6d63a0ab7c"
      unitRef="usd">69494000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsGrossExcludingGoodwill
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfOC0xMS0xLTEtNDcyMDc_2d9709a8-8df9-40cc-9504-c510d0e6e25a"
      unitRef="usd">125711000</us-gaap:IntangibleAssetsGrossExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfOC0xMy0xLTEtNDcyMDc_adc0afc4-2fa7-462d-9225-279e1f8a0c54"
      unitRef="usd">51683000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RhYmxlOjUzMTBlYjYyMDVjODQzYzA5NDlhMTljMTAwNjgzYjcyL3RhYmxlcmFuZ2U6NTMxMGViNjIwNWM4NDNjMDk0OWExOWMxMDA2ODNiNzJfOC0xNS0xLTEtNDcyMDc_c0de9f7f-940d-42a8-b60a-bce8b4b6d84b"
      unitRef="usd">74028000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RleHRyZWdpb246OWMxMWE0OGNhMWM1NDJiMDgwNmY0NjA1NmM2Y2NmZGZfMzI2_3be4f834-af1e-46c7-90fa-79bd528efc9e"
      unitRef="usd">3631000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80Ni9mcmFnOjljMTFhNDhjYTFjNTQyYjA4MDZmNDYwNTZjNmNjZmRmL3RleHRyZWdpb246OWMxMWE0OGNhMWM1NDJiMDgwNmY0NjA1NmM2Y2NmZGZfMzM0_a8e8c361-6a92-42de-b89a-e1049947f4b1"
      unitRef="usd">3807000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RleHRyZWdpb246NDM0YjA4MzE4ZjdlNGIyMzljNzEyNDE4YTc5NDlkOTZfMTEyMw_c6c9f970-a3c5-47b9-becf-29bde099f954">Leases&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain manufacturing facilities, warehouse and office spaces, and vehicles accounted for as operating leases. Lease terms typically range from one year to ten years. As of October&#160;31, 2022, the Company did not have any finance leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease expense was $3,780 and $4,765 for the &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;three months ended October 31, 2022 and 2021, respectively, which&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; was recognized in either "Cost of goods sold" or "Selling, general and administrative" expenses in the condensed consolidated statements of income, based on the nature of the lease. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Short-term lease expense, variable lease expenses, and sublease income was immaterial to the condensed consolidated statements of income for the three months ended October 31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to the Company's operating leases for the &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;three months ended October 31, 2022 and 2021&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease assets obtained in exchange for new operating lease liabilities &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1) (2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(868)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Includes new leases and remeasurements or modifications of existing leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended October 31, 2021, the Company purchased two buildings which were previously leased. This resulted in a decrease in operating lease assets obtained in exchange for lease liabilities for the period as the remaining lease assets and liabilities were removed from the condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RleHRyZWdpb246NDM0YjA4MzE4ZjdlNGIyMzljNzEyNDE4YTc5NDlkOTZfMzEx_9c064b82-48b9-440a-b7a0-3f2fa17b1ef7"
      unitRef="usd">3780000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RleHRyZWdpb246NDM0YjA4MzE4ZjdlNGIyMzljNzEyNDE4YTc5NDlkOTZfMzE4_ef3c60ae-d611-4082-9a55-51a3bc3692c0"
      unitRef="usd">4765000</us-gaap:OperatingLeaseCost>
    <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RleHRyZWdpb246NDM0YjA4MzE4ZjdlNGIyMzljNzEyNDE4YTc5NDlkOTZfMTEyNA_676398e6-ad7a-4ec8-a975-0c672bb57fa0">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to the Company's operating leases for the &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;three months ended October 31, 2022 and 2021&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.498%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease assets obtained in exchange for new operating lease liabilities &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1) (2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(868)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RhYmxlOjcwODA0NjMyZWQxZDRmNGU5YmQ1Y2E4MTczYjgxZTM1L3RhYmxlcmFuZ2U6NzA4MDQ2MzJlZDFkNGY0ZTliZDVjYTgxNzNiODFlMzVfMi0xLTEtMS00NzIwNw_423db014-834e-4804-8780-7deceeb54a04"
      unitRef="usd">4202000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RhYmxlOjcwODA0NjMyZWQxZDRmNGU5YmQ1Y2E4MTczYjgxZTM1L3RhYmxlcmFuZ2U6NzA4MDQ2MzJlZDFkNGY0ZTliZDVjYTgxNzNiODFlMzVfMi0zLTEtMS00NzIwNw_0c9335e0-13ee-4d68-8e74-adf189a13095"
      unitRef="usd">4999000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RhYmxlOjcwODA0NjMyZWQxZDRmNGU5YmQ1Y2E4MTczYjgxZTM1L3RhYmxlcmFuZ2U6NzA4MDQ2MzJlZDFkNGY0ZTliZDVjYTgxNzNiODFlMzVfMy0xLTEtMS00NzIwNw_2c9dea7f-87ec-4630-ae3f-3c3abe97cf42"
      unitRef="usd">102000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl80OS9mcmFnOjQzNGIwODMxOGY3ZTRiMjM5YzcxMjQxOGE3OTQ5ZDk2L3RhYmxlOjcwODA0NjMyZWQxZDRmNGU5YmQ1Y2E4MTczYjgxZTM1L3RhYmxlcmFuZ2U6NzA4MDQ2MzJlZDFkNGY0ZTliZDVjYTgxNzNiODFlMzVfMy0zLTEtMS00NzIwNw_e3ba30f3-77bd-485e-b707-a1d5487b60ea"
      unitRef="usd">-868000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RleHRyZWdpb246MzRiNzRjNzgxZjViNDJmZThlMWE1MTE2YTNkNDA0ZWNfMTQ2Ng_61d4b532-116c-430b-a3fd-a8fb14e98003">Accumulated Other Comprehensive Loss&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other comprehensive loss consists of foreign currency translation adjustments, the unrealized gain from cash flow hedges and the unamortized gain on post-retirement plans, net of their related tax effects.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates the changes in the balances of each component of accumulated other comprehensive loss, net of tax, for the three months ended October 31, 2022: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.186%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized gain on cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unamortized gain on post-retirement plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Beginning balance, July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;954&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(111,467)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(109,077)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other comprehensive income (loss) before reclassification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,672)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,859)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amounts reclassified from accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(435)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(143)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(578)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Ending balance, October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(129,139)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(126,514)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The increase in accumulated other comprehensive loss as of October&#160;31, 2022, compared to July&#160;31, 2022, was primarily due to the appreciation of the U.S. dollar against certain other currencies during the three-month period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in accumulated other comprehensive loss by component, net of tax, for the three months ended October 31, 2021, were as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.186%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized gain on cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unamortized gain on post-retirement plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Beginning balance, July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(58,570)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(55,953)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other comprehensive loss before reclassification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(273)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,913)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,186)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amounts reclassified from accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(425)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(107)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(532)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Ending balance, October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(62,483)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(60,671)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The increase in the accumulated other comprehensive loss as of October&#160;31, 2021, compared to July&#160;31, 2021, was primarily due to the appreciation of the U.S. dollar against certain other currencies during the three-month period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Of the amounts reclassified from accumulated other comprehensive loss during the three months ended October 31, 2022 and 2021, unrealized gains on cash flow hedges were reclassified to "Cost of goods sold" and unamortized gains on post-retirement plans was reclassified into "Investment and other (expense) income" on the condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates the income tax benefit (expense) on the components of other comprehensive loss for the three months ended October 31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Income tax benefit (expense) related to items of other comprehensive loss:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(104)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other income tax adjustments and currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Income tax benefit (expense) related to items of other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(99)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RleHRyZWdpb246MzRiNzRjNzgxZjViNDJmZThlMWE1MTE2YTNkNDA0ZWNfMTQ0Ng_8ce4200d-627b-4da3-8a95-b157053790d2">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates the changes in the balances of each component of accumulated other comprehensive loss, net of tax, for the three months ended October 31, 2022: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.186%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized gain on cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unamortized gain on post-retirement plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Beginning balance, July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;954&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(111,467)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(109,077)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other comprehensive income (loss) before reclassification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(17,672)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,859)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amounts reclassified from accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(435)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(143)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(578)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Ending balance, October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(129,139)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(126,514)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="if27d39703b9d48baad9b50d1b3a5381a_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMS0xLTEtMS00NzIwNw_14cfafce-b4c7-4a42-9e87-af229f84de4e"
      unitRef="usd">954000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i75e18108bc414619a447b71f325c0bdd_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMS0zLTEtMS00NzIwNw_fe89f105-38d9-4b1b-bb56-8fbbbd5525e9"
      unitRef="usd">1436000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="iec9365abefbe4f6fad4b7cb45dab1700_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMS01LTEtMS00NzIwNw_e7c524b7-4085-49d4-864d-be6e7ae3df7d"
      unitRef="usd">-111467000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMS03LTEtMS00NzIwNw_c9eade3c-f8a9-4377-9c18-e9bed276442a"
      unitRef="usd">-109077000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i1fc4699238374d82b591b32653b52e19_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMi0xLTEtMS00NzIwNw_7e681306-aafb-4d17-acc8-f651c8b07bda"
      unitRef="usd">813000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="ia0fb9de035ae4319bb0c2c660bedd874_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMi0zLTEtMS00NzIwNw_ca0860b1-7801-43c1-926d-4fb4570f519e"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i5989b2e7fe9648a3ad4d900654159857_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMi01LTEtMS00NzIwNw_b2d84264-9d81-41d7-af98-10886acfa4c7"
      unitRef="usd">-17672000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMi03LTEtMS00NzIwNw_22bd8083-f339-4de5-805e-0c67bcafc55c"
      unitRef="usd">-16859000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i1fc4699238374d82b591b32653b52e19_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMy0xLTEtMS00NzIwNw_fc1b15ae-70c7-4a5c-b4a9-46b0d4f689df"
      unitRef="usd">435000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="ia0fb9de035ae4319bb0c2c660bedd874_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMy0zLTEtMS00NzIwNw_3a4bc95c-bb02-4951-81c3-7ac765666ceb"
      unitRef="usd">143000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i5989b2e7fe9648a3ad4d900654159857_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMy01LTEtMS00NzIwNw_7838bebb-f8de-4961-828c-c1dca63ddc30"
      unitRef="usd">0</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfMy03LTEtMS00NzIwNw_ca76aaf8-0483-4b60-a48b-102bdd99575d"
      unitRef="usd">578000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="id5d65e704cc54e229174e1c01c31d6b8_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfNC0xLTEtMS00NzIwNw_abb9b1cf-662e-4cdb-b703-9d9438b39b2f"
      unitRef="usd">1332000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i278f4508b2ca4018b3484f5d379a4f66_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfNC0zLTEtMS00NzIwNw_6d41cd48-e023-4d7a-897d-c6785fc556cd"
      unitRef="usd">1293000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="iab29995832fb45229285e6fb1e584fe6_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfNC01LTEtMS00NzIwNw_d8167432-7b46-493b-928e-4c2bae06caf2"
      unitRef="usd">-129139000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjY0YzRiMmM1NzM4MTQ2OTk5OTBkNWM4OWJlMjZhMWE4L3RhYmxlcmFuZ2U6NjRjNGIyYzU3MzgxNDY5OTk5MGQ1Yzg5YmUyNmExYThfNC03LTEtMS00NzIwNw_352f3651-b1b5-4e1f-94c7-e08c45e0356e"
      unitRef="usd">-126514000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RleHRyZWdpb246MzRiNzRjNzgxZjViNDJmZThlMWE1MTE2YTNkNDA0ZWNfMTQ2MA_39b1b920-9c42-4026-84c1-5d3abc7c3ae3">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in accumulated other comprehensive loss by component, net of tax, for the three months ended October 31, 2021, were as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.584%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.186%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized gain on cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unamortized gain on post-retirement plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Beginning balance, July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,888&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(58,570)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(55,953)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other comprehensive loss before reclassification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(273)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3,913)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4,186)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amounts reclassified from accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(425)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(107)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(532)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Ending balance, October 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(62,483)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(60,671)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i5ab9789722174a2dafe910b539bc67f1_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMS0xLTEtMS00NzIwNw_9afaa852-8f91-4bfd-b0b6-1b772e15653a"
      unitRef="usd">729000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="if8ac6e4079994b4cb7225f1d589cc75c_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMS0zLTEtMS00NzIwNw_f35808de-bde2-4cbe-9caf-b3ec871340ad"
      unitRef="usd">1888000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i16264885b60d4a559843aab25722501e_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMS01LTEtMS00NzIwNw_64e46a73-664b-4b5c-8c9e-b38e293733c7"
      unitRef="usd">-58570000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i42c050a5f19b404a99a36c361545457e_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMS03LTEtMS00NzIwNw_f0911138-5853-4523-82cd-ef821c37f242"
      unitRef="usd">-55953000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="ib6e08a6525fd496987efde1e973c980c_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMi0xLTEtMS00NzIwNw_05d20fb6-55c0-4234-a7b1-2e0245231fbf"
      unitRef="usd">-273000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i0a9c676974f641a5a2b92df72dda059a_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMi0zLTEtMS00NzIwNw_6780e63d-c3c9-4217-95c1-eca85e61f8ce"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i177aeb753d0844c5ba5652657cb0513f_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMi01LTEtMS00NzIwNw_a6a834df-e38f-4df0-88a5-0bf6e94a03bb"
      unitRef="usd">-3913000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMi03LTEtMS00NzIwNw_89abb9d7-8294-4150-95da-99e36354cea5"
      unitRef="usd">-4186000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="ib6e08a6525fd496987efde1e973c980c_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMy0xLTEtMS00NzIwNw_4ad324af-e2a7-46d2-a01e-b2f7cc9437bc"
      unitRef="usd">425000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i0a9c676974f641a5a2b92df72dda059a_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMy0zLTEtMS00NzIwNw_1afafcd9-4862-4011-ba75-d28668a08a67"
      unitRef="usd">107000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i177aeb753d0844c5ba5652657cb0513f_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMy01LTEtMS00NzIwNw_4b5af30a-dd1c-4b6a-bf1f-ae33daf71a22"
      unitRef="usd">0</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfMy03LTEtMS00NzIwNw_98c6aa1d-fe6c-4ca4-9f2b-ecfa90be5d37"
      unitRef="usd">532000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i160d051a22044b3e8e10baeec686d993_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfNC0xLTEtMS00NzIwNw_23357db5-522b-4a25-ba51-f7ce7104bb50"
      unitRef="usd">31000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="id06bbb5ce899464d99b55157ff15c6d3_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfNC0zLTEtMS00NzIwNw_4800d85f-2581-402d-bcf6-1b89e6dfc9b1"
      unitRef="usd">1781000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i03f91b5ae0ac4cd29f3177c2369bf0ef_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfNC01LTEtMS00NzIwNw_ffb38f79-44ae-49d1-acef-668ea887ce8b"
      unitRef="usd">-62483000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i741cdd0b5e794e239cb304de017c5f7c_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjQ3YjA4NzJkMDc1ZjQwNDU5MDgzOTA0M2JkY2NmZDAyL3RhYmxlcmFuZ2U6NDdiMDg3MmQwNzVmNDA0NTkwODM5MDQzYmRjY2ZkMDJfNC03LTEtMS00NzIwNw_8cc33cba-a64c-4206-b72d-65909cdc8747"
      unitRef="usd">-60671000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <brc:OtherComprehensiveIncomeTaxTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RleHRyZWdpb246MzRiNzRjNzgxZjViNDJmZThlMWE1MTE2YTNkNDA0ZWNfMTQ3MQ_9bbd2700-6e03-4b3f-a2aa-11f3e69bcae3">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table illustrates the income tax benefit (expense) on the components of other comprehensive loss for the three months ended October 31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Income tax benefit (expense) related to items of other comprehensive loss:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(104)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other income tax adjustments and currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Income tax benefit (expense) related to items of other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(99)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</brc:OtherComprehensiveIncomeTaxTableTextBlock>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjM0Njc1Mzk4YjJiMzQ1YjViOTkzYTFhNWQ2ZTUyNWEwL3RhYmxlcmFuZ2U6MzQ2NzUzOThiMmIzNDViNWI5OTNhMWE1ZDZlNTI1YTBfMy0xLTEtMS00NzIwNw_ed3a7bc7-ea70-4bfe-b2ff-648e63889561"
      unitRef="usd">-66000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjM0Njc1Mzk4YjJiMzQ1YjViOTkzYTFhNWQ2ZTUyNWEwL3RhYmxlcmFuZ2U6MzQ2NzUzOThiMmIzNDViNWI5OTNhMWE1ZDZlNTI1YTBfMy0zLTEtMS00NzIwNw_5642f679-72b3-417d-ae57-3fe6f25d14da"
      unitRef="usd">104000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjM0Njc1Mzk4YjJiMzQ1YjViOTkzYTFhNWQ2ZTUyNWEwL3RhYmxlcmFuZ2U6MzQ2NzUzOThiMmIzNDViNWI5OTNhMWE1ZDZlNTI1YTBfNS0xLTEtMS00NzIwNw_37ee89e3-2660-4b44-b0c1-db07ffd91eca"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjM0Njc1Mzk4YjJiMzQ1YjViOTkzYTFhNWQ2ZTUyNWEwL3RhYmxlcmFuZ2U6MzQ2NzUzOThiMmIzNDViNWI5OTNhMWE1ZDZlNTI1YTBfNS0zLTEtMS00NzIwNw_f1c35da9-5ade-444d-b592-f35361e18afd"
      unitRef="usd">-5000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjM0Njc1Mzk4YjJiMzQ1YjViOTkzYTFhNWQ2ZTUyNWEwL3RhYmxlcmFuZ2U6MzQ2NzUzOThiMmIzNDViNWI5OTNhMWE1ZDZlNTI1YTBfNi0xLTEtMS00NzIwNw_9ac96a23-e2f9-46fe-b3d7-21ffa7e23f45"
      unitRef="usd">-66000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81NS9mcmFnOjM0Yjc0Yzc4MWY1YjQyZmU4ZTFhNTExNmEzZDQwNGVjL3RhYmxlOjM0Njc1Mzk4YjJiMzQ1YjViOTkzYTFhNWQ2ZTUyNWEwL3RhYmxlcmFuZ2U6MzQ2NzUzOThiMmIzNDViNWI5OTNhMWE1ZDZlNTI1YTBfNi0zLTEtMS00NzIwNw_47d11335-0d44-4082-8fc6-d92f9cc1c664"
      unitRef="usd">99000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81OC9mcmFnOjc5N2RiNTFmZGMxNzQ3YmFhMTI1MDRlM2M3NTQzM2VhL3RleHRyZWdpb246Nzk3ZGI1MWZkYzE3NDdiYWExMjUwNGUzYzc1NDMzZWFfMTYzNg_4290cb08-2332-40bd-ae5e-762034933b4d">Revenue Recognition&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenue when control of the product or service transfers to the customer at an amount that represents the consideration expected to be received in exchange for those products and services. The Company&#x2019;s revenues are primarily from the sale of identification solutions and workplace safety products that are shipped and billed to customers. All revenue is from contracts with customers and is included in &#x201c;Net sales&#x201d; on the condensed consolidated statements of income. See Note H, &#x201c;Segment Information,&#x201d; for the Company&#x2019;s disaggregated revenue disclosure. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company offers extended warranty coverage that is included in the sales price of certain products, which it accounts for as service warranties. The Company accounts for the deferred revenue associated with extended service warranties as a &lt;/span&gt;&lt;/div&gt;contract liability. The balance of contract liabilities associated with service warranty performance obligations was $2,727 and $2,675 as of October&#160;31, 2022 and July&#160;31, 2022, respectively. The current portion and non-current portion of contract liabilities are included in &#x201c;Other current liabilities&#x201d; and &#x201c;Other liabilities," respectively, on the condensed consolidated balance sheets. The Company recognized revenue of $306 and $289 during the three months ended October 31, 2022 and 2021, respectively, that was included in the contract liability balance at the beginning of the respective period from the amortization of extended service warranties. Of the contract liability balance outstanding at October&#160;31, 2022, the Company expects to recognize 32% by the end of fiscal 2023, an additional 31% by the end of fiscal 2024, and the remaining balance thereafter.</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81OC9mcmFnOjc5N2RiNTFmZGMxNzQ3YmFhMTI1MDRlM2M3NTQzM2VhL3RleHRyZWdpb246Nzk3ZGI1MWZkYzE3NDdiYWExMjUwNGUzYzc1NDMzZWFfOTcz_93fc0516-47d8-484b-bc5a-ec26352fb6fb"
      unitRef="usd">2727000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81OC9mcmFnOjc5N2RiNTFmZGMxNzQ3YmFhMTI1MDRlM2M3NTQzM2VhL3RleHRyZWdpb246Nzk3ZGI1MWZkYzE3NDdiYWExMjUwNGUzYzc1NDMzZWFfOTgw_118f672b-2127-42a3-99b2-dbdab7b7327d"
      unitRef="usd">2675000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81OC9mcmFnOjc5N2RiNTFmZGMxNzQ3YmFhMTI1MDRlM2M3NTQzM2VhL3RleHRyZWdpb246Nzk3ZGI1MWZkYzE3NDdiYWExMjUwNGUzYzc1NDMzZWFfMTI0NQ_85144ec6-59ac-49c8-99b6-aab4a2694726"
      unitRef="usd">306000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81OC9mcmFnOjc5N2RiNTFmZGMxNzQ3YmFhMTI1MDRlM2M3NTQzM2VhL3RleHRyZWdpb246Nzk3ZGI1MWZkYzE3NDdiYWExMjUwNGUzYzc1NDMzZWFfMTI1Mg_5d4cb062-a4d4-4ca7-b31b-2232ef12de98"
      unitRef="usd">289000</us-gaap:DeferredRevenueRevenueRecognized1>
    <brc:RemainingPerformanceObligationsExpectedAsRevenueDuringTheRemainderOfTheCurrentFiscalYear
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81OC9mcmFnOjc5N2RiNTFmZGMxNzQ3YmFhMTI1MDRlM2M3NTQzM2VhL3RleHRyZWdpb246Nzk3ZGI1MWZkYzE3NDdiYWExMjUwNGUzYzc1NDMzZWFfMTUyNQ_79b98a76-e2f2-47d7-87f9-b8f8bcde8083"
      unitRef="rate">0.32</brc:RemainingPerformanceObligationsExpectedAsRevenueDuringTheRemainderOfTheCurrentFiscalYear>
    <brc:RemainingPerformanceObligationsExpectedAsRevenueOverTheNextFullFiscalYear
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81OC9mcmFnOjc5N2RiNTFmZGMxNzQ3YmFhMTI1MDRlM2M3NTQzM2VhL3RleHRyZWdpb246Nzk3ZGI1MWZkYzE3NDdiYWExMjUwNGUzYzc1NDMzZWFfMTU2Nw_cd5f1b01-9d2a-4183-a80e-e27653ae6128"
      unitRef="rate">0.31</brc:RemainingPerformanceObligationsExpectedAsRevenueOverTheNextFullFiscalYear>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RleHRyZWdpb246NjljNDk0NWJmMDczNGVhMWFlNTFjMzhiZjljYWJiZTlfODQx_a3b41ea8-6b3d-42ef-b23e-59182dba6274">Segment Information&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is organized and managed on a global basis within three operating segments, Identification Solutions ("IDS"), Workplace Safety ("WPS"), and People Identification ("PDC"), which aggregate into two reportable segments that are organized around businesses with consistent products and services: IDS and WPS. The IDS and PDC operating segments aggregate into the IDS reporting segment, while the WPS reporting segment is comprised solely of the Workplace Safety operating segment. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of net sales by segment and geographic region for the three months ended October 31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;IDS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Americas&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;173,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;164,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;56,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;56,889&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;256,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;248,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;WPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Americas&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Australia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Company&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Americas&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;192,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;186,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;90,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;94,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Asia-Pacific&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;322,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;321,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of segment profit for the three months ended October 31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Segment profit:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;IDS&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;WPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Company&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a reconciliation of segment profit to income before income taxes for the three months ended October 31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total profit from reportable segments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unallocated amounts:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Administrative costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,517)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,774)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Investment and other (expense) income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(157)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(182)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RleHRyZWdpb246NjljNDk0NWJmMDczNGVhMWFlNTFjMzhiZjljYWJiZTlfODQ0_d9fa2a1e-f098-4e0c-87e5-371ca90627f9">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of net sales by segment and geographic region for the three months ended October 31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;IDS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Americas&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;173,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;164,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;56,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;56,889&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,364&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;256,356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;248,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;WPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Americas&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;33,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Australia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72,858&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Company&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Americas&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;192,131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;186,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Europe&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;90,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;94,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%"&gt;Asia-Pacific&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;322,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;321,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ebb0699f9a045e6a68c7fbea27f0912_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNC0xLTEtMS00NzIwNw_9f751cc8-31b8-41b5-a75b-2104411de4b3"
      unitRef="usd">173349000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibd8bb824fcaa482bab5f3b053a116e78_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNC0zLTEtMS00NzIwNw_a9179428-8220-4272-a21f-2de3aa42aeaf"
      unitRef="usd">164910000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i141f66725bb749bd8da3c6fbaa2b406f_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNS0xLTEtMS00NzIwNw_088e2057-8c2f-4eef-aa36-c9aee8c9b597"
      unitRef="usd">56643000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8f25921271a748eea4761bbdad78aafe_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNS0zLTEtMS00NzIwNw_06738910-164c-4ea7-a45a-bff26a952883"
      unitRef="usd">56889000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i133472c2581f4dc9a31001a5ddd8e8e9_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNi0xLTEtMS00NzIwNw_7a5c0aa6-4017-4dbb-96e0-cb7f1feacbc3"
      unitRef="usd">26364000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if1fe90fbbc7f4f30a8a1658f04bc3ecd_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNi0zLTEtMS00NzIwNw_6ab12208-887c-4d42-a142-057102d5cf3b"
      unitRef="usd">26818000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i298daf16b740422fa16227828dbdc763_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNy0xLTEtMS00NzIwNw_5c055012-ec88-479e-a038-94e8f77a381c"
      unitRef="usd">256356000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4b5a0911913c4180a850e1bbcba3c79d_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfNy0zLTEtMS00NzIwNw_559c7ab1-9522-4a84-b3dd-3cfb25c79ff8"
      unitRef="usd">248617000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i675767fe8f904188a494782fefc4c5c2_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfOS0xLTEtMS00NzIwNw_8e02f88b-7f80-4235-91c3-f68e5e9d9c58"
      unitRef="usd">18782000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2d156afc1dfe412ab9e0e77dadc94d09_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfOS0zLTEtMS00NzIwNw_cf23b79a-e65e-443a-b735-42968e5d0772"
      unitRef="usd">21142000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i01f3ab23c25b4ac2b768e83d3656babe_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTAtMS0xLTEtNDcyMDc_2df6e0ad-f5ec-439e-8912-65fea8fb4085"
      unitRef="usd">33549000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic5b019f12c2b427396c9631c02709201_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTAtMy0xLTEtNDcyMDc_c1aaa1eb-3abc-45fc-8293-b6fd2b979c0d"
      unitRef="usd">38022000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2ae7d2de348d4a28a5f9a54c386b0563_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTEtMS0xLTEtNDcyMDc_3063f239-5144-485f-a19f-889ed73ea8c6"
      unitRef="usd">13882000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifec66e9a27ca4e88a14e644c18fb6345_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTEtMy0xLTEtNDcyMDc_50519aa9-48b8-47f3-a8f3-6a8b1bb44117"
      unitRef="usd">13694000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1da7d1ee2f33426caba313f7bdfe4459_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTItMS0xLTEtNDcyMDc_569cea8c-0b1c-4a4d-8cbf-ac0719dd59ef"
      unitRef="usd">66213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i40f2d5237a5644408b8c77a49a3a042c_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTItMy0xLTEtNDcyMDc_67e2da71-1183-4164-9700-6552f9a65029"
      unitRef="usd">72858000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i511cd4595935485e846e98b3371d97a1_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTQtMS0xLTEtNDcyMDc_8d15fb3a-5762-479b-9c65-3096375f2801"
      unitRef="usd">192131000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i78ea378e2f0e411eb2dfde9a4e44af3a_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTQtMy0xLTEtNDcyMDc_42761141-a94a-4be3-9da1-a843a7676695"
      unitRef="usd">186052000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1edb57f6cf3340f196990248617f0cfd_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTUtMS0xLTEtNDcyMDc_a3730707-2923-4ee3-9dee-626a2c61115d"
      unitRef="usd">90192000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7e42a39bf6064b94a234434a6c526ac3_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTUtMy0xLTEtNDcyMDc_7dd8d2eb-6ccc-46d4-850b-ac5353bc5084"
      unitRef="usd">94911000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if5fe95f456514b61bd139c202c5226ef_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTYtMS0xLTEtNDcyMDc_87162a17-f853-4c79-907d-8e6e9f47124e"
      unitRef="usd">40246000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iedf3ab18e7324cc2941734676516f92c_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTYtMy0xLTEtNDcyMDc_b5e5dc1b-afa5-499b-836c-790315f39cff"
      unitRef="usd">40512000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTctMS0xLTEtNDcyMDc_d8558e80-f637-44f4-9988-fe0158acacff"
      unitRef="usd">322569000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjNjMzI4MjI1MDdkNDQ5YzFhM2JhOTQ5MGI5NzkzOWY2L3RhYmxlcmFuZ2U6M2MzMjgyMjUwN2Q0NDljMWEzYmE5NDkwYjk3OTM5ZjZfMTctMy0xLTEtNDcyMDc_ac0c9e9a-d262-4246-a484-831d03d123b2"
      unitRef="usd">321475000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RleHRyZWdpb246NjljNDk0NWJmMDczNGVhMWFlNTFjMzhiZjljYWJiZTlfODI5_78044a33-5385-4505-8b72-e5738afdd667">The following is a summary of segment profit for the three months ended October 31, 2022 and 2021:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Segment profit:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;IDS&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;48,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;WPS&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total Company&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <brc:ProfitForReportableSegments
      contextRef="i298daf16b740422fa16227828dbdc763_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOmE4NzYxNWNhZjliYzRmZmJiZmRjOWRlZDE4YzI1ZGM2L3RhYmxlcmFuZ2U6YTg3NjE1Y2FmOWJjNGZmYmJmZGM5ZGVkMThjMjVkYzZfMy0xLTEtMS00NzIwNw_6e9a86a9-7b4b-483e-82c0-26037cc3f38e"
      unitRef="usd">51525000</brc:ProfitForReportableSegments>
    <brc:ProfitForReportableSegments
      contextRef="i4b5a0911913c4180a850e1bbcba3c79d_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOmE4NzYxNWNhZjliYzRmZmJiZmRjOWRlZDE4YzI1ZGM2L3RhYmxlcmFuZ2U6YTg3NjE1Y2FmOWJjNGZmYmJmZGM5ZGVkMThjMjVkYzZfMy0zLTEtMS00NzIwNw_84a85a3a-31da-4e6c-a247-37146c538962"
      unitRef="usd">48816000</brc:ProfitForReportableSegments>
    <brc:ProfitForReportableSegments
      contextRef="i1da7d1ee2f33426caba313f7bdfe4459_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOmE4NzYxNWNhZjliYzRmZmJiZmRjOWRlZDE4YzI1ZGM2L3RhYmxlcmFuZ2U6YTg3NjE1Y2FmOWJjNGZmYmJmZGM5ZGVkMThjMjVkYzZfNC0xLTEtMS00NzIwNw_a29f0603-301a-42eb-aa49-3abf513376c5"
      unitRef="usd">6378000</brc:ProfitForReportableSegments>
    <brc:ProfitForReportableSegments
      contextRef="i40f2d5237a5644408b8c77a49a3a042c_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOmE4NzYxNWNhZjliYzRmZmJiZmRjOWRlZDE4YzI1ZGM2L3RhYmxlcmFuZ2U6YTg3NjE1Y2FmOWJjNGZmYmJmZGM5ZGVkMThjMjVkYzZfNC0zLTEtMS00NzIwNw_be6b1622-9820-45c2-a86b-4496605d3ce9"
      unitRef="usd">2293000</brc:ProfitForReportableSegments>
    <brc:ProfitForReportableSegments
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOmE4NzYxNWNhZjliYzRmZmJiZmRjOWRlZDE4YzI1ZGM2L3RhYmxlcmFuZ2U6YTg3NjE1Y2FmOWJjNGZmYmJmZGM5ZGVkMThjMjVkYzZfNS0xLTEtMS00NzIwNw_8192a4b3-a205-4249-88a2-347bb313a83d"
      unitRef="usd">57903000</brc:ProfitForReportableSegments>
    <brc:ProfitForReportableSegments
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOmE4NzYxNWNhZjliYzRmZmJiZmRjOWRlZDE4YzI1ZGM2L3RhYmxlcmFuZ2U6YTg3NjE1Y2FmOWJjNGZmYmJmZGM5ZGVkMThjMjVkYzZfNS0zLTEtMS00NzIwNw_d378dae0-0926-41b1-a914-eaf30a9ed60a"
      unitRef="usd">51109000</brc:ProfitForReportableSegments>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RleHRyZWdpb246NjljNDk0NWJmMDczNGVhMWFlNTFjMzhiZjljYWJiZTlfODQ3_d80e78e8-45cf-4fe4-8d30-e9b10ba66709">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a reconciliation of segment profit to income before income taxes for the three months ended October 31, 2022 and 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total profit from reportable segments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;57,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Unallocated amounts:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Administrative costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,517)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(6,774)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Investment and other (expense) income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(157)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(182)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <brc:ProfitForReportableSegments
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfMi0xLTEtMS00NzIwNw_8192a4b3-a205-4249-88a2-347bb313a83d"
      unitRef="usd">57903000</brc:ProfitForReportableSegments>
    <brc:ProfitForReportableSegments
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfMi0zLTEtMS00NzIwNw_d378dae0-0926-41b1-a914-eaf30a9ed60a"
      unitRef="usd">51109000</brc:ProfitForReportableSegments>
    <brc:AdministrativeCosts
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNC0xLTEtMS00NzIwNw_5a9feddc-ea50-4d84-a21e-54ca4ab09956"
      unitRef="usd">6517000</brc:AdministrativeCosts>
    <brc:AdministrativeCosts
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNC0zLTEtMS00NzIwNw_824cf126-fc54-4701-ab10-757bbbc08f99"
      unitRef="usd">6774000</brc:AdministrativeCosts>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNS0xLTEtMS00NzIwNw_9b6a4899-6ca8-40b8-8106-414a790ca6df"
      unitRef="usd">-157000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNS0zLTEtMS00NzIwNw_6a7fe29d-624c-422b-ba03-a5c9e99b3a58"
      unitRef="usd">543000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNi0xLTEtMS00NzIwNw_425ad8c1-bc86-48de-be45-6e41a62b30f2"
      unitRef="usd">894000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNi0zLTEtMS00NzIwNw_7c8263f2-f01a-47a8-80b1-c3afe8ac747f"
      unitRef="usd">182000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNy0xLTEtMS00NzIwNw_d9e0d068-776c-46ad-9caf-2b06ee026db6"
      unitRef="usd">50335000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82MS9mcmFnOjY5YzQ5NDViZjA3MzRlYTFhZTUxYzM4YmY5Y2FiYmU5L3RhYmxlOjgyYjBmMjM3OTE4ZTQyNDc4ZWI3MGQwM2VjZDFmMjg5L3RhYmxlcmFuZ2U6ODJiMGYyMzc5MThlNDI0NzhlYjcwZDAzZWNkMWYyODlfNy0zLTEtMS00NzIwNw_47a743ff-1b04-4f35-b5cd-27d8567ecb31"
      unitRef="usd">44696000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNDA1Mg_1324e5c9-3840-456a-916e-17bb859e99a6">Stock-Based Compensation&lt;div style="margin-top:9pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Incentive Stock Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has an incentive stock plan under which the Board of Directors may grant nonqualified stock options to purchase shares of Class&#160;A Nonvoting Common Stock, restricted stock units ("RSUs"), performance-based restricted stock units ("PRSUs"), or restricted and unrestricted shares of Class&#160;A Nonvoting Common Stock to employees and non-employee directors. Certain awards may be subject to pre-established performance goals. The majority of the Company&#x2019;s annual share-based awards are granted in the first quarter of the fiscal year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total stock-based compensation expense recognized during the three months ended October 31, 2022 and 2021 was $2,958 and $4,129, respectively. The total income tax benefit recognized in the condensed consolidated statements of income was $192 and $199 during the three months ended October 31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The stock options issued under the plan have an exercise price equal to the market price of the Company's stock at the date of the grant and generally vest ratably over three years, with one-third becoming exercisable one year after the grant date and one-third additional in each of the succeeding two years. Options issued under the plan, referred to herein as &#x201c;time-based&#x201d; options, generally expire ten years from the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has estimated the fair value of its time-based option awards granted during the three months ended October 31, 2022 and 2021, using the Black-Scholes option valuation model. The weighted-average assumptions used in the Black-Scholes valuation model are reflected in the following table:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.008%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Black-Scholes Option Valuation Assumptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of stock option activity for the three months ended October&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.285%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.579%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Time-Based Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Options Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Outstanding at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,591,525&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41.57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;147,629&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;43.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(22,494)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(10,247)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,706,413&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Exercisable at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,270,763&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average grant date fair value of options granted during the three months ended October 31, 2022 and 2021 was $12.06 and $11.29, respectively. The total intrinsic value of stock options exercised during the three months ended October 31, 2022 and 2021 was $364 and $319, respectively. The total fair value of stock options vested during the three months ended October 31, 2022 and 2021 was $2,458 and $2,446, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cash received from the exercise of stock options during the three months ended October 31, 2022 and 2021 was $349 and $151, respectively. The tax benefit from the exercise of stock options during the three months ended October 31, 2022 and 2021 was $91 and $80, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022, total unrecognized compensation cost related to stock options was $2,898 pre-tax, net of estimated forfeitures, which the Company expects to recognize over a weighted-average period of 2.1 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;RSUs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;RSUs issued under the plan have a grant date fair value equal to the market price of the Company's stock at the date of grant and generally vest ratably over three years, with one-third vesting one year after the grant date and one-third additional in each of the succeeding two years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of RSU activity for the three months ended October 31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.806%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested RSUs as of July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;173,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44.70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(61,316)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,585)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45.03&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested RSUs as of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;171,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The RSUs granted during the three months ended October 31, 2021 had a weighted-average grant date fair value of $49.85. The total fair value of RSUs vested during three months ended October 31, 2022 and 2021 was $2,608 and $3,380, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022, total unrecognized compensation cost related to RSUs was $5,029 pre-tax, net of estimated forfeitures, which the Company expects to recognize over a weighted-average period of 2.2 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;PRSUs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;PRSUs are contingent on the achievement of predetermined market and performance targets. The PRSUs granted under the plan vest at the end of a &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMzA4MQ_92a2e760-2eac-4ad8-9d99-d0d4545c1d5f"&gt;three&lt;/span&gt;-year performance period provided the specified market and performance targets are met. For the PRSUs granted during the three months ended October 31, 2022 and 2021, the vesting criteria for 50% of the grant is based upon the Company's total shareholder return ("TSR") relative to the S&amp;amp;P 600 SmallCap Industrials Index over a three-year performance period, and the vesting criteria for the other 50% of the grant is based upon Company revenue targets. All other previously granted non-vested PRSUs vest based upon the Company's TSR relative to the S&amp;amp;P 600 SmallCap Industrials Index. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company calculates the fair value of each component of the applicable PRSUs individually. The fair value of the revenue target metric, which is a performance condition, is equal to the average of the high and low stock price on the grant date. The fair value of the TSR metric, which is a market condition, is determined using a Monte Carlo valuation model. The assumptions used in the Monte Carlo valuation model are reflected in the following table:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Monte Carlo Valuation Assumptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of PRSU activity for the three months ended October 31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.660%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested PRSUs as of July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,959)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;75.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,332)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;71.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested PRSUs as of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;87,953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;58.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The PRSUs granted during the three months ended October 31, 2021 had a weighted-average grant date fair value of $61.76. The total fair value of PRSUs vested during three months ended October 31, 2022 and 2021 was $889 and $4,098, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of October&#160;31, 2022, total unrecognized compensation cost related to PRSUs was $2,889 pre-tax, net of estimated forfeitures, which the Company expects to recognize over a weighted-average period of 2.4 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNjcz_c97f5c0a-32f7-4901-b09f-b86db727d54e"
      unitRef="usd">2958000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNjgw_f3a758c0-951e-46a7-b7d4-32f9a96e6fb5"
      unitRef="usd">4129000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNzkz_4b290e74-55c0-4dfe-909d-f7b91b40d1c8"
      unitRef="usd">192000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfODAw_8966e707-e360-4b13-a914-902b7b3939e3"
      unitRef="usd">199000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMTIyNA_8d4a56ca-b483-47d3-b0b3-7df4744e3c2b">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMTQ0OA_38551e18-4d0f-4d7c-9105-fb93aad16d03">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNDA1NA_3059c561-ffc3-493a-b44d-df3ee95bcba2">The weighted-average assumptions used in the Black-Scholes valuation model are reflected in the following table:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.008%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Black-Scholes Option Valuation Assumptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.7&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfMi0yLTEtMS00NzIwNw_3d0cc590-a5bc-4556-b070-ebdc5f14fa36">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfMi00LTEtMS00NzIwNw_693cc4ce-bc22-48b6-9007-3e99cb46c962">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfMy0yLTEtMS00NzIwNw_1569adeb-ae96-40ca-aa0c-8368bcd769f9"
      unitRef="rate">0.296</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfMy00LTEtMS00NzIwNw_acc5d1d1-736f-4cad-bbb7-f388c317b0ce"
      unitRef="rate">0.300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfNC0yLTEtMS00NzIwNw_8e51c90a-0cb4-4122-8d42-251646690f32"
      unitRef="rate">0.020</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfNC00LTEtMS00NzIwNw_da5a6b28-31d8-4063-ad27-55313d061a0b"
      unitRef="rate">0.023</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfNS0yLTEtMS00NzIwNw_4a095cd8-4af1-4d58-8a7e-a61bf38c9cf1"
      unitRef="rate">0.037</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjZkMGY4NmZiNTVhNzQyMGJhNTM3MTIwZDY4YmQ2NjE2L3RhYmxlcmFuZ2U6NmQwZjg2ZmI1NWE3NDIwYmE1MzcxMjBkNjhiZDY2MTZfNS00LTEtMS00NzIwNw_25768482-ac4a-42a6-b6d8-bd9b8ab90d9d"
      unitRef="rate">0.010</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNDA1NQ_b1fc5a05-62b3-4e9e-9606-414a93011fe2">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of stock option activity for the three months ended October&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.285%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.579%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Time-Based Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Options Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Outstanding at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,591,525&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41.57&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;147,629&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;43.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(22,494)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(10,247)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,706,413&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;41.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Exercisable at October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,270,763&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfMS0yLTEtMS00NzIwNw_841dac8b-7439-4cbc-9435-881b2d9353ac"
      unitRef="shares">1591525</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfMS00LTEtMS00NzIwNw_3f307aa1-225a-4525-a0fe-5a89a5d9014f"
      unitRef="usdPerShare">41.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfMi0yLTEtMS00NzIwNw_93272f91-0de4-4c61-a1e2-d56966854a2c"
      unitRef="shares">147629</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfMi00LTEtMS00NzIwNw_0a8ef48b-4d8c-435c-a44b-49be73587577"
      unitRef="usdPerShare">43.50</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfMy0yLTEtMS00NzIwNw_c1506de4-6445-47dc-8b84-96176daba82f"
      unitRef="shares">22494</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfMy00LTEtMS00NzIwNw_25116f43-6523-4b06-974a-3d7e41fde1a6"
      unitRef="usdPerShare">30.48</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNC0yLTEtMS00NzIwNw_2b6f9c97-143a-45d0-9970-02b5b3323c8e"
      unitRef="shares">10247</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNC00LTEtMS00NzIwNw_2b793372-574a-4749-8700-f3a4bab413f4"
      unitRef="usdPerShare">45.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNS0yLTEtMS00NzIwNw_d21e06f9-5dc3-48e5-822f-88a3650e4148"
      unitRef="shares">1706413</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNS00LTEtMS00NzIwNw_94322d3c-7fb7-474f-80d0-f9419d3265cb"
      unitRef="usdPerShare">41.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNS02LTEtMS00NzIwNw_135a752e-02ae-440c-9e87-17dbb7f92abc">P6Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNS04LTEtMS00NzIwNw_4aae6ca5-1406-4ede-b4d6-c03c4c8d2f3d"
      unitRef="usd">9729000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNi0yLTEtMS00NzIwNw_a052d726-6779-4684-8e44-b69309e964f0"
      unitRef="shares">1270763</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNi00LTEtMS00NzIwNw_c0171238-cb10-4527-89bd-6175f598a3fc"
      unitRef="usdPerShare">40.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNi02LTEtMS00NzIwNw_6946bb18-ee44-4e71-82f4-0eb6edd1d066">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOmQwYWVjZmY1NTE1YjRiNzlhNTZiYTM1ZDU5NjdiMjU3L3RhYmxlcmFuZ2U6ZDBhZWNmZjU1MTViNGI3OWE1NmJhMzVkNTk2N2IyNTdfNi04LTEtMS00NzIwNw_f9fdd895-6888-4c20-a877-d3b93f8ad6f9"
      unitRef="usd">8851000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjAwOA_0e46e5f9-7e07-4438-bc53-68a0ef097193"
      unitRef="usdPerShare">12.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjAxNQ_d093c455-84bc-4b86-9a87-60fd6bbc33b3"
      unitRef="usdPerShare">11.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjE5MQ_c264a0b2-f267-4fc5-ba2d-a12af615a37c"
      unitRef="usd">364000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjE5OA_f13b69be-812c-4bc2-9509-63d895e62a8b"
      unitRef="usd">319000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE4NTE2_f469037f-916a-4428-affc-58dcd8765d78"
      unitRef="usd">2458000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE4NTI0_7fd7151f-84f5-46c8-8096-e16c1fdfb384"
      unitRef="usd">2446000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjI5NQ_e9a77975-48bb-4189-9ecd-c25d8644bcf8"
      unitRef="usd">349000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjMwMw_58b5ac67-7398-4dce-9652-5bffb7a47d3c"
      unitRef="usd">151000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjM5Nw_67658e0e-0445-49e8-ab3a-9829a367f8ff"
      unitRef="usd">91000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="i9f9253381a694960aa95105ad74d6a3e_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjQwNA_112db70d-7719-4f01-81b0-6e1f92b4a13a"
      unitRef="usd">80000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i45e3732a8f444bd7adfc888048ecfff7_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE4ODc1_45a68d6a-ff66-4151-aba4-b6a8f7b55971"
      unitRef="usd">2898000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ia16ded89089a460cae964da589923cde_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE4OTkx_d1edb42d-61b6-4e37-8d37-aebb368cd19b">P2Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjU5MQ_914a8de8-0f71-494d-bf69-78a855358c79">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNDA1Ng_c7025262-769e-4d44-baa1-44b5d22da41f">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of RSU activity for the three months ended October 31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.806%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested RSUs as of July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;173,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44.70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(61,316)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;47.50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,585)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45.03&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested RSUs as of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;171,526&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ica2b190425a14bce9dd070112e76aa2b_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfMS0yLTEtMS00NzIwNw_318ce8fa-ea64-411c-8f3a-da425dfa0f3f"
      unitRef="shares">173230</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ica2b190425a14bce9dd070112e76aa2b_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfMS00LTEtMS00NzIwNw_c5ab8293-6ff4-4f03-adc5-a616626b26a3"
      unitRef="usdPerShare">47.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfMi0yLTEtMS00NzIwNw_5c7cdbf6-d617-4974-a380-ee4627600222"
      unitRef="shares">62197</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfMi00LTEtMS00NzIwNw_f2eff13b-a94c-4567-b473-7a07ec7c0487"
      unitRef="usdPerShare">44.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfMy0yLTEtMS00NzIwNw_421f739d-d8b4-4d64-8ffb-1da260af62e9"
      unitRef="shares">61316</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfMy00LTEtMS00NzIwNw_6d4edf35-5e6e-450d-8df6-f17512e6c663"
      unitRef="usdPerShare">47.50</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfNC0yLTEtMS00NzIwNw_2628c801-96af-4d05-b8f2-6023cdf6caa7"
      unitRef="shares">2585</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfNC00LTEtMS00NzIwNw_b445975f-467f-4739-8ad1-c298bd8189ce"
      unitRef="usdPerShare">45.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i36ccfbae6ff3445689697cacfb00cedc_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfNS0yLTEtMS00NzIwNw_349258b1-c445-431f-bc65-82705caf9833"
      unitRef="shares">171526</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i36ccfbae6ff3445689697cacfb00cedc_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjFiYmU1NTBhZTdjZTQ2NjY4NzQ5ODg2NTQ3OTM1MTIyL3RhYmxlcmFuZ2U6MWJiZTU1MGFlN2NlNDY2Njg3NDk4ODY1NDc5MzUxMjJfNS00LTEtMS00NzIwNw_6d707200-c9a5-4412-bfe1-a23a8806cdef"
      unitRef="usdPerShare">46.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ie757ed9400a945fc9c2f4dcf14ef7a92_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjg0Ng_58ed6cdd-b617-43aa-92e7-416dfd9a2ec0"
      unitRef="usdPerShare">49.85</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjkwNw_2b65ecf3-22a9-4666-835d-9aa516b2edd7"
      unitRef="usd">2608000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="ie757ed9400a945fc9c2f4dcf14ef7a92_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMjkxNA_f33787c6-df24-4ee1-9d11-36388d25c8c1"
      unitRef="usd">3380000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i36ccfbae6ff3445689697cacfb00cedc_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE5NjI5_8fa3b983-7bf2-4914-8f2d-d2a22bbf0041"
      unitRef="usd">5029000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ia43bb11abd8a4782b8cb87218517c96c_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE5NjMz_66041a46-8312-40f9-9010-5ad0844e1089">P2Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <brc:ScheduleOfShareBasedPaymentAwardPerformanceSharesValuationAssumptionsTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODIwNjA5_b5b1f2a0-316f-494d-8f98-deec02db1729">The assumptions used in the Monte Carlo valuation model are reflected in the following table:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Monte Carlo Valuation Assumptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</brc:ScheduleOfShareBasedPaymentAwardPerformanceSharesValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjU3NGFmYzZjNTc3MTQ0MGJhOTI5NWQwOWUxYzMzMDVmL3RhYmxlcmFuZ2U6NTc0YWZjNmM1NzcxNDQwYmE5Mjk1ZDA5ZTFjMzMwNWZfMi0yLTEtMS00OTY5Nw_ba8bc932-43ac-4a96-8757-f6523d606b2d"
      unitRef="rate">0.348</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="if7c3ca1531a545b4a2812f8015571468_D20210801-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjU3NGFmYzZjNTc3MTQ0MGJhOTI5NWQwOWUxYzMzMDVmL3RhYmxlcmFuZ2U6NTc0YWZjNmM1NzcxNDQwYmE5Mjk1ZDA5ZTFjMzMwNWZfMi00LTEtMS00OTY5Nw_170f3ac3-28d8-42e4-80b9-dff8007bc9fb"
      unitRef="rate">0.347</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjU3NGFmYzZjNTc3MTQ0MGJhOTI5NWQwOWUxYzMzMDVmL3RhYmxlcmFuZ2U6NTc0YWZjNmM1NzcxNDQwYmE5Mjk1ZDA5ZTFjMzMwNWZfMy0yLTEtMS00OTY5Nw_fe49a96c-9576-4b2d-b10e-0b860d929a31"
      unitRef="rate">0.028</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="if7c3ca1531a545b4a2812f8015571468_D20210801-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjU3NGFmYzZjNTc3MTQ0MGJhOTI5NWQwOWUxYzMzMDVmL3RhYmxlcmFuZ2U6NTc0YWZjNmM1NzcxNDQwYmE5Mjk1ZDA5ZTFjMzMwNWZfMy00LTEtMS00OTY5Nw_20b803d5-e743-49b9-8ebe-223eed694d06"
      unitRef="rate">0.003</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNDA1MA_77a16a6b-38b3-4409-a198-cfd4fb241cac">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a summary of PRSU activity for the three months ended October 31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.660%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.792%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested PRSUs as of July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,959)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;75.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,332)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;71.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested PRSUs as of October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;87,953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;58.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="iadc039ae0cb542d3b423fbef30aed9e1_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfMS0yLTEtMS00NzIwNw_cb232a96-b9cb-4f98-b20f-e1a0d4d8e848"
      unitRef="shares">79134</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iadc039ae0cb542d3b423fbef30aed9e1_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfMS00LTEtMS00NzIwNw_8e975bc4-4728-48ab-9b95-5aba747726cc"
      unitRef="usdPerShare">66.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfMi0yLTEtMS00NzIwNw_82ee15ee-23ca-4d10-8b91-67fb3b6a41ed"
      unitRef="shares">44110</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfMi00LTEtMS00NzIwNw_7c229f4d-cefd-4752-8695-d64d3ad06e14"
      unitRef="usdPerShare">55.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfMy0yLTEtMS00NzIwNw_5f373d27-c8c7-46be-8d93-41841ebe2fbf"
      unitRef="shares">18959</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfMy00LTEtMS00NzIwNw_31acf621-1190-4dfc-9f46-3b7a6bfc92ac"
      unitRef="usdPerShare">75.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfNC0yLTEtMS00NzIwNw_826dfb45-6061-4211-a962-0f05888ee037"
      unitRef="shares">16332</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfNC00LTEtMS00NzIwNw_e2abcd9f-5f36-41e1-b435-7c26f9dd8671"
      unitRef="usdPerShare">71.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ib31a42827ff04954a34529f5179644ec_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfNS0yLTEtMS00NzIwNw_96ecccb8-f066-4e3a-a5e0-7540d96e1ee2"
      unitRef="shares">87953</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ib31a42827ff04954a34529f5179644ec_I20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RhYmxlOjcyNWRmNTE4Y2MxNDQ3OGViY2VhZjAwMTYyMzg2MDdlL3RhYmxlcmFuZ2U6NzI1ZGY1MThjYzE0NDc4ZWJjZWFmMDAxNjIzODYwN2VfNS00LTEtMS00NzIwNw_e40bad22-2f58-4a4a-bd48-260169cc3172"
      unitRef="usdPerShare">58.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="if7c3ca1531a545b4a2812f8015571468_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfMzk2MA_66cabfd1-1a22-40c3-b16a-31c86fe0f98e"
      unitRef="usdPerShare">61.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNDAyMg_12abc765-e740-4be8-a35e-2af93d754ff0"
      unitRef="usd">889000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="if7c3ca1531a545b4a2812f8015571468_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNDAyOQ_6fcb962e-3f3b-4c54-95d1-0c0c331a1fe1"
      unitRef="usd">4098000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ib31a42827ff04954a34529f5179644ec_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE5NjM5_75e4ab37-c46c-4bf8-8d82-575354d1ce54"
      unitRef="usd">2889000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i46b7292136fd4d508bd583cfb3380251_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl81Mi9mcmFnOmRiOGU4YmZlYTRhYzQxN2U4ODVjZmM3MDYwY2U3MmUyL3RleHRyZWdpb246ZGI4ZThiZmVhNGFjNDE3ZTg4NWNmYzcwNjBjZTcyZTJfNTQ5NzU1ODE5NjQz_3171ed16-d210-47d4-8a74-67ababc236af">P2Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RleHRyZWdpb246NjNiM2ZkNjE2YzIwNGIxMGFlYTFlNWE2NDU2NjcyY2VfNjg4_0f8233bc-38e0-4f81-a2a4-f03383b4cea9">Net Income per Common Share&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reconciliations of the numerator and denominator of the basic and diluted per share computations for the Company&#x2019;s Class&#160;A and Class B common stock are summarized as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.187%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Numerator (in thousands):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net income (Numerator for basic and diluted income per Class A Nonvoting Common Share)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,441&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Preferential dividends&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(769)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(803)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Preferential dividends on dilutive stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted income per Class B Voting Common Share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Denominator (in thousands):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Denominator for basic income per share for both Class&#160;A and Class B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Plus: Effect of dilutive equity awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;463&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Denominator for diluted income per share for both Class&#160;A and Class B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net income per Class A Nonvoting Common Share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net income per Class B Voting Common Share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Potentially dilutive securities attributable to outstanding stock options and restricted stock units were excluded from the calculation of diluted earnings per share where the combined exercise price and average unamortized fair value were greater than the average market price of the Company's Class A Nonvoting Common Stock because the effect would have been anti-dilutive. The amount of anti-dilutive shares were 583,533 and 479,602 for the three months ended October 31, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RleHRyZWdpb246NjNiM2ZkNjE2YzIwNGIxMGFlYTFlNWE2NDU2NjcyY2VfNjc4_41f9dc0a-592b-4013-a7f2-77fb9f1b4073">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Reconciliations of the numerator and denominator of the basic and diluted per share computations for the Company&#x2019;s Class&#160;A and Class B common stock are summarized as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.187%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.391%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Numerator (in thousands):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net income (Numerator for basic and diluted income per Class A Nonvoting Common Share)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;39,441&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;35,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Preferential dividends&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(769)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(803)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Preferential dividends on dilutive stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted income per Class B Voting Common Share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;38,668&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;34,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Denominator (in thousands):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Denominator for basic income per share for both Class&#160;A and Class B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Plus: Effect of dilutive equity awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;463&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Denominator for diluted income per share for both Class&#160;A and Class B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net income per Class A Nonvoting Common Share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.67&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Net income per Class B Voting Common Share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;0.65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMy0xLTEtMS00NzIwNw_86861830-be1f-4fb3-a730-d5f086b4a4f2"
      unitRef="usd">39441000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMy0zLTEtMS00NzIwNw_416715d7-72ee-4708-99f5-18355495d5e8"
      unitRef="usd">35046000</us-gaap:NetIncomeLoss>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfNS0xLTEtMS00NzIwNw_bb9f5049-3683-4883-9c43-af395786d752"
      unitRef="usd">769000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfNS0zLTEtMS00NzIwNw_0bbedda0-caf0-449a-a279-1cc162ab86b1"
      unitRef="usd">803000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfNi0xLTEtMS00NzIwNw_73dc6520-8f78-41fb-9812-af22b9276812"
      unitRef="usd">4000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfNi0zLTEtMS00NzIwNw_d3e68056-1ac6-4cdc-8cda-7b5f374f83af"
      unitRef="usd">8000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfNy0xLTEtMS00NzIwNw_43307c88-450f-46c6-b323-e89984a8be48"
      unitRef="usd">38668000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfNy0zLTEtMS00NzIwNw_8f72d761-adc1-493c-8692-573fa6e6fd71"
      unitRef="usd">34235000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfOS0xLTEtMS00NzIwNw_e8b82494-9b9f-41e8-8c9d-78a13d026adb"
      unitRef="shares">49868000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfOS0zLTEtMS00NzIwNw_7cf29852-7a40-4d11-96f2-e9b4c324ee9c"
      unitRef="shares">51973000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTAtMS0xLTEtNDcyMDc_463d14d2-821b-4aaf-b4d8-662b97c69a48"
      unitRef="shares">222000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTAtMy0xLTEtNDcyMDc_badbc3e1-cc7e-47d1-9d78-bae84d0e7d36"
      unitRef="shares">463000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTEtMS0xLTEtNDcyMDc_eb8a1ed3-33c2-4b96-ab09-b38cc86cb3bb"
      unitRef="shares">50090000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTEtMy0xLTEtNDcyMDc_9e82350a-54cd-4112-9f05-5faedc157789"
      unitRef="shares">52436000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib807e183c7c8408fb989143233bf33ec_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTMtMS0xLTEtNDcyMDc_b93ada7b-ae33-4b53-bc78-0ef38b60f278"
      unitRef="usdPerShare">0.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i01195395564542469598b2439fc4becb_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTMtMy0xLTEtNDcyMDc_e2f857f6-0863-48ba-81d3-bfeed133e2a6"
      unitRef="usdPerShare">0.67</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib807e183c7c8408fb989143233bf33ec_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTQtMS0xLTEtNDcyMDc_47ebf3f0-833a-4c4f-be41-92d0fec420d4"
      unitRef="usdPerShare">0.79</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i01195395564542469598b2439fc4becb_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTQtMy0xLTEtNDcyMDc_d6ccae91-7a71-451a-a5a5-8c9d703816dc"
      unitRef="usdPerShare">0.67</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTYtMS0xLTEtNDcyMDc_6419134d-00c0-4171-b8f5-d487fd264113"
      unitRef="usdPerShare">0.78</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTYtMy0xLTEtNDcyMDc_d44026e5-19e9-43d3-8c0f-0a40ffa606ec"
      unitRef="usdPerShare">0.66</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1b20d71243f24b26bccfe64222042566_D20220801-20221031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTctMS0xLTEtNDcyMDc_d1ae710b-3b0d-4c26-9030-e5c71e472f0b"
      unitRef="usdPerShare">0.77</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib4cb5cb2044e494f823d8efeb437a25b_D20210801-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RhYmxlOjdhMDlmYTI2ZDg0ZTQxMjQ4MWNmMTI4ODRkMjJmNGMxL3RhYmxlcmFuZ2U6N2EwOWZhMjZkODRlNDEyNDgxY2YxMjg4NGQyMmY0YzFfMTctMy0xLTEtNDcyMDc_dc5c95ae-5aeb-4807-8c42-9302f2dd1803"
      unitRef="usdPerShare">0.65</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RleHRyZWdpb246NjNiM2ZkNjE2YzIwNGIxMGFlYTFlNWE2NDU2NjcyY2VfNjM1_d8aef700-6e3e-4c92-9011-af35dcea9c68"
      unitRef="shares">583533</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82NC9mcmFnOjYzYjNmZDYxNmMyMDRiMTBhZWExZTVhNjQ1NjY3MmNlL3RleHRyZWdpb246NjNiM2ZkNjE2YzIwNGIxMGFlYTFlNWE2NDU2NjcyY2VfNjQy_d8434f12-619e-43e5-afe2-62b94a30eb23"
      unitRef="shares">479602</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RleHRyZWdpb246NzNiNThmZTdiN2M5NGYyYmJiYjA0YmZlYjNmYzNlNTNfMTg3Nw_6609b34f-eec8-40c0-a527-29b12fddb870">Fair Value Measurements&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with fair value accounting guidance, the Company determines fair value based on the exchange price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The inputs used to measure fair value are classified into the following hierarchy:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Unadjusted quoted prices in active markets for identical instruments that are accessible as of the reporting date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Other significant pricing inputs that are either directly or indirectly observable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Level 3&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Significant unobservable pricing inputs, which result in the use of management's own assumptions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company's financial assets and liabilities that were accounted for at fair value on a recurring basis at October&#160;31, 2022 and July&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Hierarchy&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred compensation plan assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;16,072&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following methods and assumptions were used to estimate the fair value of each class of financial instrument:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Deferred compensation plan assets:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; The Company&#x2019;s deferred compensation investments consist of investments in mutual funds, which are included in "Other assets" on the condensed consolidated balance sheets. These investments were classified as Level 1 as the shares of these investments trade with sufficient frequency and volume to enable us to obtain pricing information on an ongoing basis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Foreign exchange contracts:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; The Company&#x2019;s foreign exchange contracts were classified as Level 2 as the fair value was based on the present value of the future cash flows using external models that use observable inputs, such as interest rates, yield curves and foreign exchange rates. See Note L, &#x201c;Derivatives and Hedging Activities,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair values of cash and cash equivalents, accounts receivable, accounts payable, and other liabilities approximated carrying values due to their short-term nature.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RleHRyZWdpb246NzNiNThmZTdiN2M5NGYyYmJiYjA0YmZlYjNmYzNlNTNfMTg3NA_5695090f-405f-4806-9b6d-84369493113a">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company's financial assets and liabilities that were accounted for at fair value on a recurring basis at October&#160;31, 2022 and July&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Hierarchy&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred compensation plan assets&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;16,072&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:DeferredCompensationPlanAssets
      contextRef="i88e3561831bc489cb7cba53367c98af0_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RhYmxlOjBhNWY0NGU2ZDNkZjQ4ODdiMzJhNzNkYWYyMzQ2ZDJiL3RhYmxlcmFuZ2U6MGE1ZjQ0ZTZkM2RmNDg4N2IzMmE3M2RhZjIzNDZkMmJfMi0xLTEtMS00NzIwNw_c9f3b1d3-9112-460f-bcb1-1de589c26347"
      unitRef="usd">16072000</us-gaap:DeferredCompensationPlanAssets>
    <us-gaap:DeferredCompensationPlanAssets
      contextRef="ia4a6dba1e31e4a419ce803dd3f396d38_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RhYmxlOjBhNWY0NGU2ZDNkZjQ4ODdiMzJhNzNkYWYyMzQ2ZDJiL3RhYmxlcmFuZ2U6MGE1ZjQ0ZTZkM2RmNDg4N2IzMmE3M2RhZjIzNDZkMmJfMi0zLTEtMS00NzIwNw_e3a47e4c-b506-4aaf-a6d0-f44bb3a49846"
      unitRef="usd">18037000</us-gaap:DeferredCompensationPlanAssets>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="iaad16dc143aa4cdebe2656cae5444c2a_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RhYmxlOjBhNWY0NGU2ZDNkZjQ4ODdiMzJhNzNkYWYyMzQ2ZDJiL3RhYmxlcmFuZ2U6MGE1ZjQ0ZTZkM2RmNDg4N2IzMmE3M2RhZjIzNDZkMmJfMy0xLTEtMS00NzIwNw_71ba321a-50d2-43c3-b110-74c3c3134072"
      unitRef="usd">1138000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="ie1a883b225d64f9eb8233105c8db53f3_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RhYmxlOjBhNWY0NGU2ZDNkZjQ4ODdiMzJhNzNkYWYyMzQ2ZDJiL3RhYmxlcmFuZ2U6MGE1ZjQ0ZTZkM2RmNDg4N2IzMmE3M2RhZjIzNDZkMmJfMy0zLTEtMS00NzIwNw_68deb04a-f5c0-43d5-aa6e-5381e2535db6"
      unitRef="usd">489000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure
      contextRef="idc2fc9181bd141db8ecee6a8e89338cd_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RhYmxlOjBhNWY0NGU2ZDNkZjQ4ODdiMzJhNzNkYWYyMzQ2ZDJiL3RhYmxlcmFuZ2U6MGE1ZjQ0ZTZkM2RmNDg4N2IzMmE3M2RhZjIzNDZkMmJfNS0xLTEtMS00NzIwNw_17146cb2-b43e-4175-a3e5-d907d87c8e42"
      unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure
      contextRef="i829b432226bd4fc59b30870bb30e44ca_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl82Ny9mcmFnOjczYjU4ZmU3YjdjOTRmMmJiYmIwNGJmZWIzZmMzZTUzL3RhYmxlOjBhNWY0NGU2ZDNkZjQ4ODdiMzJhNzNkYWYyMzQ2ZDJiL3RhYmxlcmFuZ2U6MGE1ZjQ0ZTZkM2RmNDg4N2IzMmE3M2RhZjIzNDZkMmJfNS0zLTEtMS00NzIwNw_7b5a6a88-3f7b-4ffa-a974-d560d2db2864"
      unitRef="usd">32000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RleHRyZWdpb246YjYwYWVkNjQwY2JiNDQxNGE5MGE5N2NmNzFmMjYzZDZfMjI4NA_f4738176-e9aa-4adf-aad6-cb588a32781d">Derivatives and Hedging Activities&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company utilizes forward foreign exchange currency contracts to reduce the exchange rate risk of specific foreign currency denominated transactions. These contracts typically require the exchange of a foreign currency for U.S. dollars at a fixed rate on a future date, with maturities of less than 18 months, which qualify as cash flow hedges or net investment hedges under the accounting guidance for derivative instruments and hedging activities. The primary objective of the Company&#x2019;s foreign currency exchange risk management program is to minimize the impact of currency movements due to transactions in other than the respective subsidiaries&#x2019; functional currency and to minimize the impact of currency movements on the Company&#x2019;s net investment denominated in a currency other than the U.S. dollar. To achieve this objective, the Company hedges a portion of known exposures using forward foreign exchange currency contracts. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Main foreign currency exposures are related to transactions denominated in the British Pound, Euro, Canadian dollar, Australian dollar, Mexican Peso, Chinese Yuan, Malaysian Ringgit and Singapore dollar. Generally, these risk management transactions will involve the use of foreign currency derivatives to minimize the impact of currency movements on non-functional currency transactions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The U.S. dollar equivalent notional amounts of outstanding forward exchange contracts were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.268%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.352%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Designated as cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-designated hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total foreign exchange contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash Flow Hedges&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has designated a portion of its forward foreign exchange contracts as cash flow hedges and recorded these contracts at fair value on the condensed consolidated balance sheets. For these instruments, the effective portion of the gain or loss on the derivative is reported as a component of other comprehensive income ("OCI") and reclassified into income in the same period or periods during which the hedged transaction affects income. As of October&#160;31, 2022 and July&#160;31, 2022, unrealized gains of $1,352 and $1,040 have been included in OCI, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amount of pre-tax gains and losses related to foreign exchange contracts designated as cash flow hedging instruments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.268%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.352%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gains (losses) recognized in OCI&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(26)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gains reclassified from OCI into cost of goods sold&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair values of derivative instruments in the condensed consolidated balance sheets were as follows:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Derivatives designated&#160;as hedging&#160;instruments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts (cash flow hedges)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Derivatives not designated as hedging instruments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts (non-designated hedges)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total derivative instruments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:DerivativeRemainingMaturity1
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RleHRyZWdpb246YjYwYWVkNjQwY2JiNDQxNGE5MGE5N2NmNzFmMjYzZDZfMzUx_5d69ed24-ed30-4356-8c8a-54d1d07ad324">P18M</us-gaap:DerivativeRemainingMaturity1>
    <us-gaap:ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RleHRyZWdpb246YjYwYWVkNjQwY2JiNDQxNGE5MGE5N2NmNzFmMjYzZDZfMjI5OA_064fa910-61fb-408a-84e0-58c96b18404e">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The U.S. dollar equivalent notional amounts of outstanding forward exchange contracts were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.268%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.352%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Designated as cash flow hedges&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-designated hedges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total foreign exchange contracts&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;23,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;29,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="iec26d3c118434d1d8684c5dbd6b440f1_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmE0YmI1MTkxNjUzNTRkYjFhMTZjZmI2NDczMDc3ZWEyL3RhYmxlcmFuZ2U6YTRiYjUxOTE2NTM1NGRiMWExNmNmYjY0NzMwNzdlYTJfMS0xLTEtMS00NzIwNw_0341ad80-7b70-46e0-8435-ebfac51cc1c8"
      unitRef="usd">18967000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i0443304f79df44cb95f6d3104ad75f50_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmE0YmI1MTkxNjUzNTRkYjFhMTZjZmI2NDczMDc3ZWEyL3RhYmxlcmFuZ2U6YTRiYjUxOTE2NTM1NGRiMWExNmNmYjY0NzMwNzdlYTJfMS0zLTEtMS00NzIwNw_b944e9ae-ca5a-4559-a942-4cbcf79ac010"
      unitRef="usd">25276000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i24b13faf9b1749f99a0f2701edc2d3c2_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmE0YmI1MTkxNjUzNTRkYjFhMTZjZmI2NDczMDc3ZWEyL3RhYmxlcmFuZ2U6YTRiYjUxOTE2NTM1NGRiMWExNmNmYjY0NzMwNzdlYTJfMi0xLTEtMS00NzIwNw_f48e1fc2-c671-40af-967a-8c095fdef234"
      unitRef="usd">4190000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="iccf5f58e76114b5cb179c93a8ff2a20c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmE0YmI1MTkxNjUzNTRkYjFhMTZjZmI2NDczMDc3ZWEyL3RhYmxlcmFuZ2U6YTRiYjUxOTE2NTM1NGRiMWExNmNmYjY0NzMwNzdlYTJfMi0zLTEtMS00NzIwNw_cc045520-8ed9-4e36-9b29-de067164dc42"
      unitRef="usd">4057000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmE0YmI1MTkxNjUzNTRkYjFhMTZjZmI2NDczMDc3ZWEyL3RhYmxlcmFuZ2U6YTRiYjUxOTE2NTM1NGRiMWExNmNmYjY0NzMwNzdlYTJfMy0xLTEtMS00NzIwNw_c3a67f54-ff06-4d01-980d-ee67dd299891"
      unitRef="usd">23157000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmE0YmI1MTkxNjUzNTRkYjFhMTZjZmI2NDczMDc3ZWEyL3RhYmxlcmFuZ2U6YTRiYjUxOTE2NTM1NGRiMWExNmNmYjY0NzMwNzdlYTJfMy0zLTEtMS00NzIwNw_7e96048d-6991-446b-9fe4-94866c807baf"
      unitRef="usd">29333000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months
      contextRef="i9bfb5f7e7de746fbb35fedcdcc73feb4_I20221031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RleHRyZWdpb246YjYwYWVkNjQwY2JiNDQxNGE5MGE5N2NmNzFmMjYzZDZfMTk3Mg_925d31d9-4902-4e5d-84f6-9e49dde59ebe"
      unitRef="usd">1352000</us-gaap:ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months>
    <us-gaap:ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months
      contextRef="ibaaa20a5d8214a33aab21f91f64d6d12_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RleHRyZWdpb246YjYwYWVkNjQwY2JiNDQxNGE5MGE5N2NmNzFmMjYzZDZfMTk3OQ_82c799ae-4a86-4f3a-8725-0ef1efa61810"
      unitRef="usd">1040000</us-gaap:ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months>
    <us-gaap:ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RleHRyZWdpb246YjYwYWVkNjQwY2JiNDQxNGE5MGE5N2NmNzFmMjYzZDZfMjI5Mg_2c15d844-cafc-4ce0-b59b-9c7227ac58bc">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amount of pre-tax gains and losses related to foreign exchange contracts designated as cash flow hedging instruments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.268%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.352%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended October 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gains (losses) recognized in OCI&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(26)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Gains reclassified from OCI into cost of goods sold&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmYyZWU3ZDEyYmYxYTRmOWZiNTRkNTQwYWYxNzY1YTViL3RhYmxlcmFuZ2U6ZjJlZTdkMTJiZjFhNGY5ZmI1NGQ1NDBhZjE3NjVhNWJfMi0xLTEtMS00NzIwNw_44f62bde-7a53-4484-b0e1-057787806c99"
      unitRef="usd">893000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmYyZWU3ZDEyYmYxYTRmOWZiNTRkNTQwYWYxNzY1YTViL3RhYmxlcmFuZ2U6ZjJlZTdkMTJiZjFhNGY5ZmI1NGQ1NDBhZjE3NjVhNWJfMi0zLTEtMS00NzIwNw_8c8afb30-3702-40af-a81b-5c8b8b13357c"
      unitRef="usd">-26000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmYyZWU3ZDEyYmYxYTRmOWZiNTRkNTQwYWYxNzY1YTViL3RhYmxlcmFuZ2U6ZjJlZTdkMTJiZjFhNGY5ZmI1NGQ1NDBhZjE3NjVhNWJfMy0xLTEtMS00NzIwNw_74098cbf-7589-44fd-aa80-0d0824b5ddf8"
      unitRef="usd">581000</us-gaap:ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet>
    <us-gaap:ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet
      contextRef="i49c2329371ed491fb52144735932a25b_D20210801-20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmYyZWU3ZDEyYmYxYTRmOWZiNTRkNTQwYWYxNzY1YTViL3RhYmxlcmFuZ2U6ZjJlZTdkMTJiZjFhNGY5ZmI1NGQ1NDBhZjE3NjVhNWJfMy0zLTEtMS00NzIwNw_19aa5963-58ae-4fde-aabf-17f306ee722c"
      unitRef="usd">568000</us-gaap:ForeignCurrencyCashFlowHedgeGainLossReclassifiedToEarningsNet>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RleHRyZWdpb246YjYwYWVkNjQwY2JiNDQxNGE5MGE5N2NmNzFmMjYzZDZfMjI5OQ_64699c73-bf72-4c2e-9c35-bf719c61a983">&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair values of derivative instruments in the condensed consolidated balance sheets were as follows:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;October 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Derivatives designated&#160;as hedging&#160;instruments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts (cash flow hedges)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Derivatives not designated as hedging instruments:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign exchange contracts (non-designated hedges)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total derivative instruments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i2857dbcc1b534293a145316522bbfd65_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfMy0xLTEtMS00NzIwNw_d8ff6442-4e14-4bab-8bda-21eccbdd258e"
      unitRef="usd">1135000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i48906836e4d0492aa53b7c748dd2a14e_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfMy0zLTEtMS00NzIwNw_944004e4-c636-4052-88c1-5717326734d2"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i8221a1be9cdf44378c368d37bc493598_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfMy01LTEtMS00NzIwNw_f9d31a3c-8e67-438b-9982-eabe61e5d2cf"
      unitRef="usd">489000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i4c7d97a8dee04c19adb2bb159f48fbb2_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfMy03LTEtMS00NzIwNw_c8890942-0138-436b-bab0-506d328ca0d5"
      unitRef="usd">30000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i718fce9b02264ba28cf976feb29eb890_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNS0xLTEtMS00NzIwNw_9a8c520f-3fe3-4823-99d7-5335759d6553"
      unitRef="usd">3000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i329e198133944ac8a0e96032a773e861_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNS0zLTEtMS00NzIwNw_5df7944c-10cd-4842-a624-c378ee880855"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i40ba16bb70bc4a3d97e491262147f281_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNS01LTEtMS00NzIwNw_72c678bb-e761-4138-8498-0bf7cf4dfe8a"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="i8c2010dd6eee480d8f4061398cb4d3f1_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNS03LTEtMS00NzIwNw_273871a2-b9e6-4fac-9f46-de2411b8f813"
      unitRef="usd">2000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i21e6a72245f44d7983bfccdf47afc2d8_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNi0xLTEtMS00NzIwNw_c6a6c844-ed33-4ba7-9ce6-a74e6ff7b977"
      unitRef="usd">1138000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="id68188572b324f539d7a7238e0709c5d_I20221031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNi0zLTEtMS00NzIwNw_e2f8e53f-10af-4904-a43d-1fa3f0bc8858"
      unitRef="usd">0</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="i819e03dc667446cba7df87f8bcb3866b_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNi01LTEtMS00NzIwNw_0348dc22-95fe-4129-bb60-bf65e8f6d56e"
      unitRef="usd">489000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="ic28874eaa8504410bbe64d0ad0ae9282_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83MC9mcmFnOmI2MGFlZDY0MGNiYjQ0MTRhOTBhOTdjZjcxZjI2M2Q2L3RhYmxlOmY4NTRiYTQ0OWE0YzRkMmU4NDAxYzVkYmYwMGEzZmQyL3RhYmxlcmFuZ2U6Zjg1NGJhNDQ5YTRjNGQyZTg0MDFjNWRiZjAwYTNmZDJfNi03LTEtMS00NzIwNw_e066e51f-d0e9-47b0-bad0-2a42e512b45e"
      unitRef="usd">32000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83My9mcmFnOmM4ZGI1NjkyNjc0NTRiMzI4ZjEzYWQxNjFlMTc1MTBiL3RleHRyZWdpb246YzhkYjU2OTI2NzQ1NGIzMjhmMTNhZDE2MWUxNzUxMGJfNDYx_90bd0ace-445b-4afe-b32c-9f0af6f19ed8">Income TaxesThe income tax rate was 21.6% for the three months ended October 31, 2022 and 2021. The Company expects its ongoing annual income tax rate to be approximately 20% based on its current global business mix and based on tax laws and statutory rates currently in effect.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83My9mcmFnOmM4ZGI1NjkyNjc0NTRiMzI4ZjEzYWQxNjFlMTc1MTBiL3RleHRyZWdpb246YzhkYjU2OTI2NzQ1NGIzMjhmMTNhZDE2MWUxNzUxMGJfMjE5OTAyMzI1NjM2Nw_c777c859-6eaa-411f-aa4b-95f627cb95bb"
      unitRef="rate">0.216</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="idf0cf59988bd47bbbd4b1a6b5468eaee_D20220801-20221031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfMjU0_4e325b95-158e-41b1-88d0-aa8b08a32d5a">Subsequent Events&lt;div style="margin-top:9pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 14, 2022, the Company and certain of its subsidiaries entered into a Second Amendment to Credit Agreement (&#x201c;Amendment No. 2&#x201d;) with a group of six banks, which amends the original credit agreement dated as of August 1, 2019. Amendment No. 2 amends the credit agreement to, among other items, (a) increase the lending commitments by $100,000 for total lending commitments of $300,000 (b) extend the final maturity date to November 14, 2027, (c) increase the interest rate on certain borrowings by 0.125%, and (d) increase the available amount under the credit agreement, at the Company's option and subject to certain conditions, from $300,000 up to (i) an amount equal to the incremental borrowing necessary to bring the Company's consolidated net debt-to-EBITDA ratio to 2.5 to 1.0 plus&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(ii) $200,000. Borrowings under Amendment No. 2 remain unsecured and are guaranteed by certain of the Company's domestic subsidiaries. The credit agreement (as amended by Amendment No. 2) continues to contain various financial covenants, including a consolidated net debt-to-EBITDA ratio of 3.5 to 1.0 and a consolidated interest coverage ratio of 3.0 to 1.0.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 16, 2022, the Board of Directors declared a quarterly cash dividend to shareholders of the Company&#x2019;s Class&#160;A and Class B Common Stock of $0.23 per share payable on January 31, 2023, to shareholders of record at the close of business on January 10, 2023.&lt;/span&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i1ef30119ab184344a0b39c29396f7a60_I20221114"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfOTA1Ng_278ec9cf-e142-41c6-a552-0606e6c8baea"
      unitRef="usd">300000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityBorrowingCapacityDescription
      contextRef="i8c2f4678fbf845aebfc28f1c4fd8ace3_D20221114-20221114"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfNTQ5NzU1ODIyOTIz_7e69fc10-6be9-4e6d-8cff-75d7a8cf5971">increase the available amount under the credit agreement, at the Company's option and subject to certain conditions, from $300,000 up to (i) an amount equal to the incremental borrowing necessary to bring the Company's consolidated net debt-to-EBITDA ratio to 2.5 to 1.0 plus (ii) $200,000.</us-gaap:LineOfCreditFacilityBorrowingCapacityDescription>
    <us-gaap:LineOfCreditFacilityCovenantTerms
      contextRef="i8c2f4678fbf845aebfc28f1c4fd8ace3_D20221114-20221114"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfNTQ5NzU1ODIyOTIx_692adc56-6a8c-4fc8-99ba-0b8e191ecc13">The credit agreement (as amended by Amendment No. 2) continues to contain various financial covenants, including a consolidated net debt-to-EBITDA ratio of 3.5 to 1.0 and a consolidated interest coverage ratio of 3.0 to 1.0.</us-gaap:LineOfCreditFacilityCovenantTerms>
    <us-gaap:DividendsPayableDateDeclaredDayMonthAndYear
      contextRef="i7da67250954440709a04736bf113fada_D20221116-20221116"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfMzU_37870c91-d925-40ba-8d42-e47ed41543cd">2022-11-16</us-gaap:DividendsPayableDateDeclaredDayMonthAndYear>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="i5b81e92ecbe74bcaa898385def2e7d5c_I20221116"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfMTY2_1bdd0cd9-c63a-4b6f-8cd5-6d0da02a7b66"
      unitRef="usdPerShare">0.23</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:DividendPayableDateToBePaidDayMonthAndYear
      contextRef="i3b845d524f954e699cf2279cf596a144_D20230131-20230131"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfMTkw_af6042b3-b57c-4b27-80d8-e5ed430a5b27">2023-01-31</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
    <us-gaap:DividendsPayableDateOfRecordDayMonthAndYear
      contextRef="ia1e5252ed7ea4af89c4a4049931972ef_D20230110-20230110"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlNzcyNTA5NjA5MDRhMWI5YzNkMDgwZDJiNGNlZjdmL3NlYzo1ZTc3MjUwOTYwOTA0YTFiOWMzZDA4MGQyYjRjZWY3Zl83Ni9mcmFnOmY1Nzk1MzJlYTc0NTQ1ZDY5ZjhiYzVhZmY1MWEwMDlhL3RleHRyZWdpb246ZjU3OTUzMmVhNzQ1NDVkNjlmOGJjNWFmZjUxYTAwOWFfMjQ4_ba7aacf2-cc4b-4cd9-8bd1-f94f44f7e8fd">2023-01-10</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
</xbrl>
