<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:nx="http://www.quanexbuildingproducts.com/20220731"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="nx-20220731.xsd" xlink:type="simple"/>
    <context id="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ib929467dbd494af2909d592d3345bddf_I20220831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-08-31</instant>
        </period>
    </context>
    <context id="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ib2cb1759ab1446bfb67e849b2098d97f_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ib76036feb09e400a8dd9d8ab0902f80f_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i4667bc7c539e44f5a9849779272b2658_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i5083c9711daf4aaca0d5bb6d17d16133_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i3f00eefaff204e7db509097f76f4c408_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i789dc61880ed46628a21887c2c33dbce_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ia91dc970ca3e4e47b93153a638ed952b_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ie6ba8dcc07df419aab6c8b9cfcaa4a22_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ib0f0029d2e9f4429b1154089018fa8ff_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="id1d820a0c04e46d0b34ebb77cc05fad4_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="iadc710909c9c45b6a4f852f9f35fab36_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="ia19a6dd768fb48b689b78389f694f044_D20211101-20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-01-31</endDate>
        </period>
    </context>
    <context id="ifd862406e1144f9f82a7b6fffcdb879f_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="ib28ee6d1ff2644d1a603aaa9bb2674d2_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="ie2287263258843af812bbb5ad163cb20_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i990ae4d8861243e9adc2ea1778a1a714_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i2813331922204a1ba9448ea5b1760bb9_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i4d70b875fd8248c5bbafba90648f23ce_I20220131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-01-31</instant>
        </period>
    </context>
    <context id="i70bad330daef463b80f31d4d91bbb27b_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i4789841ef5db4b3a83ce78b797c707bc_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i2bc9ae79563d4238a41316af1cd095c0_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i6c847fcc16d142868f596a6cf01cf8a9_D20220201-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-02-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i0a9f566cd9c34e8db1612ffd3a15ad19_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i80d7b88e914341b796dfb8f54c0edd39_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="ib122200f38ef4ce39e6e125076f4a5de_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i8349af2e2bd3462d9bd87c8a2434cde6_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="ia71e5831ea634b8a9f33f25f367b11e6_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i78ef882777d746ba84556f0c54772167_I20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2022-04-30</instant>
        </period>
    </context>
    <context id="i5b7dc45d17b34263b9ffbc66a07395ff_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i188f3a7f842948f39feeaecdf8d05fc4_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i3c62d039d3d14678bf5da4cf4a628045_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i1206276cca5f413192d3a6f7a5058a3e_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i76dc8543508045cd81c8847d4c131633_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i5ed165ee991044e0b1482fd56b496876_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i7c53a5195ab646ac961bd853bd41435b_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ie171ca3cf4344774941c1e391ef7f75c_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i9adfe38402504aa69e12c0b02aeaba2f_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i25e879e9569f4bcbb3eb160d611ea238_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i446d4854e1e145179eff1a174d6d21b5_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i6c17e5be7bf743f999dca468d1bfe2d8_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i4534a16b08a54081961cda3243dd1c6d_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i5196dffe929f45e9b1fbffe4a0345c93_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i2f2ec85d8a954c9ea157d04ec3297d98_D20201101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="ifc7e7e133c3c44cc9870e409d894f4af_D20201101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="i83de59ed71e744878239fdca15c35320_D20201101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="i9f20eae3d454470f89e81e8b77728a3e_D20201101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="i6a1fce9f795e414ea86e8db58ab65f91_I20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="i8f629d213c1f4a60883a1680375302b0_I20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="i24786b43d4d446bd8fedc13576efb3ea_I20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="if238c3e54fbb4483a17019d910a97620_I20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="i1ec30dec5a8c4b7298306909f62307e0_I20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="i9880ad5a5ddb491e99edc27d14f51ad9_I20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2021-01-31</instant>
        </period>
    </context>
    <context id="i5fe9778dbedb45fa94cbfa69891bf290_D20210201-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i0d69472dcdca4f1db464f23b4e678476_D20210201-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i59b6e8966955462faca6934d30fe064d_D20210201-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i298db697a4944e6d9286d8142ca0ffdf_D20210201-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i639c64e21fe24f7991938844992c2d3a_I20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="ieec707fc5269463eb47b44f16344dd4d_I20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i1d91fa7ed7fa46a49f9c2e2fb87f3c00_I20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i3e593762277042c7afb42979762fd306_I20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i5303a1889472460780eff6c264d4402c_I20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i1f9da6dc01b6460b9c11e4313a62eb1f_I20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i652475a3c7474680843375d4c50750e9_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="iced200226ed54a219f4751a6e3fe9737_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i8ab08bb60d54477cb47fc492664f042d_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="id34bfea1b9694302ab39981653e6d660_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i11439b7564924dccaa866a59573813df_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i37350c684a734550b5e0e4b16fdab4db_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ia8719080416a4fb3b1895e7b0903779b_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ib6b1d134654c4f9e9ff8cc29b525a0d8_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="i91a6e93182474899a5f6fffc4e491f77_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ifb6c53196d174bdbb97146353cc59984_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="iddb38f36332e4f7d830ddfd38612d87c_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i69ad50f0cdae42f89c715551565e29e4_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ia5701a28482641e6a44c9e2cc2f03432_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i9d2ff6b1455b4f87aa58cb4d5ea2ebaf_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ia91c0ec637c84ca5b9ee6e1e6b39bae7_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ia57500a84c894d818f957532ef47f519_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="iaf3fa5f8768e4cf5b3cd3bf502aef5ba_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ic2a178fae8434326ae8d3e5addf31648_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="icabd17c4bef3497ab329c39f4e4d7609_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i8e4af68215e841f08204d9ebd45909e8_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i3b9f7de9a390465d99e1d9e3312c47f5_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i7290f2c3156449b8a45dbee80e4f5c9d_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i906b46922143475baf80adce952fbca6_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i7b651a7a200a4941b26545bafea2d76f_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ib5947636b3d64fd2958eb53ac09a16b5_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="icd76cbdf38af419f87646b35594d2589_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ic20311f9a8ac4ead9420474c651bebdf_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i3e9a73cda77e4e19952b44ab1f8518ae_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ib6c57a6e4ad14f398ad0f0894099ffaf_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i5c43dacdab864e6ca3601364ceb44dc3_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ia67021598df6429a97d7720ad77dfe15_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ia372d534c27240a3a704f0cd5ab74522_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i1d6a8f702a804ffb8c029ac6d002c4dc_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i3479c8ed81b54ee7a23139ba99c8741e_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="iee312495c885459a9e11eb0f2bfa7ad6_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i3dd2cdbf72764ba1ad4d61d677352328_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ia9b5d51a77c844b987f3f3b405127955_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ic24c1283d0e149f595eecf8316ab2893_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i5693897bf4634899bbc1a8820a1433b8_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i67b6d0bf15b9456c865424dee553fb49_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="icaaec8731fe64b1897f5baf54c06c505_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ib67e43c0c47b426d959541089df298f0_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i2cfa062309fb4a07a7c5ef4f8bdf176d_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:FenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ic25eada147c44fcc90cab1535e21f5eb_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i8de6e0431f1e4f86b548d437150a17cc_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="if9e54e70ac484feca3cab37d1874363c_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i76e5a30865a449a68b0b83c78dccfb86_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i69edecebd6844923b425d06947ba136d_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ida00859dc7894764b488113888f5616b_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i077b664a5af24646bdff621ad96bc0a9_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i0773f81c688746eeb9df3da93f1e079f_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">nx:NonfenestrationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">nx:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i280600b8c49549548f7fcfcfa1a3a4a7_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i5bfacd76a10e424caa3f58f9708deb79_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ie410b248b396415cb822b2a7be3382e0_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i71752e09105c46a982b8711a4992d62f_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ib2bd5df0f4f54dcfa287a308e2d7f1f4_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i86ac1e22563f44aebe72cd6c03c79a8e_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="id08ffb1fb148492cb12a2ba722a4f512_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">nx:NoSingleTransactionOrSeriesOfRelatedTransactionsExceeded120000Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ie5e680c078f346eea2f935984d230033_D20200831-20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-08-31</startDate>
            <endDate>2020-08-31</endDate>
        </period>
    </context>
    <context id="i3579d48e84d74ea7a59b47394284a718_D20201101-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i5b429aecefa546ef9ee9d5008fd4941c_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="iec2965f4731d44a8b758b0775f2b8e19_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ib1ea4110914142edb02496ec6a9df7c2_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:TradenamesAndTrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ie903019e1ffb476084a5e97b647b86a4_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:TradenamesAndTrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i6356ff1b4b774e33ab6c295ec9c05707_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="iadef9cfc2d1b4587b2ac260799ff5268_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">nx:PatentsAndOtherTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i996cba8e5ff64e9f9ca6b0edc17523c4_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i68c11605ac494caa85ec8820f3d94374_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="id6543e19d5254eec8279b1becb4a850e_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CapitalLeaseObligationsAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="if7668fbc111a451a854847f459c617dc_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CapitalLeaseObligationsAndOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ic12212afc7604e608265a77510a894d8_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i294b1ed8b0e444e7af18c0a28378f68f_I20181018">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-18</instant>
        </period>
    </context>
    <context id="i2417b67dd843464fbe7c1b148d54aafe_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i0573350dae0a4162890f621d7ce45cce_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i5aa387dea04d43e8ab59467d18841616_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ibde180080e6f4f07adca5dd5814d7abd_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:LessThanOneandOneHalfLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i2cf06a582e1a4572b625432b2b44f874_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i52403d5b22b54ed1be63ac4af583b197_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i63c160e22c3344d0a5cbe91fc8410fa3_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="if7546ced3a8142f1918d9fb217f9cf85_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenOneandOneHalfandTwoandOneQuarterLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="iabd521e54ab740e7b3a98721f6929eaf_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="iad7eeb5f6224494a9aa3d24b41eb27e7_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i7bd96aad273f41af91504280831af64f_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ic2fb35eff22544ca82114129ab8093e7_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:BetweenTwoandOneQuarterandThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i39923145607345a3a71c8a9974eb7a31_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i4a1b2c7d3d4b4fb3a4d48121f90f4296_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:TransitionedRFRLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i132f85bb54904328a0365cd6844806a2_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">nx:EurocurrencyRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="if1a23a35c83d49b4b4e770f74b4abcab_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:InterestRateScenarioAxis">nx:GreaterThanThreeLeverageRatioMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i1442be6a268a4ec4b5562ec12d4da8c7_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i37a3370b7ab94ef89e5a05e37cf8c7ab_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="id139acc1f89449f0abd2d8448e62d5f2_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">nx:SwingLineMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i04c2272481034bef94c3d491730c28e0_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">nx:CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="idf5c036e752246c5a6e45ecac2667dae_D20210801-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
        </entity>
        <period>
            <startDate>2021-08-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i2d068b6a9d464ff1828651c0d58085e3_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:HerMajestysRevenueAndCustomsHMRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i4038d175ef0b4473bd437a3ee6be0120_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:HerMajestysRevenueAndCustomsHMRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i686c506b743f46369599d97b43c3c37f_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i9a83e26c309a4bfdab1b46ef98f974f8_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="iec6ca3d8d77048d1b0671a16a9ede784_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i0580bdfe78ff4e1fb17b48c4d144b993_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ibd27df429a4a484fa129da83a7e2685c_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ib7caa604bb084a7c8653ed347367b8c9_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="if42c47f620a44109bde347474cffc98f_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="if10dbe66443b419ba3055e02e41605f2_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i50ba9b1b6a1545ca88f336ccfe4bfefb_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</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="ibb68815bd6f144c0a11890cebc4b63c2_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ide7adb46cb614ac2a2b810e969d2b4d5_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i09b2f516a9bf463f891edf90232cecd0_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i6f73732870db4b5398a28a635dec7d80_D20191205-20191205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-05</startDate>
            <endDate>2019-12-05</endDate>
        </period>
    </context>
    <context id="idbfe6fe86440450082c9091f11ba0ded_D20201202-20201202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-02</startDate>
            <endDate>2020-12-02</endDate>
        </period>
    </context>
    <context id="i29a9beab8c87418b842ac26ef88366f4_D20211209-20211209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-09</startDate>
            <endDate>2021-12-09</endDate>
        </period>
    </context>
    <context id="i9021a209030e423b9c8c12449b879223_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="iba69883bcb6c40c08a69e11893843ac6_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i584c9202670348a89914d2e16ddcc041_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i50a1eee1005441dda3215f2b8b9ebc98_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesGreaterThanOrEqualTo50PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="if3b3f42bbd324fb999b0eda8af323864_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesLessThan50PercentAndGreaterThanOrEqualTo20PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="idcad09715fad4a38a471391660172d61_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesLessThan20PercentAndGreaterThanOrEqualToNegative20PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ib6911cd4544d44d39a0827b44137c2a7_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">nx:ShareBasedCompensationAwardTrancheFourMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="nx:ShareBasedCompensationAwardPerformanceCriteriaAxis">nx:ShareBasedCompensationAwardPerformanceCriteriaAbsoluteTotalShareholderReturnMilestonesLessThanNegative20PercentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i399d36bb79b047d488f6bb6b6c510944_D20191205-20191205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-12-05</startDate>
            <endDate>2019-12-05</endDate>
        </period>
    </context>
    <context id="ida1cbcae3d214e139977eaf6247a7aa4_D20201202-20201202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-02</startDate>
            <endDate>2020-12-02</endDate>
        </period>
    </context>
    <context id="i0d1130cac1a5453e8fc6afdffd65ab5b_D20211209-20211209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-09</startDate>
            <endDate>2021-12-09</endDate>
        </period>
    </context>
    <context id="ic2e0b94dbd8046198af8f994eb7a0735_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ic81291e2e1d341b09c63dc0a787a60db_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ie201591f81ae4ba9b2cb20eb69e4ccd3_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ib728f8a1f2644ee692145dd84bbabc28_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i55ac93cdfea94c21abb7d9a00f4790d7_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i4f4801a8b3a44906abe98a699c7e01b2_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ia888cc28ed93452ab07532a7f650565c_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="id098ce30d2094eb0b3b9ab76698f2aff_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ic3b27951b0c9496c9f0ff960cf83bd22_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i0eab5cb539574049b0bacdb77358640e_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i355110bb202346d78d32d18caa199789_D20220501-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="ifb27916666ee404db55efbbc7e8e5d27_D20210501-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i6031291f979d4204b5861de7e500dc36_D20201101-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">nx:PerformanceRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i34ddf93cf441423fa24b02c9f62b336d_D20211101-20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAEngineeredComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2022-07-31</endDate>
        </period>
    </context>
    <context id="i78ade6074c4a4940bfeccdccf38d2570_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="i89f1a5e4c44243bc9522522967f05fd8_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ic143f7aade39449e8a1b1576e23c2c76_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="ib94206ccce534b23a28009e3c780e28b_I20220731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-31</instant>
        </period>
    </context>
    <context id="id8ce7737ee364d6eae53a73a44ba6798_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NAFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="i26fc9908ab71473395a57d121375becd_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:EUFenestrationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="id04e2952f1d148f9aa8af7aa17d6b97f_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">nx:NACabinetComponentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </period>
    </context>
    <context id="ie960c3cedd1343009a2bdd59cb4a93df_I20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001423221</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-10-31</instant>
        </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="segment">
        <measure>nx:segment</measure>
    </unit>
    <unit id="reporting_unit">
        <measure>nx:reporting_unit</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80L2ZyYWc6OGMzNjIxODY1YjJkNGM2ODlkOWMwOThhNmU4YzA1OWEvdGFibGU6YmViZTFiMzA5MmNlNGYxN2E2NjIyMGJiNjZmNGY1NjkvdGFibGVyYW5nZTpiZWJlMWIzMDkyY2U0ZjE3YTY2MjIwYmI2NmY0ZjU2OV8zLTEtMS0xLTM4MDc1_6ab3d8d7-377a-4112-84d2-97b4102cbd5f">0001423221</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80L2ZyYWc6OGMzNjIxODY1YjJkNGM2ODlkOWMwOThhNmU4YzA1OWEvdGFibGU6YmViZTFiMzA5MmNlNGYxN2E2NjIyMGJiNjZmNGY1NjkvdGFibGVyYW5nZTpiZWJlMWIzMDkyY2U0ZjE3YTY2MjIwYmI2NmY0ZjU2OV80LTEtMS0xLTM4MDc1_8a781bdc-5b68-4853-a2f8-a3dbf06d562e">--10-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80L2ZyYWc6OGMzNjIxODY1YjJkNGM2ODlkOWMwOThhNmU4YzA1OWEvdGFibGU6YmViZTFiMzA5MmNlNGYxN2E2NjIyMGJiNjZmNGY1NjkvdGFibGVyYW5nZTpiZWJlMWIzMDkyY2U0ZjE3YTY2MjIwYmI2NmY0ZjU2OV84LTEtMS0xLTM4MDc1_f91c3750-318d-4224-81f7-58453080669b">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80L2ZyYWc6OGMzNjIxODY1YjJkNGM2ODlkOWMwOThhNmU4YzA1OWEvdGFibGU6YmViZTFiMzA5MmNlNGYxN2E2NjIyMGJiNjZmNGY1NjkvdGFibGVyYW5nZTpiZWJlMWIzMDkyY2U0ZjE3YTY2MjIwYmI2NmY0ZjU2OV85LTEtMS0xLTM4MDc1_54325bf2-f9ff-4a0a-a0aa-e8bf27c2b016">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80L2ZyYWc6OGMzNjIxODY1YjJkNGM2ODlkOWMwOThhNmU4YzA1OWEvdGFibGU6YmViZTFiMzA5MmNlNGYxN2E2NjIyMGJiNjZmNGY1NjkvdGFibGVyYW5nZTpiZWJlMWIzMDkyY2U0ZjE3YTY2MjIwYmI2NmY0ZjU2OV8xMC0xLTEtMS0zODA3NQ_190caffe-1454-4a5f-a25a-6cb9a7295634">false</dei:AmendmentFlag>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ib929467dbd494af2909d592d3345bddf_I20220831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80L2ZyYWc6OGMzNjIxODY1YjJkNGM2ODlkOWMwOThhNmU4YzA1OWEvdGFibGU6YmViZTFiMzA5MmNlNGYxN2E2NjIyMGJiNjZmNGY1NjkvdGFibGVyYW5nZTpiZWJlMWIzMDkyY2U0ZjE3YTY2MjIwYmI2NmY0ZjU2OV8xMS0yLTEtMS0zODA3NQ_331ceab8-eabd-41f3-b744-8da0396295f9"
      unitRef="shares">33129250</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentType
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTA5_c96c78d8-44cf-4923-9162-31cbbb149c84">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6ZDk1MDJhYmJkMzA5NDMxNWJmNTI0OTZlNWFlMGY5NzcvdGFibGVyYW5nZTpkOTUwMmFiYmQzMDk0MzE1YmY1MjQ5NmU1YWUwZjk3N18wLTAtMS0xLTM4MDc1_ad8722db-8bd2-42c2-9a0b-41c7d8639d82">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMzU_ee7afcd2-d2ba-4453-99b9-766a958806ff">2022-07-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6MjI2NzI3MWY4M2Q4NDkxZTliYzliODVkNmQxZjE1ZTUvdGFibGVyYW5nZToyMjY3MjcxZjgzZDg0OTFlOWJjOWI4NWQ2ZDFmMTVlNV8wLTAtMS0xLTM4MDc1_ffdcf2c6-cee5-4454-9372-d4326acab94a">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTEw_555bd416-d2de-4c65-b31b-250e1ad8d1b8">1-33913</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTA1_2189f8e2-6b92-434f-beea-132455146f62">QUANEX BUILDING PRODUCTS CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6N2MwOGQ2YTM3YjJkNGQzYmE1MjlhZjM0MjU5MTgzYmEvdGFibGVyYW5nZTo3YzA4ZDZhMzdiMmQ0ZDNiYTUyOWFmMzQyNTkxODNiYV8wLTAtMS0xLTM4MDc1_fe788c43-b302-436d-bf7e-9c2e539e06a4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6N2MwOGQ2YTM3YjJkNGQzYmE1MjlhZjM0MjU5MTgzYmEvdGFibGVyYW5nZTo3YzA4ZDZhMzdiMmQ0ZDNiYTUyOWFmMzQyNTkxODNiYV8wLTItMS0xLTM4MDc1_5f02ec7b-23c2-494e-bb98-62572614cc2f">26-1561397</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTAy_4a8715fd-a684-4a74-afb5-274ceba20450">1800 West Loop South</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTEx_fe8e21fd-5416-46e3-8347-b0df88d234b7">Suite 1500</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTAw_9917fecf-2b02-40e4-9feb-d1933cf221d9">Houston</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTEy_0de43c05-fdfa-46ba-8930-a45560a32a5d">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTAz_f31587a8-5000-4309-ac96-3e1fcc65ac78">77027</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTEz_d995b517-c402-44ff-a120-33f0122f5d8a">713</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTAx_72813580-2af9-49ac-9777-da2f71c9aa05">961-4600</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6N2YwOTk4YzllZDIxNDlkNTkyMjI1Yjc4OWViMDJhMTYvdGFibGVyYW5nZTo3ZjA5OThjOWVkMjE0OWQ1OTIyMjViNzg5ZWIwMmExNl8xLTAtMS0xLTM4MDc1_90ad68b8-ea72-43ae-93a2-84202de283d8">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6N2YwOTk4YzllZDIxNDlkNTkyMjI1Yjc4OWViMDJhMTYvdGFibGVyYW5nZTo3ZjA5OThjOWVkMjE0OWQ1OTIyMjViNzg5ZWIwMmExNl8xLTItMS0xLTM4MDc1_d37f5a34-626c-48c1-9e68-935b034e2b42">NX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6N2YwOTk4YzllZDIxNDlkNTkyMjI1Yjc4OWViMDJhMTYvdGFibGVyYW5nZTo3ZjA5OThjOWVkMjE0OWQ1OTIyMjViNzg5ZWIwMmExNl8xLTQtMS0xLTM4MDc1_11bf7eca-eccc-418d-bb39-e3ff2b3b0c68">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTA2_a374f2b5-a330-44c9-9f3f-6b1d29eab1d0">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTA3_6161e285-da0f-4fcb-8d12-504b075e0d01">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6ODgwNzEzYjExYzdkNGIzOTliNjU4NjQzM2U3YmYyZDgvdGFibGVyYW5nZTo4ODA3MTNiMTFjN2Q0YjM5OWI2NTg2NDMzZTdiZjJkOF8wLTAtMS0xLTM4MDc1_96dbcc7d-4dc5-43ae-9235-68f5addd1919">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6ODgwNzEzYjExYzdkNGIzOTliNjU4NjQzM2U3YmYyZDgvdGFibGVyYW5nZTo4ODA3MTNiMTFjN2Q0YjM5OWI2NTg2NDMzZTdiZjJkOF8xLTYtMS0xLTM4MDc1_ff68b537-e7ab-4c05-b443-66cdcb47696a">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGFibGU6ODgwNzEzYjExYzdkNGIzOTliNjU4NjQzM2U3YmYyZDgvdGFibGVyYW5nZTo4ODA3MTNiMTFjN2Q0YjM5OWI2NTg2NDMzZTdiZjJkOF8yLTYtMS0xLTM4MDc1_3cee0c97-ff3f-4ebc-b341-8dad19763bbe">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMTA0_9be02da4-3377-461d-8022-e564e616c44d">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ib929467dbd494af2909d592d3345bddf_I20220831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xL2ZyYWc6ZjIxYWNiMzY4OWJlNDU4MGIxNzFlYWZiMGM4NWYzNDYvdGV4dHJlZ2lvbjpmMjFhY2IzNjg5YmU0NTgwYjE3MWVhZmIwYzg1ZjM0Nl8yMDk2_331ceab8-eabd-41f3-b744-8da0396295f9"
      unitRef="shares">33129250</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityRegistrantName
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RleHRyZWdpb246NjNkNDU3YTU1YzU4NDc1ODg5NjNhNjM5MzhkYzNkMDZfNg_428cb123-c910-4403-9d88-f6b506181123">QUANEX BUILDING PRODUCTS CORPORATION</dei:EntityRegistrantName>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNC0xLTEtMS0zODA3NQ_f6352429-68fd-4dee-8134-a76467cc6493"
      unitRef="usd">50030000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNC0zLTEtMS0zODA3NQ_a363ef9d-303f-445d-b18c-6adacc9575ed"
      unitRef="usd">40061000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNS0wLTEtMS0zODA3NS90ZXh0cmVnaW9uOmIyYmJmNmI3MmU0YzRmYzk4OTIzNmUyMDJkZDYzMzIzXzYz_44077da4-bc2a-4410-a3a4-25a9ddcc443f"
      unitRef="usd">837000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNS0wLTEtMS0zODA3NS90ZXh0cmVnaW9uOmIyYmJmNmI3MmU0YzRmYzk4OTIzNmUyMDJkZDYzMzIzXzcw_16fcb581-ad25-4e9f-b403-b291f7bc5c7f"
      unitRef="usd">340000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNS0xLTEtMS0zODA3NQ_c30c1624-0d80-44a8-bdd7-a0de0602aa27"
      unitRef="usd">109467000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNS0zLTEtMS0zODA3NQ_89424492-47f4-412f-9128-de1aaaefa1da"
      unitRef="usd">108309000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNi0xLTEtMS0zODA3NQ_424c08ab-150d-4123-97e4-ce38d55e8196"
      unitRef="usd">138237000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNi0zLTEtMS0zODA3NQ_f08d06d7-b0da-4fc1-a982-1671bba35ea7"
      unitRef="usd">92529000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfOC0xLTEtMS0zODA3NQ_60c37508-2b6c-42bd-82ca-4a97ed036feb"
      unitRef="usd">8651000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfOC0zLTEtMS0zODA3NQ_989912d2-3f8d-46bb-a0f8-bcef938f804c"
      unitRef="usd">8148000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTAtMS0xLTEtMzgwNzU_36eaabdb-e456-494e-8331-22f7924337ca"
      unitRef="usd">306385000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTAtMy0xLTEtMzgwNzU_9f23a63f-19bc-4b20-a1f4-dabb7425096f"
      unitRef="usd">249047000</us-gaap:AssetsCurrent>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTEtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo0NTY3NTE2NjM4YzA0YzU2ODgwNWZkZjQ0MjU3MzVjY183MA_666e3d2c-297c-4920-aeab-ab03a4438404"
      unitRef="usd">345111000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTEtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo0NTY3NTE2NjM4YzA0YzU2ODgwNWZkZjQ0MjU3MzVjY183Nw_2cb9f346-5cb6-4a31-8a83-9befd98dcd10"
      unitRef="usd">336493000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTEtMS0xLTEtMzgwNzU_92c6b7fa-5cc6-4be8-a580-bc80df2c1a5f"
      unitRef="usd">175404000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTEtMy0xLTEtMzgwNzU_f02c1fa3-1227-46d4-8147-23b7d39c22bb"
      unitRef="usd">178630000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTItMS0xLTEtMzgwNzU_f332b1f0-97c8-4c61-bd42-a69721aab664"
      unitRef="usd">45722000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTItMy0xLTEtMzgwNzU_e82c30aa-9fe0-4512-b5fe-5f94921c837e"
      unitRef="usd">52708000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTMtMS0xLTEtMzgwNzU_4da57876-231e-4ea0-b46c-3724d2b97f90"
      unitRef="usd">141249000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTMtMy0xLTEtMzgwNzU_5503e1e3-0862-4fbd-9af8-459466322984"
      unitRef="usd">149205000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTQtMS0xLTEtMzgwNzU_a1eb0ffa-627f-4c69-a214-1648612bb273"
      unitRef="usd">69670000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTQtMy0xLTEtMzgwNzU_cc52a198-55df-4260-9c95-ee7d488e5a40"
      unitRef="usd">82410000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTUtMS0xLTEtMzgwNzU_f50286b2-eba5-4742-98e2-102a2eaaee41"
      unitRef="usd">5177000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTUtMy0xLTEtMzgwNzU_31f121ff-6b06-4920-a48b-15001039dbfd"
      unitRef="usd">5323000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTctMS0xLTEtMzgwNzU_1572cf7a-42e7-4ac7-8754-619c5f1aa65e"
      unitRef="usd">743607000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMTctMy0xLTEtMzgwNzU_680738b4-9d5b-4861-83ca-cf6a2345c643"
      unitRef="usd">717323000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjAtMS0xLTEtMzgwNzU_878200a4-4bb4-4b4a-9e63-06cebe4fc7dc"
      unitRef="usd">84527000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjAtMy0xLTEtMzgwNzU_852bfda9-1288-44aa-88c1-9399f1f3769c"
      unitRef="usd">86765000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjEtMS0xLTEtMzgwNzU_6f41f490-a3f8-40e6-9e6d-bb7b4a274d10"
      unitRef="usd">51453000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjEtMy0xLTEtMzgwNzU_9f12e3dd-1d7e-4928-98f2-3206efce6410"
      unitRef="usd">56156000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjItMS0xLTEtMzgwNzU_ffbeca7c-1176-46ab-9226-214c636dd514"
      unitRef="usd">13709000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjItMy0xLTEtMzgwNzU_d9376c46-387a-4072-8ddb-f26d08a57611"
      unitRef="usd">6038000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjMtMS0xLTEtMzgwNzU_1a596672-de9c-4cea-acee-1986bdff3bc5"
      unitRef="usd">1070000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjMtMy0xLTEtMzgwNzU_099c565a-9f49-4983-a1b7-912b9535d7a1"
      unitRef="usd">846000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjQtMS0xLTEtMzgwNzU_45a34ad8-6850-48ca-9114-b0dce92883e6"
      unitRef="usd">7972000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjQtMy0xLTEtMzgwNzU_f21cfe23-d712-4384-9e06-4c01a2dc694c"
      unitRef="usd">8196000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjUtMS0xLTEtMzgwNzU_de466795-0b17-4d8c-8e1b-e967375815d6"
      unitRef="usd">158731000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjUtMy0xLTEtMzgwNzU_0eb0c350-442f-49b2-86cd-5f634834ccd1"
      unitRef="usd">158001000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjYtMS0xLTEtMzgwNzU_371174be-09c2-4fc0-af0e-ce6187a987bc"
      unitRef="usd">55458000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjYtMy0xLTEtMzgwNzU_6196c729-5974-4468-8feb-6ea77468b795"
      unitRef="usd">52094000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjctMS0xLTEtMzgwNzU_7e0fbe79-0ad7-4e76-8112-4acfd4c546a1"
      unitRef="usd">38768000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjctMy0xLTEtMzgwNzU_5af47f4f-5863-4f44-9cc6-c6a837b0a732"
      unitRef="usd">45367000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjgtMS0xLTEtMzgwNzU_5a69b56e-f2f7-48ab-9ed8-af6837b7f211"
      unitRef="usd">4498000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjgtMy0xLTEtMzgwNzU_07b1de2d-a782-43b1-b8c2-5b25b115bc7d"
      unitRef="usd">4737000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjktMS0xLTEtMzgwNzU_5557ac27-699e-41fc-87de-39d0a2be8bf2"
      unitRef="usd">21086000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMjktMy0xLTEtMzgwNzU_41a572ca-0423-4b39-8564-22cc93345d80"
      unitRef="usd">21965000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzEtMS0xLTEtMzgwNzU_0fc93d34-8cf4-482c-a4a4-b02084c7db62"
      unitRef="usd">14929000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzEtMy0xLTEtMzgwNzU_257b6a8b-2454-4c77-9de2-dd3b768d674f"
      unitRef="usd">15377000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzMtMS0xLTEtMzgwNzU_65d44958-976c-4854-9111-c069f01fded5"
      unitRef="usd">293470000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzMtMy0xLTEtMzgwNzU_7e51b5b0-8980-4451-8d89-07069c9183b6"
      unitRef="usd">297541000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzQtMS0xLTEtMzgwNzU_326fccc1-682a-4bb8-949a-4dfcef0fea9f"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzQtMy0xLTEtMzgwNzU_c9877f9a-bac0-46c5-9d5f-c936ea05624a"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockNoParValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl8yMQ_50d26f62-f37c-4fbb-afa0-a452b343866f"
      unitRef="usdPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockNoParValue
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl8yMQ_ae521055-bbae-49e9-824d-96661004740c"
      unitRef="usdPerShare">0</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl81Mw_6a9caefc-66e2-487c-b104-354df19bd401"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl81Mw_8afd8c20-4922-464b-a01a-b672d46acee1"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl84Mg_48f902f2-5922-4711-a2fe-95906b768319"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl84Mg_5a0cf87f-16e8-43c8-b946-db07633b92c3"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl84Mg_6f25f632-319a-4fb1-81b7-2541f3ed86c1"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowYzcxNTgxZTNiZjY0Y2Y5YmZlMDVlNDQ0OTZiZjdmNl84Mg_d9934d8e-e650-47a9-9db0-bede51b7613b"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMS0xLTEtMzgwNzU_8017a5c6-9638-4fb4-b9f1-e149af272fcc"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzYtMy0xLTEtMzgwNzU_87a2a477-ba51-4d67-91b8-281ce6c5c07d"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M18xOA_89f34d8f-78bd-47e5-ad0c-d35aa2f6a7f9"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M18xOA_e53ad945-d491-4cc9-8dcc-52d3566c04e4"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M181MA_a221cd51-144d-4c7a-813f-5124fb65c1c9"
      unitRef="shares">125000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M181MA_f4f41795-db3a-4266-a4d9-322d4a1fb753"
      unitRef="shares">125000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M182MQ_d1f828cb-5d57-45fc-a11d-2f2a7d372904"
      unitRef="shares">37211056</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M182OA_95afbfae-7e44-4527-9ff5-ee2d3a40d7dd"
      unitRef="shares">37273510</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M185OA_947885a5-031c-4f5a-9cd4-096939c1fbcf"
      unitRef="shares">33119361</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo1MzhiZDE4ZDhkYTI0NThjOWZlOTg5ZWRkYTVlNmI3M18xMDU_1c32aeef-be71-4122-8ba2-5cf2c89d2d09"
      unitRef="shares">33274785</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMS0xLTEtMzgwNzU_841a42c8-d8fe-418a-8b11-fabcb775abc2"
      unitRef="usd">373000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzctMy0xLTEtMzgwNzU_14cccaf7-2d37-436c-8ba6-3d3c9173b589"
      unitRef="usd">373000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzgtMS0xLTEtMzgwNzU_fb8befe7-51fc-44e5-b20a-e9494d20610d"
      unitRef="usd">251359000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzgtMy0xLTEtMzgwNzU_e4167585-c3fe-4faf-8565-e9986ccc0bd1"
      unitRef="usd">254162000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzktMS0xLTEtMzgwNzU_5720feeb-bc85-48c8-9e2a-dd0cd7016d99"
      unitRef="usd">315471000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfMzktMy0xLTEtMzgwNzU_69f97dbb-4b7f-449f-973a-99a439686102"
      unitRef="usd">259718000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDAtMS0xLTEtMzgwNzU_59e00d28-fa91-4a6b-a411-1ae585fb0e86"
      unitRef="usd">-41365000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDAtMy0xLTEtMzgwNzU_f6def2d3-f634-41a0-aad5-89071f9a6b7a"
      unitRef="usd">-21770000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDEtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjpkZWVmMjcyNjM1YWE0ZTJiYTZjOTBjMjMzOGE2NWM3OF8zNA_d04f9b15-b016-4943-93cf-ee8fd1cc7d6c"
      unitRef="shares">4091695</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDEtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjpkZWVmMjcyNjM1YWE0ZTJiYTZjOTBjMjMzOGE2NWM3OF80MQ_43c97c46-8e50-4a5c-9c6c-de9ea2feecee"
      unitRef="shares">3998725</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDEtMS0xLTEtMzgwNzU_706bd118-67d2-475a-be36-5bfae415b5b7"
      unitRef="usd">75701000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDEtMy0xLTEtMzgwNzU_6886b35b-0eab-451b-9039-62de79df54d0"
      unitRef="usd">72701000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDItMS0xLTEtMzgwNzU_7c679a07-2d3d-4efd-b0df-f7d37d2451fa"
      unitRef="usd">450137000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDItMy0xLTEtMzgwNzU_d1b28633-c668-4964-811a-87ae36a33e28"
      unitRef="usd">419782000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDMtMS0xLTEtMzgwNzU_77eb0509-8fe0-4c02-b061-e69e0d04394e"
      unitRef="usd">743607000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xNi9mcmFnOjYzZDQ1N2E1NWM1ODQ3NTg4OTYzYTYzOTM4ZGMzZDA2L3RhYmxlOjVhM2RiNGQ4MGZjYjQ1NDY4ZTVjZjJhOTBkOWM5NGJlL3RhYmxlcmFuZ2U6NWEzZGI0ZDgwZmNiNDU0NjhlNWNmMmE5MGQ5Yzk0YmVfNDMtMy0xLTEtMzgwNzU_3396de72-2ca8-4113-9789-02b3369a5f87"
      unitRef="usd">717323000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNC0xLTEtMS0zODA3NQ_78e92899-9ff4-4c70-8d85-ba6430410278"
      unitRef="usd">324037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNC0zLTEtMS0zODA3NQ_d6ef7e43-bf72-4b97-9f20-bbcea84b7fd1"
      unitRef="usd">279877000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNC01LTEtMS0zODA3NQ_7ac344fe-59cd-4ff2-a50d-2e6f714abdf0"
      unitRef="usd">913970000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNC03LTEtMS0zODA3NQ_f2e31ef3-e793-4c3b-bce8-e826ad78cb1e"
      unitRef="usd">780381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNi0xLTEtMS0zODA3NQ_ec2def1c-9c86-4918-9cac-61af87dfb855"
      unitRef="usd">251446000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNi0zLTEtMS0zODA3NQ_087555ad-240d-482e-9df6-bdff7398e771"
      unitRef="usd">219866000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNi01LTEtMS0zODA3NQ_1672cf7d-b85e-4b9f-a3e5-01dd9f4c927e"
      unitRef="usd">712931000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNi03LTEtMS0zODA3NQ_18f4d282-fd64-4b01-9863-135fdb62e266"
      unitRef="usd">604723000</us-gaap:CostOfRevenue>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNy0xLTEtMS0zODA3NQ_1050b06e-d740-4be9-8d7b-19e12d9f7684"
      unitRef="usd">28822000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNy0zLTEtMS0zODA3NQ_0a88ae46-e555-4cd3-9936-0e2ff832aaa4"
      unitRef="usd">27766000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNy01LTEtMS0zODA3NQ_35b1c5c0-087d-409e-a4b9-4b20312365d8"
      unitRef="usd">87774000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfNy03LTEtMS0zODA3NQ_896fb06f-dd36-497f-8dd6-bcfc65c40bf6"
      unitRef="usd">88299000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:RestructuringCharges
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOC0xLTEtMS0zODA3NQ_1baf8378-1773-4e18-8b0d-fa8bad8e19f8"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOC0zLTEtMS0zODA3NQ_d7fa652e-6a2f-43ac-a84e-0f81ba9e3776"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOC01LTEtMS0zODA3NQ_73caacc2-ec2b-4e6f-873d-3644f73a1291"
      unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOC03LTEtMS0zODA3NQ_1f088571-a8cc-4135-93bd-86e599048214"
      unitRef="usd">39000</us-gaap:RestructuringCharges>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOS0xLTEtMS0zODA3NQ_f85b37cd-0abc-4adc-9e8a-12ce795ca65a"
      unitRef="usd">9734000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOS0zLTEtMS0zODA3NQ_44d891d9-0e2c-4b1c-8f95-52ec1c320260"
      unitRef="usd">10683000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOS01LTEtMS0zODA3NQ_eefe0c2b-f336-42f4-b307-467eaed009a2"
      unitRef="usd">30554000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfOS03LTEtMS0zODA3NQ_cd54b265-e9e0-461d-af15-bb92b7b5087b"
      unitRef="usd">32543000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTEtMS0xLTEtMzgwNzU_b9d90e2b-f467-4b7e-9dba-57acd0230ce0"
      unitRef="usd">34035000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTEtMy0xLTEtMzgwNzU_699837db-091b-4af1-8712-c47e26e7dc91"
      unitRef="usd">21562000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTEtNS0xLTEtMzgwNzU_059700bb-d148-41a3-8de5-8c4a7c55cd40"
      unitRef="usd">82711000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTEtNS0xLTEtMzgwNzU_83618411-b3ed-4099-a2b9-8099101f4842"
      unitRef="usd">82711000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTEtNy0xLTEtMzgwNzU_1b898a39-1664-4709-84e3-9b2a61a6fca2"
      unitRef="usd">54777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTEtNy0xLTEtMzgwNzU_4a18c888-2c38-4802-a8fb-a82a2b8a2b2c"
      unitRef="usd">54777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTMtMS0xLTEtMzgwNzU_71c126fc-b9db-4a2f-a15e-e9e62d3f8906"
      unitRef="usd">724000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTMtMy0xLTEtMzgwNzU_dc47f37b-d29b-45c6-b55b-b14653184eee"
      unitRef="usd">597000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTMtNS0xLTEtMzgwNzU_c0ed9b57-490b-4e62-81e0-7c5b454dad00"
      unitRef="usd">1849000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTMtNy0xLTEtMzgwNzU_a2e1228b-0af8-4e3a-995d-2190b71c7812"
      unitRef="usd">1988000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTQtMS0xLTEtMzgwNzU_fa992e31-3257-428e-86ce-199ef99e91cb"
      unitRef="usd">398000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTQtMy0xLTEtMzgwNzU_32ef0d93-95ab-4823-b1a8-ca11cfcdee9f"
      unitRef="usd">188000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTQtNS0xLTEtMzgwNzU_2ac3cd7b-98ff-47df-8d4d-e7145fa21a1c"
      unitRef="usd">905000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTQtNy0xLTEtMzgwNzU_2797f508-2222-4484-b363-6c0aabb74479"
      unitRef="usd">645000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTUtMS0xLTEtMzgwNzU_624d0326-8b46-4062-b81e-1057d7ae7211"
      unitRef="usd">33709000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTUtMy0xLTEtMzgwNzU_8b121c05-e76e-4e2c-9a1f-9c0fa9bbacc2"
      unitRef="usd">21153000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTUtNS0xLTEtMzgwNzU_76426f9a-7ef9-4d9b-beda-729a8c73e427"
      unitRef="usd">81767000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTUtNy0xLTEtMzgwNzU_ba61483e-01f4-4c37-bd3c-3acb86546fef"
      unitRef="usd">53434000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTYtMS0xLTEtMzgwNzU_e94fb60c-dc23-4ae8-9ea8-da5f5925588e"
      unitRef="usd">7801000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTYtMy0xLTEtMzgwNzU_01bdb084-42a7-4a8e-87c7-6d16b00de7a6"
      unitRef="usd">7474000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTYtNS0xLTEtMzgwNzU_6b03292a-b8a3-4842-aff4-38037f7605fd"
      unitRef="usd">18098000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTYtNy0xLTEtMzgwNzU_1dbc1b1e-d114-4286-9991-068e28406f41"
      unitRef="usd">17352000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTktMS0xLTEtMzgwNzU_3f2147da-2597-4b79-90cf-4076c6011bf2"
      unitRef="usd">25908000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTktMy0xLTEtMzgwNzU_ac77dbcb-fead-49fc-838f-bbae5359bad4"
      unitRef="usd">13679000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTktNS0xLTEtMzgwNzU_340cabab-5560-4fca-88ed-153460fea697"
      unitRef="usd">63669000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMTktNy0xLTEtMzgwNzU_2f797746-449a-4dc9-ab65-bb453c25e2ed"
      unitRef="usd">36082000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjEtMS0xLTEtMzgwNzU_e247935a-baf2-4403-8967-25f8eee7ca44"
      unitRef="usdPerShare">0.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjEtMy0xLTEtMzgwNzU_45c3eb02-79e2-4663-aab3-c7c270a46769"
      unitRef="usdPerShare">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjEtNS0xLTEtMzgwNzU_496c837b-36e6-401b-b325-6f7cf90a829a"
      unitRef="usdPerShare">1.92</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjEtNy0xLTEtMzgwNzU_52e45fbd-bfac-46d5-a384-a2f957a0f55a"
      unitRef="usdPerShare">1.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjMtMS0xLTEtMzgwNzU_c6157ef8-d6b4-4485-bcbc-5f4e65708a1c"
      unitRef="usdPerShare">0.78</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjMtMy0xLTEtMzgwNzU_875bc582-1131-4dc8-a2f6-90ff304109ef"
      unitRef="usdPerShare">0.41</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjMtNS0xLTEtMzgwNzU_b1f4dea3-81f6-4832-a854-eebc431b9bdb"
      unitRef="usdPerShare">1.91</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjMtNy0xLTEtMzgwNzU_a5b5b0fc-3dfd-46f8-a96b-f6ed543443b0"
      unitRef="usdPerShare">1.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjYtMS0xLTEtMzgwNzU_b629f40b-f990-4289-87f3-8cd347126bf2"
      unitRef="shares">32999000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjYtMy0xLTEtMzgwNzU_2502a1bb-d46e-4199-b0a9-2a8bd170f701"
      unitRef="shares">33359000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjYtNS0xLTEtMzgwNzU_13c854b8-6435-4110-8245-66b6cf73e624"
      unitRef="shares">33093000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjYtNy0xLTEtMzgwNzU_6869f98e-d10c-4931-82f5-a5263a61d740"
      unitRef="shares">33194000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjctMS0xLTEtMzgwNzU_4fa185ad-aee4-45a0-b565-68c10883a58b"
      unitRef="shares">33173000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjctMy0xLTEtMzgwNzU_d192fb0b-5e11-498b-a446-f5b485c01a82"
      unitRef="shares">33650000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjctNS0xLTEtMzgwNzU_3acbc79f-5d5a-4dc8-b17e-90e9b40f0d81"
      unitRef="shares">33256000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjctNy0xLTEtMzgwNzU_5eb2a822-e8d4-4221-91c5-9432af94d923"
      unitRef="shares">33518000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjktMS0xLTEtMzgwNzU_15ea084e-5745-44ad-9728-461622367341"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjktMy0xLTEtMzgwNzU_9adf39ff-a711-42d6-a12c-98422167df92"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjktNS0xLTEtMzgwNzU_a4d1aec6-1b9b-41e5-a65b-6e59d1869ef7"
      unitRef="usdPerShare">0.24</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8xOS9mcmFnOjIzNWZjYmQ5Njc5OTQ3NTViZWM1M2FiOGFiN2IyN2ZmL3RhYmxlOjI3ZDY2ZTI2ODMxNDQwYTY4NjlhNzRmNGZhYWMxYjM3L3RhYmxlcmFuZ2U6MjdkNjZlMjY4MzE0NDBhNjg2OWE3NGY0ZmFhYzFiMzdfMjktNy0xLTEtMzgwNzU_12028bc0-ca2e-4ed9-9196-122ca199d038"
      unitRef="usdPerShare">0.24</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:NetIncomeLoss
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNC0xLTEtMS0zODA3NQ_06cbbdb7-943b-4030-847c-395b7259c0f7"
      unitRef="usd">25908000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNC0zLTEtMS0zODA3NQ_f82968b9-b58c-4bba-b90b-603008b51cc6"
      unitRef="usd">13679000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNC01LTEtMS0zODA3NQ_01846c27-1bc7-41a8-9f39-b54dfe1b8ae3"
      unitRef="usd">63669000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNC03LTEtMS0zODA3NQ_714db143-370f-4d19-9d03-4269f99e041b"
      unitRef="usd">36082000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNi0xLTEtMS0zODA3NQ_d0b374ee-9cc0-4980-9563-f62cf35c0b03"
      unitRef="usd">-5168000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNi0zLTEtMS0zODA3NQ_8374c2e8-648c-4644-9c56-e6d5d11bb955"
      unitRef="usd">424000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNi01LTEtMS0zODA3NQ_a774ffc6-e2a4-4e00-b38c-8120cf90791a"
      unitRef="usd">-19595000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfNi03LTEtMS0zODA3NQ_32cb6eec-85bd-49fd-9a45-ad41f502b7ff"
      unitRef="usd">10056000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfOS0xLTEtMS0zODA3NQ_ab2307de-b576-472d-8da8-14528793c6c8"
      unitRef="usd">-5168000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfOS0zLTEtMS0zODA3NQ_8fb2a6ed-ddbc-45d7-96e1-5d589db5f7f4"
      unitRef="usd">424000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfOS01LTEtMS0zODA3NQ_ea474d03-218b-4b41-8e17-26a62801f1f0"
      unitRef="usd">-19595000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfOS03LTEtMS0zODA3NQ_35680150-78df-4379-831d-d300e965c866"
      unitRef="usd">10056000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfMTAtMS0xLTEtMzgwNzU_3611102f-e37c-4e63-832f-ea7d6cab54ed"
      unitRef="usd">20740000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfMTAtMy0xLTEtMzgwNzU_ab01d62a-755e-476d-b7fc-dcff5b9ea989"
      unitRef="usd">14103000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfMTAtNS0xLTEtMzgwNzU_19a9840a-2f5d-4bed-835b-009dec62be6d"
      unitRef="usd">44074000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yMi9mcmFnOjIzNDg2ODgxYmYwZTQzYWQ4YzdmYWEzZDI1OWNjYzliL3RhYmxlOmI4ZWVmM2Q5NzNmZDQ4YzNiZWFmNThlNmJkZTNjNGFjL3RhYmxlcmFuZ2U6YjhlZWYzZDk3M2ZkNDhjM2JlYWY1OGU2YmRlM2M0YWNfMTAtNy0xLTEtMzgwNzU_fe3f4201-9eec-4dd4-bccb-35ce3f1ff7ea"
      unitRef="usd">46138000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNS0xLTEtMS0zODA3NQ_6e80b73e-8879-410f-930f-6553f95fea85"
      unitRef="usd">63669000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNS0zLTEtMS0zODA3NQ_aa4dbd73-c45e-42e3-b739-5ebb7ddb8311"
      unitRef="usd">36082000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNy0xLTEtMS0zODA3NQ_e43f5ac8-e60a-4c2a-9c99-1bd751a5d23e"
      unitRef="usd">30554000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNy0zLTEtMS0zODA3NQ_eca443d8-782c-4eb5-8e7f-7eba43d32ade"
      unitRef="usd">32543000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfOC0xLTEtMS0zODA3NQ_ef4695d2-1a35-430f-ad8c-0a3d12981373"
      unitRef="usd">1707000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfOC0zLTEtMS0zODA3NQ_65ab14e7-70c0-44e9-90c5-0b12e1d1daf2"
      unitRef="usd">1470000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfOS0xLTEtMS0zODA3NQ_3b9adf5e-a763-45d1-899f-5f61496eeff0"
      unitRef="usd">505000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfOS0zLTEtMS0zODA3NQ_ae61311f-2af2-4dd1-88f7-b92dbdc9ba62"
      unitRef="usd">5429000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTMtMS0xLTEtMzgwNzU_6785e1be-df41-410f-a162-e706bc3bbe24"
      unitRef="usd">-2647000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTMtMy0xLTEtMzgwNzU_941b42ae-ab06-40b7-9641-74db42e62c03"
      unitRef="usd">-5485000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTUtMS0xLTEtMzgwNzU_080793d9-890f-42fb-9911-ef0cedcb74e4"
      unitRef="usd">5306000</us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable>
    <us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTUtMy0xLTEtMzgwNzU_81e5b2dc-412a-43f4-b76f-1a51f5917b3e"
      unitRef="usd">8277000</us-gaap:IncreaseDecreaseInAccountsAndNotesReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTYtMS0xLTEtMzgwNzU_ec492562-c2bc-446a-8aef-32714ca1f486"
      unitRef="usd">48280000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTYtMy0xLTEtMzgwNzU_bc3d2c03-815e-4805-8172-d1ebec86db95"
      unitRef="usd">32113000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTctMS0xLTEtMzgwNzU_af82fa8a-3f50-41d3-b914-064df0c9aebe"
      unitRef="usd">824000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTctMy0xLTEtMzgwNzU_2adca9f1-a6ca-446c-b90b-c2edacdd1da6"
      unitRef="usd">2768000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTgtMS0xLTEtMzgwNzU_068d364f-d577-4c49-9a2d-612b42e2dda7"
      unitRef="usd">2765000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTgtMy0xLTEtMzgwNzU_046f5b98-f653-46f4-8c7a-52d477c4081f"
      unitRef="usd">1600000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTktMS0xLTEtMzgwNzU_0916e8ba-bbb1-46b7-937d-06f7fb10f428"
      unitRef="usd">-4721000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMTktMy0xLTEtMzgwNzU_63088ab7-d6ca-487f-867e-4511528bd1b7"
      unitRef="usd">12521000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjAtMS0xLTEtMzgwNzU_82b08246-b22a-4276-9f11-d9da2946b630"
      unitRef="usd">7522000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjAtMy0xLTEtMzgwNzU_b1ec8a1c-dcc8-45b1-8465-8988230de6e8"
      unitRef="usd">-5158000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjEtMS0xLTEtMzgwNzU_b316ab4c-175a-4b75-9541-185991da0de6"
      unitRef="usd">-239000</us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations>
    <us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjEtMy0xLTEtMzgwNzU_c6ec55f2-a5e1-4a71-9c44-2eb13d1d18f7"
      unitRef="usd">-158000</us-gaap:IncreaseDecreaseInPensionAndPostretirementObligations>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjItMS0xLTEtMzgwNzU_07c5de42-845d-43f8-a2ef-2da37095fe21"
      unitRef="usd">32000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjItMy0xLTEtMzgwNzU_9f5d2e25-699f-4d5b-974b-b83d985d7248"
      unitRef="usd">962000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjMtMS0xLTEtMzgwNzU_39f1aa4f-ac7e-4294-96ac-83f41c163e4c"
      unitRef="usd">177000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjMtMy0xLTEtMzgwNzU_534b9e7f-6af3-492a-9424-e562c882e180"
      unitRef="usd">183000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjQtMS0xLTEtMzgwNzU_c424e154-690e-4fda-a250-a5ae3d4e7c61"
      unitRef="usd">49854000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjQtMy0xLTEtMzgwNzU_4c4b8017-7d17-4055-8db7-342fefec9674"
      unitRef="usd">47435000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjgtMS0xLTEtMzgwNzU_d6e0aa6e-8be1-4804-917b-6fc7f720d58a"
      unitRef="usd">19488000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMjgtMy0xLTEtMzgwNzU_578c8a83-494a-4e15-8bb3-a2a89cbe4e84"
      unitRef="usd">16006000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzAtMS0xLTEtMzgwNzU_11859fdb-06eb-4414-84e7-6c8b9f22a15f"
      unitRef="usd">134000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzAtMy0xLTEtMzgwNzU_8c4d8923-92a0-4448-8abb-2e037696be13"
      unitRef="usd">3138000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzEtMS0xLTEtMzgwNzU_5d8f14c6-54b8-4ae1-a670-3ae979a19624"
      unitRef="usd">-19354000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzEtMy0xLTEtMzgwNzU_d4718306-9f99-4220-9fde-2b616ebbc5fc"
      unitRef="usd">-12868000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzMtMS0xLTEtMzgwNzU_463d7e92-3ee4-448b-bd65-9ccc5370fcd7"
      unitRef="usd">70500000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzMtMy0xLTEtMzgwNzU_92d0eb35-3e31-49ad-a186-e00bc6094d49"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzQtMS0xLTEtMzgwNzU_5395f594-faf1-4023-a5c9-b93c3d499417"
      unitRef="usd">70500000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzQtMy0xLTEtMzgwNzU_20bf37cf-3235-422d-b523-b8f236b6eed1"
      unitRef="usd">45000000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzUtMS0xLTEtMzgwNzU_e5ceb6b2-d0c7-40f3-8f4b-0dd3b6f38766"
      unitRef="usd">1210000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzUtMy0xLTEtMzgwNzU_191e794c-1575-4cf0-8ffd-fbee816670ec"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzYtMS0xLTEtMzgwNzU_fecb7589-7faf-462c-954d-3db49eee3706"
      unitRef="usd">1301000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzYtMy0xLTEtMzgwNzU_0b16b35c-b2d2-4b34-b736-aa453f5d9f48"
      unitRef="usd">502000</us-gaap:RepaymentsOfLongTermDebtAndCapitalSecurities>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzctMS0xLTEtMzgwNzU_8f4b0c40-6645-498d-b390-6a46693cac68"
      unitRef="usd">7916000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzctMy0xLTEtMzgwNzU_47d97474-14b9-4e44-b782-c6f3223f9953"
      unitRef="usd">8017000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzgtMS0xLTEtMzgwNzU_c067f6ca-3ac1-49c6-83c9-1903e59b4b34"
      unitRef="usd">502000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfMzgtMy0xLTEtMzgwNzU_1022e3b8-d6f1-43f3-bf90-42b3dc820495"
      unitRef="usd">16272000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDAtMS0xLTEtMzgwNzU_09165ff7-df0f-461d-b1c8-72730ef19b07"
      unitRef="usd">1412000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDAtMy0xLTEtMzgwNzU_29a68dd6-5442-4a29-ab19-5ab5f5594d7b"
      unitRef="usd">492000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDEtMS0xLTEtMzgwNzU_9b7bc833-c669-40e9-8792-b97db6b1b498"
      unitRef="usd">6600000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDEtMy0xLTEtMzgwNzU_4f638a04-1533-43e5-91e4-1a3f98e71262"
      unitRef="usd">5741000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDItMS0xLTEtMzgwNzU_c4b36c50-719d-4890-b5be-1559f7aa0909"
      unitRef="usd">-17937000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDItMy0xLTEtMzgwNzU_990ccde2-f289-4963-a7d2-5ec13b62c32e"
      unitRef="usd">-43480000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDMtMS0xLTEtMzgwNzU_a3048540-ab65-4309-b637-3c6946d0ad16"
      unitRef="usd">-2594000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDMtMy0xLTEtMzgwNzU_18806373-4867-4d16-b49c-44f3e99d032d"
      unitRef="usd">955000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDQtMS0xLTEtMzgwNzU_ebb2d99d-0960-4167-b47b-7e8682fafb82"
      unitRef="usd">9969000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDQtMy0xLTEtMzgwNzU_4cc17584-0ca5-4399-8675-76397b56e949"
      unitRef="usd">-7958000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDUtMS0xLTEtMzgwNzU_85940d4f-ff49-4f72-89a2-bba832effd8e"
      unitRef="usd">40061000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib76036feb09e400a8dd9d8ab0902f80f_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDUtMy0xLTEtMzgwNzU_bbaf57ca-4daa-48f2-ae60-be7507dea4bc"
      unitRef="usd">51621000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDYtMS0xLTEtMzgwNzU_fc9efc02-c10c-4c62-a45a-bd3f7e832d77"
      unitRef="usd">50030000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i4667bc7c539e44f5a9849779272b2658_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yNS9mcmFnOmEwYjEyZWNjYTMxMzQ5Yzg4YjA1NThlZDk4NmQ2ZWQ3L3RhYmxlOjVmYTZmYjYwYWVjOTQ3NmViODJmZTcwZWY1NTE1OTMzL3RhYmxlcmFuZ2U6NWZhNmZiNjBhZWM5NDc2ZWI4MmZlNzBlZjU1MTU5MzNfNDYtMy0xLTEtMzgwNzU_240707da-ceee-4909-8254-5bc6bdd49bea"
      unitRef="usd">43663000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:StockholdersEquity
      contextRef="i5083c9711daf4aaca0d5bb6d17d16133_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMi0xLTEtMS0zODA3NQ_d43fab48-14aa-473a-9822-88fce200005c"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3f00eefaff204e7db509097f76f4c408_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMi0zLTEtMS0zODA3NQ_b0cb1201-7152-4c5c-bc28-9b3a2c0fe106"
      unitRef="usd">254162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i789dc61880ed46628a21887c2c33dbce_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMi01LTEtMS0zODA3NQ_3db649b2-c5c9-466c-8b08-5b2d0698016b"
      unitRef="usd">259718000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia91dc970ca3e4e47b93153a638ed952b_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMi03LTEtMS0zODA3NQ_09269280-0984-4ea3-ae56-cfd912d14253"
      unitRef="usd">-21770000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie6ba8dcc07df419aab6c8b9cfcaa4a22_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMi05LTEtMS0zODA3NQ_baf74c4b-bfe8-443a-8f03-fe39ed59f34f"
      unitRef="usd">-72701000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMi0xMS0xLTEtMzgwNzU_c2afaf8c-989b-49de-8fd1-235ce8c9229f"
      unitRef="usd">419782000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ib0f0029d2e9f4429b1154089018fa8ff_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMy01LTEtMS0zODA3NQ_72515a78-fce7-4e17-8252-2035b845104c"
      unitRef="usd">11239000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMy0xMS0xLTEtMzgwNzU_49309f68-f37b-4398-b1fc-53ef274c43ea"
      unitRef="usd">11239000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="id1d820a0c04e46d0b34ebb77cc05fad4_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNC03LTEtMS0zODA3NQ_32d3610a-d89c-41bd-8226-0e948e93ab55"
      unitRef="usd">-3159000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNC0xMS0xLTEtMzgwNzU_e428dd3e-6b5b-413b-bc2a-a4603116e5eb"
      unitRef="usd">-3159000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNS0wLTEtMS0zODA3NS90ZXh0cmVnaW9uOjk0ZGNhN2ZjZTlhNjRlMDY4MDIxMDIzMzEwNjM2YzcxXzIy_f5697b89-96da-4cde-8939-768922de9247"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="ib0f0029d2e9f4429b1154089018fa8ff_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNS01LTEtMS0zODA3NQ_c33e7cda-4385-4709-8aec-dca5afe74694"
      unitRef="usd">2587000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNS0xMS0xLTEtMzgwNzU_062caa2c-9ef0-4624-b0a8-a65bc178c253"
      unitRef="usd">2587000</us-gaap:DividendsCommonStockCash>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iadc710909c9c45b6a4f852f9f35fab36_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfOS0zLTEtMS0zODA3NQ_60eb83b2-b43b-4157-98c4-afa8c32b4c58"
      unitRef="usd">552000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfOS0xMS0xLTEtMzgwNzU_87aad56b-32b1-46a5-8649-651f18313c6a"
      unitRef="usd">552000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iadc710909c9c45b6a4f852f9f35fab36_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTAtMy0xLTEtMzgwNzU_5c7e21e5-aef4-4880-b6be-b956d50f9186"
      unitRef="usd">5000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia19a6dd768fb48b689b78389f694f044_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTAtOS0xLTEtMzgwNzU_103635e1-b778-4d3d-92d2-153a5c26793a"
      unitRef="usd">50000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTAtMTEtMS0xLTM4MDc1_659574ad-a3e4-4c2a-bfde-80d73ade679c"
      unitRef="usd">55000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="iadc710909c9c45b6a4f852f9f35fab36_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTEtMy0xLTEtMzgwNzU_1f9901a2-f924-4cd2-b5ee-e967dfa0f505"
      unitRef="usd">-1534000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="ia19a6dd768fb48b689b78389f694f044_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTEtOS0xLTEtMzgwNzU_01819add-dcee-44b7-ae4a-1bb5525d0b95"
      unitRef="usd">1534000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="iadc710909c9c45b6a4f852f9f35fab36_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTItMy0xLTEtMzgwNzU_a4d86e05-37b0-4ef0-a76d-1c7328ac7df4"
      unitRef="usd">-1598000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="ia19a6dd768fb48b689b78389f694f044_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTItOS0xLTEtMzgwNzU_e8145890-5c88-41f4-8715-397b24002f63"
      unitRef="usd">1598000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <us-gaap:StockholdersEquityOther
      contextRef="iadc710909c9c45b6a4f852f9f35fab36_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTMtMy0xLTEtMzgwNzU_5d5771be-9473-4d57-ba70-cd4f3e1e08ab"
      unitRef="usd">1383000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i772940e66fb2403ca41bb25dd3c58cae_D20211101-20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTMtMTEtMS0xLTM4MDc1_0701bb57-857d-4b81-90b9-894825345b15"
      unitRef="usd">1383000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquity
      contextRef="ifd862406e1144f9f82a7b6fffcdb879f_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTQtMS0xLTEtMzgwNzU_6df22abe-2d0d-4ad4-adc8-79d022c07247"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib28ee6d1ff2644d1a603aaa9bb2674d2_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTQtMy0xLTEtMzgwNzU_83e04439-90e9-442f-afbd-2845d83ceaf1"
      unitRef="usd">250204000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie2287263258843af812bbb5ad163cb20_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTQtNS0xLTEtMzgwNzU_f6b72507-333b-4ca7-8117-f9802b721b0c"
      unitRef="usd">268370000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i990ae4d8861243e9adc2ea1778a1a714_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTQtNy0xLTEtMzgwNzU_fde08b20-63f9-4eef-9380-d98b5d5fb973"
      unitRef="usd">-24929000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2813331922204a1ba9448ea5b1760bb9_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTQtOS0xLTEtMzgwNzU_d43eb888-c639-464b-a8b6-529db59a6a84"
      unitRef="usd">-69519000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4d70b875fd8248c5bbafba90648f23ce_I20220131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTQtMTEtMS0xLTM4MDc1_a1b546a8-0380-4f2d-81a4-179d7594af86"
      unitRef="usd">424499000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i70bad330daef463b80f31d4d91bbb27b_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTUtNS0xLTEtMzgwNzU_3cab06e2-4dce-4664-8195-4a23fed8426d"
      unitRef="usd">26522000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTUtMTEtMS0xLTM4MDc1_acd7f8f4-9aeb-4008-a462-1da09254927f"
      unitRef="usd">26522000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i4789841ef5db4b3a83ce78b797c707bc_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTYtNy0xLTEtMzgwNzU_83ea2cd0-0e7f-49f4-bfe3-34a039a25978"
      unitRef="usd">-11268000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTYtMTEtMS0xLTM4MDc1_878e551a-e344-408f-930f-6e8a4aa6991f"
      unitRef="usd">-11268000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjpiNzQ0ZGY1MmU4NjI0NTMzOTA1MmFjNzI5ZjY4N2NjNF8yMg_144e1d49-9ed1-418d-a85d-022e3e3a30d9"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i70bad330daef463b80f31d4d91bbb27b_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTctNS0xLTEtMzgwNzU_22a5cad5-8241-4f83-83b7-5df37ad17dc2"
      unitRef="usd">2671000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTctMTEtMS0xLTM4MDc1_1de8c76a-8e63-4715-b740-34be3fb22e69"
      unitRef="usd">2671000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i2bc9ae79563d4238a41316af1cd095c0_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTgtOS0xLTEtMzgwNzU_66c5a3be-acb8-457a-b5ce-05a51636c573"
      unitRef="usd">1569000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMTgtMTEtMS0xLTM4MDc1_7fef4f55-10c9-4808-b2b2-d92c737ca74c"
      unitRef="usd">1569000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6c847fcc16d142868f596a6cf01cf8a9_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjAtMy0xLTEtMzgwNzU_8d99df68-4a37-4b5a-9507-ef4969716737"
      unitRef="usd">572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjAtMTEtMS0xLTM4MDc1_07ba3689-08cf-4f94-ac6a-823d8cbe9cd2"
      unitRef="usd">572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i6c847fcc16d142868f596a6cf01cf8a9_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjEtMy0xLTEtMzgwNzU_83024379-e5e1-4f8e-a072-a1c0c6cfc6c4"
      unitRef="usd">9000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i2bc9ae79563d4238a41316af1cd095c0_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjEtOS0xLTEtMzgwNzU_98b53984-380c-4d54-9351-cf5d81ef6bc0"
      unitRef="usd">109000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjEtMTEtMS0xLTM4MDc1_7b86cc91-1c85-4fb5-9395-846ed42f7bd7"
      unitRef="usd">118000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockholdersEquityOther
      contextRef="i6c847fcc16d142868f596a6cf01cf8a9_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjQtMy0xLTEtMzgwNzU_3eab4ee2-8fac-40c8-b2f5-2155bfa3b231"
      unitRef="usd">29000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="i1793695dd4b9469b9b35c14b801eab86_D20220201-20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjQtMTEtMS0xLTM4MDc1_7865388b-b594-4268-8e46-b900f08b6e61"
      unitRef="usd">29000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquity
      contextRef="i0a9f566cd9c34e8db1612ffd3a15ad19_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjUtMS0xLTEtMzgwNzU_fc1303dd-ba22-4cd0-a4ae-4ee5731f6103"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i80d7b88e914341b796dfb8f54c0edd39_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjUtMy0xLTEtMzgwNzU_91ce5d32-4587-46b4-b5aa-67f13575af99"
      unitRef="usd">250756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib122200f38ef4ce39e6e125076f4a5de_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjUtNS0xLTEtMzgwNzU_b8855b19-c78a-42c5-bf5a-cc024a640c70"
      unitRef="usd">292221000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8349af2e2bd3462d9bd87c8a2434cde6_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjUtNy0xLTEtMzgwNzU_d203a817-8895-40e0-b748-608da8748025"
      unitRef="usd">-36197000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia71e5831ea634b8a9f33f25f367b11e6_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjUtOS0xLTEtMzgwNzU_7a32d479-1358-426f-99bc-733a3f9d56fb"
      unitRef="usd">-70979000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i78ef882777d746ba84556f0c54772167_I20220430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjUtMTEtMS0xLTM4MDc1_857db8c1-496c-4fc3-9c0f-f6559e0ecc6b"
      unitRef="usd">436174000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i5b7dc45d17b34263b9ffbc66a07395ff_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjYtNS0xLTEtMzgwNzU_5e447d1f-e21b-4365-86b5-30ab4a3b2ab6"
      unitRef="usd">25908000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjYtMTEtMS0xLTM4MDc1_18e895fb-2fa3-4bc5-b79f-70503be3c1ce"
      unitRef="usd">25908000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i188f3a7f842948f39feeaecdf8d05fc4_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjctNy0xLTEtMzgwNzU_9074620c-6344-44a7-b229-760757527465"
      unitRef="usd">-5168000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjctMTEtMS0xLTM4MDc1_cb0f4eaf-e6fe-4213-a8b4-dc7c327df69d"
      unitRef="usd">-5168000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjgtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjowZWU2N2FkNWE1M2I0MjQ0OTBlMzgxYjBlMzE0ZDA5M18yMg_0818e999-8fc5-4f3a-83f2-2ad68053b40c"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i5b7dc45d17b34263b9ffbc66a07395ff_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjgtNS0xLTEtMzgwNzU_4b777355-56ad-4f32-b018-062fec27832f"
      unitRef="usd">2658000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjgtMTEtMS0xLTM4MDc1_eabb5db5-3068-4d5c-a5b8-89f94b7f351a"
      unitRef="usd">2658000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i3c62d039d3d14678bf5da4cf4a628045_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjktOS0xLTEtMzgwNzU_c3d2f109-aff6-4eff-812a-3865747cfc05"
      unitRef="usd">5031000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMjktMTEtMS0xLTM4MDc1_5fc53d5d-a70d-472c-932b-5f4e7b137ec5"
      unitRef="usd">5031000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1206276cca5f413192d3a6f7a5058a3e_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzEtMy0xLTEtMzgwNzU_5d075096-df76-49ed-ba6a-8d16a5c2b2e8"
      unitRef="usd">583000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzEtMTEtMS0xLTM4MDc1_0cee95aa-5336-423b-8e5f-563b15c09ea8"
      unitRef="usd">583000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i1206276cca5f413192d3a6f7a5058a3e_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzItMy0xLTEtMzgwNzU_0b3562e9-f3ec-459e-9f9a-9c848825330d"
      unitRef="usd">20000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i3c62d039d3d14678bf5da4cf4a628045_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzItOS0xLTEtMzgwNzU_1305507b-7147-4176-86f0-aa1560fe2a56"
      unitRef="usd">309000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzItMTEtMS0xLTM4MDc1_1df6f5b3-48a0-4422-90e9-7ebc31db97f4"
      unitRef="usd">329000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockholdersEquity
      contextRef="i76dc8543508045cd81c8847d4c131633_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzYtMS0xLTEtMzgwNzU_1e1bedb2-3289-4737-a293-ff9b4aa373c0"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5ed165ee991044e0b1482fd56b496876_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzYtMy0xLTEtMzgwNzU_cc54bcac-666c-4043-89e4-30dc1634b058"
      unitRef="usd">251359000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7c53a5195ab646ac961bd853bd41435b_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzYtNS0xLTEtMzgwNzU_59a53990-d225-405e-9c5c-0afac5f416d3"
      unitRef="usd">315471000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie171ca3cf4344774941c1e391ef7f75c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzYtNy0xLTEtMzgwNzU_9e25122a-c737-4700-8552-5ff986edbe4e"
      unitRef="usd">-41365000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9adfe38402504aa69e12c0b02aeaba2f_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzYtOS0xLTEtMzgwNzU_17f2068c-c630-4d48-a1e4-2b94ca64b8cb"
      unitRef="usd">-75701000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfMzYtMTEtMS0xLTM4MDc1_d53ae017-750d-44df-a16c-75ebe24c1f7e"
      unitRef="usd">450137000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i25e879e9569f4bcbb3eb160d611ea238_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDEtMS0xLTEtMzgwNzU_f3a8391a-3ab5-4343-85fb-73718655b853"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i446d4854e1e145179eff1a174d6d21b5_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDEtMy0xLTEtMzgwNzU_0e9b1188-3ac4-4fc3-8e57-5e78abc9d275"
      unitRef="usd">253458000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6c17e5be7bf743f999dca468d1bfe2d8_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDEtNS0xLTEtMzgwNzU_a094ffb3-33c5-46e9-b464-cc36f3d16626"
      unitRef="usd">213517000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4534a16b08a54081961cda3243dd1c6d_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDEtNy0xLTEtMzgwNzU_f7161cda-0116-434c-a170-92a55419c316"
      unitRef="usd">-33024000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5196dffe929f45e9b1fbffe4a0345c93_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDEtOS0xLTEtMzgwNzU_f113ae1a-3c2b-4f7b-aa46-6b9cd348eac9"
      unitRef="usd">-78565000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib76036feb09e400a8dd9d8ab0902f80f_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDEtMTEtMS0xLTM4MDc1_56afc3b4-21ba-40e7-91a5-ff8850f15656"
      unitRef="usd">355759000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i2f2ec85d8a954c9ea157d04ec3297d98_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDItNS0xLTEtMzgwNzU_f6c6cafc-b803-472e-9e38-5b5f9691e68e"
      unitRef="usd">7852000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDItMTEtMS0xLTM4MDc1_48ecfbdb-b47c-42a6-8df1-3b18e6a5ea61"
      unitRef="usd">7852000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ifc7e7e133c3c44cc9870e409d894f4af_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDMtNy0xLTEtMzgwNzU_cc976608-e1de-4bb2-930b-8979171f7eec"
      unitRef="usd">8600000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDMtMTEtMS0xLTM4MDc1_afea111b-29e5-4986-91c6-ce157ed2808a"
      unitRef="usd">8600000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDQtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjpmYzQ3ZDQ0YmU1YmQ0OGJlYWJiZGE0MTkxNmM2ZmEzOV8yMg_51dcf987-cc06-4ad4-941d-374f7c9ed08d"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i2f2ec85d8a954c9ea157d04ec3297d98_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDQtNS0xLTEtMzgwNzU_52e211b6-c020-4d46-a0fa-a1dd36bbf229"
      unitRef="usd">2637000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDQtMTEtMS0xLTM4MDc1_993dcff8-835a-4b42-b093-355fe8315d1a"
      unitRef="usd">2637000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i83de59ed71e744878239fdca15c35320_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDUtOS0xLTEtMzgwNzU_57cd276f-a8b0-41ec-8355-be1debc9788d"
      unitRef="usd">1927000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDUtMTEtMS0xLTM4MDc1_4101c8ab-2d92-4f4e-be2d-1fd32021b58d"
      unitRef="usd">1927000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9f20eae3d454470f89e81e8b77728a3e_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDgtMy0xLTEtMzgwNzU_c0f690d5-612b-4bd5-a75d-2986f2cfd9d4"
      unitRef="usd">523000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDgtMTEtMS0xLTM4MDc1_47a4b98e-8fdf-4b1e-a408-77216515bb97"
      unitRef="usd">523000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9f20eae3d454470f89e81e8b77728a3e_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDktMy0xLTEtMzgwNzU_83d843f7-4194-4a11-bd66-2cd70784b3c6"
      unitRef="usd">635000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i83de59ed71e744878239fdca15c35320_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDktOS0xLTEtMzgwNzU_e96a4ad6-5784-4591-b679-621a405bb3ca"
      unitRef="usd">9395000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNDktMTEtMS0xLTM4MDc1_a94f824f-61f9-484f-9d56-7c010294415c"
      unitRef="usd">10030000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i9f20eae3d454470f89e81e8b77728a3e_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTAtMy0xLTEtMzgwNzU_e2defaec-d50e-4089-b15a-379524a0daba"
      unitRef="usd">-1282000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i83de59ed71e744878239fdca15c35320_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTAtOS0xLTEtMzgwNzU_83f0d40e-de94-40a2-924f-ad81984fbf95"
      unitRef="usd">1282000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="i9f20eae3d454470f89e81e8b77728a3e_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTEtMy0xLTEtMzgwNzU_06ed25a9-036f-4686-9032-84c4988e1102"
      unitRef="usd">-565000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested
      contextRef="i83de59ed71e744878239fdca15c35320_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTEtOS0xLTEtMzgwNzU_6d2bc02b-4c90-4196-86c5-c50dc7a3096e"
      unitRef="usd">565000</nx:StockIssuedDuringPeriodTreasurySharesPerformanceSharesVested>
    <us-gaap:StockholdersEquityOther
      contextRef="i9f20eae3d454470f89e81e8b77728a3e_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTItMy0xLTEtMzgwNzU_8e120bdd-a42d-43cd-a0d1-f6830ddc9a78"
      unitRef="usd">492000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquityOther
      contextRef="if82dc1ed8305451aad83cce37d5e8202_D20201101-20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTItMTEtMS0xLTM4MDc1_d3a2140c-3c41-4759-84a7-977cb67b05ef"
      unitRef="usd">492000</us-gaap:StockholdersEquityOther>
    <us-gaap:StockholdersEquity
      contextRef="i6a1fce9f795e414ea86e8db58ab65f91_I20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTMtMS0xLTEtMzgwNzU_1a67783c-8519-45f5-9867-0f71433d792f"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8f629d213c1f4a60883a1680375302b0_I20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTMtMy0xLTEtMzgwNzU_fc8cf440-4fed-4352-bb9b-4efd55d23b58"
      unitRef="usd">252277000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i24786b43d4d446bd8fedc13576efb3ea_I20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTMtNS0xLTEtMzgwNzU_3a369b1c-e24f-42dd-818c-4a238553e73c"
      unitRef="usd">218732000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if238c3e54fbb4483a17019d910a97620_I20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTMtNy0xLTEtMzgwNzU_79aa006a-e629-4562-aba1-f86e23b213c0"
      unitRef="usd">-24424000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1ec30dec5a8c4b7298306909f62307e0_I20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTMtOS0xLTEtMzgwNzU_ae5c7ca4-458c-4cc3-829c-b77774012044"
      unitRef="usd">-69250000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9880ad5a5ddb491e99edc27d14f51ad9_I20210131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTMtMTEtMS0xLTM4MDc1_9efcbfb9-ce12-40c8-bec4-d80afbbd56d1"
      unitRef="usd">377708000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i5fe9778dbedb45fa94cbfa69891bf290_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTQtNS0xLTEtMzgwNzU_eeed452e-2113-4441-8f82-bba67552b0ae"
      unitRef="usd">14551000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTQtMTEtMS0xLTM4MDc1_31ef7c47-86e7-4b9c-a8c6-0df663e2e953"
      unitRef="usd">14551000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i0d69472dcdca4f1db464f23b4e678476_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTUtNy0xLTEtMzgwNzU_5c066d9a-ff7d-4cdb-8270-d043419ca558"
      unitRef="usd">1032000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTUtMTEtMS0xLTM4MDc1_f03d218a-8d24-4f91-a8a2-8d569a35f286"
      unitRef="usd">1032000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTYtMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjpkMTZmYzVjOGJlYjk0MTAzYjM2YWMxNTEyMGJmZWRlM18yMg_fabe24ba-06ba-4fff-93dc-f78b1a988492"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i5fe9778dbedb45fa94cbfa69891bf290_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTYtNS0xLTEtMzgwNzU_4b11c07a-a908-4c03-8b75-60e3ce613ad9"
      unitRef="usd">2693000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTYtMTEtMS0xLTM4MDc1_774411e0-acf4-4ea2-80f4-deda85711c36"
      unitRef="usd">2693000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i59b6e8966955462faca6934d30fe064d_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTctOS0xLTEtMzgwNzU_d763bd7e-4026-4cc0-854a-8a7623d0a6a8"
      unitRef="usd">2041000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTctMTEtMS0xLTM4MDc1_792fec1a-cf94-4acc-b6d9-530adbfd987d"
      unitRef="usd">2041000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i298db697a4944e6d9286d8142ca0ffdf_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTktMy0xLTEtMzgwNzU_8a26bd9d-b609-4b71-bf69-8b6c7fd579e1"
      unitRef="usd">447000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNTktMTEtMS0xLTM4MDc1_c87133c1-0c33-4690-b0aa-e03d75ccd6c9"
      unitRef="usd">447000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i298db697a4944e6d9286d8142ca0ffdf_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjAtMy0xLTEtMzgwNzU_c03d8f9b-7d35-4b9b-a186-27a8a587cc7d"
      unitRef="usd">423000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i59b6e8966955462faca6934d30fe064d_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjAtOS0xLTEtMzgwNzU_b2023308-a024-4759-bbb0-94c4b9e4def5"
      unitRef="usd">5670000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia6393710ec324eb19699bebe9fa9cf4e_D20210201-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjAtMTEtMS0xLTM4MDc1_5a885009-0b11-413d-8196-96045d0587af"
      unitRef="usd">6093000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockholdersEquity
      contextRef="i639c64e21fe24f7991938844992c2d3a_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjQtMS0xLTEtMzgwNzU_62b54412-beb4-4620-aaa3-633294a644fc"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ieec707fc5269463eb47b44f16344dd4d_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjQtMy0xLTEtMzgwNzU_e9336bca-0131-479f-a01c-c1e1d04777f3"
      unitRef="usd">253147000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1d91fa7ed7fa46a49f9c2e2fb87f3c00_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjQtNS0xLTEtMzgwNzU_b16c9c9d-2f4a-4fe8-9f4d-d865127adfb8"
      unitRef="usd">230590000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3e593762277042c7afb42979762fd306_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjQtNy0xLTEtMzgwNzU_e8bec50f-be43-40d4-a832-35089098ab18"
      unitRef="usd">-23392000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5303a1889472460780eff6c264d4402c_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjQtOS0xLTEtMzgwNzU_b76b128a-2887-42c0-8c65-6d006daaec48"
      unitRef="usd">-65621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1f9da6dc01b6460b9c11e4313a62eb1f_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjQtMTEtMS0xLTM4MDc1_dfca2d2e-7cbb-4642-871b-b082d6e3bf1b"
      unitRef="usd">395097000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i652475a3c7474680843375d4c50750e9_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjUtNS0xLTEtMzgwNzU_cd8241da-f1f8-47c6-b728-245471ca6753"
      unitRef="usd">13679000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjUtMTEtMS0xLTM4MDc1_328d1a5d-7374-4bce-b17f-388e6a5ee4cd"
      unitRef="usd">13679000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="iced200226ed54a219f4751a6e3fe9737_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjYtNy0xLTEtMzgwNzU_7a85ae93-8eb0-41f1-b429-edb36ac68186"
      unitRef="usd">424000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjYtMTEtMS0xLTM4MDc1_a33dfcef-c7f7-4edc-8ec5-39de1c74152e"
      unitRef="usd">424000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjctMC0xLTEtMzgwNzUvdGV4dHJlZ2lvbjo0ZTE5MzA2YTZlYWQ0ZDRiOWRmMTM0MTQ2MTcxNzE3OV8yMg_39a4f875-0145-4a21-828e-2e8b184d15be"
      unitRef="usdPerShare">0.08</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:DividendsCommonStockCash
      contextRef="i652475a3c7474680843375d4c50750e9_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjctNS0xLTEtMzgwNzU_46ac031e-5e5a-41a1-a5d7-5e941f468a18"
      unitRef="usd">2687000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjctMTEtMS0xLTM4MDc1_514d3819-261d-4671-b898-6da831a39d5a"
      unitRef="usd">2687000</us-gaap:DividendsCommonStockCash>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i8ab08bb60d54477cb47fc492664f042d_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjgtOS0xLTEtMzgwNzU_79ffd011-00a5-4c19-86bf-03fbef7ba08d"
      unitRef="usd">1773000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNjgtMTEtMS0xLTM4MDc1_a52f5de9-c59f-43f9-a2d8-50c17296f5e0"
      unitRef="usd">1773000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id34bfea1b9694302ab39981653e6d660_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzAtMy0xLTEtMzgwNzU_9838d96e-0769-4e72-8918-01bff1ad937e"
      unitRef="usd">500000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzAtMTEtMS0xLTM4MDc1_4ab65ba1-20da-458a-8a7a-afcc05686e95"
      unitRef="usd">500000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="id34bfea1b9694302ab39981653e6d660_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzEtMy0xLTEtMzgwNzU_f470ccc2-18ca-4967-a6a5-2e1ff6cb3a03"
      unitRef="usd">15000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8ab08bb60d54477cb47fc492664f042d_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzEtOS0xLTEtMzgwNzU_0ca10b81-0394-452e-9f09-653184b5ac7b"
      unitRef="usd">134000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzEtMTEtMS0xLTM4MDc1_e76493bb-52fa-4ba7-a86e-6f486130ded3"
      unitRef="usd">149000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockholdersEquity
      contextRef="i11439b7564924dccaa866a59573813df_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzUtMS0xLTEtMzgwNzU_4576bc80-b77f-4411-aa11-968b852edaea"
      unitRef="usd">373000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i37350c684a734550b5e0e4b16fdab4db_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzUtMy0xLTEtMzgwNzU_0278bcc8-75dd-49db-a020-9601d6853157"
      unitRef="usd">253662000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia8719080416a4fb3b1895e7b0903779b_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzUtNS0xLTEtMzgwNzU_1b9d1a1e-183e-477f-be29-6ffa11cc25e1"
      unitRef="usd">241582000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib6b1d134654c4f9e9ff8cc29b525a0d8_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzUtNy0xLTEtMzgwNzU_3030eda4-97a5-4dd7-9e4d-cfd137fca22c"
      unitRef="usd">-22968000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i91a6e93182474899a5f6fffc4e491f77_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzUtOS0xLTEtMzgwNzU_f1fa2e8e-3016-4644-92a0-3f71310df093"
      unitRef="usd">-67260000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4667bc7c539e44f5a9849779272b2658_I20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8yOC9mcmFnOjAyMGIxY2M3NzhhNDRjNzk4NzZmZTc2NmFiNjgxNWJjL3RhYmxlOjg3MDNjZmRiMmYxZDQzNDg4MTk1ZGU2Y2ZhODMwMGZiL3RhYmxlcmFuZ2U6ODcwM2NmZGIyZjFkNDM0ODgxOTVkZTZjZmE4MzAwZmJfNzUtMTEtMS0xLTM4MDc1_fe62f0ae-e340-4c16-9799-67701146e983"
      unitRef="usd">405389000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RleHRyZWdpb246MTlmZTk2YzlhNmNjNDY2ZmJjZjdjZWIzMjMwYmVlMWNfMTAyNTc_0eef9168-6a9c-47d2-b1be-a5ddfcb0970c">Nature of Operations and Basis of Presentation &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Quanex Building Products Corporation is a component supplier to original equipment manufacturers (OEMs) in the building products industry. These components can be categorized as window and door (fenestration) components and kitchen and bath cabinet components. Examples of fenestration components include: (1) energy-efficient flexible insulating glass spacers, (2) extruded vinyl profiles, (3) window and door screens, and (4) precision-formed metal and wood products. We also manufacture cabinet doors and other components for OEMs in the kitchen and bathroom cabinet industry. In addition, we provide certain other non-fenestration components and products, which include solar panel sealants, trim moldings, vinyl decking, vinyl fencing, water retention barriers, and conservatory roof components. We have organized our business into three reportable business segments. For additional discussion of our reportable business segments, see Note 11, &#x201c;Segment Information.&#x201d; We use low-cost, short lead-time production processes and engineering expertise to provide our customers with specialized products for their specific window, door, and cabinet applications. We believe these capabilities provide us with unique competitive advantages. We serve a primary customer base in North America and the United Kingdom (U.K.), and also serve customers in international markets through our operating plants in the U.K. and Germany, as well as through sales and marketing efforts in other countries. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Unless the context indicates otherwise, references to &#x201c;Quanex&#x201d;, the &#x201c;Company&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; and &#x201c;our&#x201d; refer to the consolidated business operations of Quanex Building Products Corporation and its subsidiaries.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying interim unaudited condensed consolidated financial statements include the accounts of Quanex Building Products Corporation. All intercompany accounts and transactions have been eliminated in consolidation. These financial statements have been prepared by us, without audit, pursuant to the rules and regulations of the Securities and Exchange Commission (SEC). Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated balance sheet as of October&#160;31, 2021 was derived from audited financial information but does not include all disclosures required by U.S. GAAP. The accompanying financial statements should be read in conjunction with the audited consolidated financial statements and the notes thereto, included in our Annual Report on Form 10-K for the fiscal year ended October&#160;31, 2021. In our opinion, the accompanying financial statements contain all adjustments (which consist of normal recurring adjustments, except as disclosed herein) necessary to fairly present our financial position, results of operations and cash flows for the interim periods. The results of operations for the periods presented are not necessarily indicative of the results to be expected for the full year or for any future periods. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In preparing financial statements, we make informed judgments and estimates that affect the reported amounts of assets and liabilities as of the date of the financial statements and affect the reported amounts of revenues and expenses during the reporting period. We review our estimates on an on-going basis, including those related to impairment of long-lived assets and goodwill, contingencies and income taxes. Changes in facts and circumstances may result in revised estimates and actual results may differ from these estimates.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Revenue from Contracts with Customers&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize revenue that reflects the consideration we expect to receive for product sales upon transfer to customers. Revenue for product sales is recognized when control of the promised products is transferred to our customers, and we are entitled to consideration in exchange for such transfer. We account for a contract when a customer provides us with a firm purchase order that identifies the products to be provided, the payment terms for those products, and when collectability of the consideration due is probable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Performance obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A performance obligation is a promise to provide the customer with a good or service. Our performance obligations include product sales, with each product included in a customer contract being recognized as a separate performance obligation.  For contracts with multiple performance obligations, the standalone selling price of each product is generally readily observable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue from product sales is recognized at a point in time when the product is transferred to the customer, in accordance with the shipping terms, which is generally upon shipment. We estimate a provision for sales returns and warranty allowances to account for product returns related to general returns and product nonconformance.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generally expense incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. Additionally, we do not disclose the value of unsatisfied performance obligations for contracts with an original expected length of one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Pricing and sales incentives&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pricing is established at or prior to the time of sale with our customers and we record sales at the agreed-upon net selling price, reflective of current and prospective discounts.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Shipping and handling costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for shipping and handling services as fulfillment services; accordingly, freight revenue is combined with the product deliverable rather than being accounted for as a distinct performance obligation within the terms of the agreement.  Shipping and handling costs incurred by us for the delivery of goods to customers are considered a cost to fulfill the contract and are included in cost of sales&#160;in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Contract assets and liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue, which is not significant, is recorded when we have remaining unsatisfied performance obligations for which we have received consideration. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Disaggregation of revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We produce a wide variety of products that are used in the fenestration industry, including window spacer systems; extruded vinyl products; metal fabricated products; and astragals, thresholds and screens. In addition, we produce certain non-fenestration products, including kitchen and bath cabinet doors and components, flooring and trim moldings, solar edge tape, plastic decking, fencing, water retention barriers, conservatory roof components, and other products. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:9pt;text-align:justify;text-indent:22.5pt"&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 our product sales for the three and nine months ended July&#160;31, 2022 and 2021 into groupings by segment which we believe depicts how the nature, amount, timing and uncertainty of our revenues and cash flows are affected by economic factors. For further details regarding our results by segment, refer to Note 11, &#x201c;Segment Information&#x201d;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;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:44.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.623%"/&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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;&#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:8pt;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-bottom:1pt solid #000000;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;2021&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:1pt solid #000000;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;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-bottom:1pt solid #000000;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;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" 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;(In thousands)&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:10pt;font-weight:700;line-height:100%"&gt;North American Fenestration:&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;162,215&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;129,291&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;447,425&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;369,809&#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:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&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:10pt;font-weight:400;line-height:100%"&gt;10,722&#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:10pt;font-weight:400;line-height:100%"&gt;9,581&#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:10pt;font-weight:400;line-height:100%"&gt;30,952&#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:10pt;font-weight:400;line-height:100%"&gt;25,756&#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:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;8,324&#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:10pt;font-weight:400;line-height:100%"&gt;5,853&#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:10pt;font-weight:400;line-height:100%"&gt;22,117&#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:10pt;font-weight:400;line-height:100%"&gt;17,543&#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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;3,483&#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:10pt;font-weight:400;line-height:100%"&gt;3,093&#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:10pt;font-weight:400;line-height:100%"&gt;8,789&#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:10pt;font-weight:400;line-height:100%"&gt;8,969&#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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;184,744&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;147,818&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;509,283&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;422,077&#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:10pt;font-weight:700;line-height:100%"&gt;European Fenestration:&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;49,041&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;54,883&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;148,525&#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:10pt;font-weight:400;line-height:100%"&gt;147,072&#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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;18,572&#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:10pt;font-weight:400;line-height:100%"&gt;16,231&#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:10pt;font-weight:400;line-height:100%"&gt;51,429&#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:10pt;font-weight:400;line-height:100%"&gt;34,790&#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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;67,613&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;71,114&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;199,954&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;181,862&#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:10pt;font-weight:700;line-height:100%"&gt;North American Cabinet Components:&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;4,857&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;3,240&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,288&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;9,711&#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:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;66,758&#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:10pt;font-weight:400;line-height:100%"&gt;57,418&#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:10pt;font-weight:400;line-height:100%"&gt;191,908&#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:10pt;font-weight:400;line-height:100%"&gt;168,308&#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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;865&#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:10pt;font-weight:400;line-height:100%"&gt;1,278&#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:10pt;font-weight:400;line-height:100%"&gt;2,515&#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:10pt;font-weight:400;line-height:100%"&gt;1,473&#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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;72,480&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;61,936&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;207,711&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;179,492&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Unallocated Corporate &amp;amp; Other&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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Eliminations&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(800)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(991)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(2,978)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(3,050)&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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(800)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(991)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(2,978)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(3,050)&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:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;324,037&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;279,877&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;913,970&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;780,381&#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:10pt;text-align:justify"&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;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have established an allowance for credit losses to estimate the risk of losses, which represents an estimate of expected losses over the remaining contractual life of our receivables. The allowance is determined using two methods. The amounts calculated from each of these methods are combined to determine the total amount reserved. First, a specific reserve is established for individual accounts where information indicates the customers may have an inability to meet financial obligations. Second, a reserve is determined for all customers based on a range of percentages applied to aging categories. These percentages are based on historical collection rates, write-off experience, and forecasts of future economic conditions. Actual write-offs are charged against the allowance when collection efforts have been unsuccessful.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify"&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;Property, Plant and Equipment and Intangible Assets with Defined Lives&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:24.75pt"&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 July 31, 2022, our North American vinyl extrusion operations in our NA Fenestration segment experienced lower-than-expected operating results due to the continued impact of inflation and historical customer contracts which prevent us from passing on the full impact of higher costs to our customers. We determined that this condition was an indicator of a triggering event which necessitated an evaluation of certain long-term assets used in this business for potential impairment. We compared the projected undiscounted cash flows we expected to realize associated with these assets over the remaining useful lives of the primary operating assets to the net book value of the long-term assets and determined that these assets were not impaired. Therefore, we did not record an impairment charge related to property, plant and equipment or intangible assets with defined lives during the nine months ended July 31, 2022, however, should we be unable to successfully increase prices to offset inflation, it is possible that we could incur an impairment in the future.&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;There were no indicators of triggering events noted for any period in the year ended October 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Related Parties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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;N&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;et sales for the nine months ended July 31, 2022 included approximately &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;$1.6&#160;million&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; of transactions with a customer which is a related party with one of our non-employee directors. We performed a review of these transactions, of which no single transaction or series of related transactions exceeded $120,000 in amount, and determined that these transactions were enacted independently of each other in fair transactions. We are not aware of any other related party transactions with any of our current non-employee directors or officers outside of their normal business functions or expected contractual duties.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RleHRyZWdpb246MTlmZTk2YzlhNmNjNDY2ZmJjZjdjZWIzMjMwYmVlMWNfODk0_26317a17-711d-4bbb-94ca-d3664e0afcd0"
      unitRef="segment">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RleHRyZWdpb246MTlmZTk2YzlhNmNjNDY2ZmJjZjdjZWIzMjMwYmVlMWNfMTAyNjI_1a8e0afe-845e-4e4d-abf1-1286b578fc76">&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:44.952%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&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.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.623%"/&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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:700;line-height:100%"&gt;&#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:8pt;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-bottom:1pt solid #000000;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;2021&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:1pt solid #000000;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;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-bottom:1pt solid #000000;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;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" 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;(In thousands)&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:10pt;font-weight:700;line-height:100%"&gt;North American Fenestration:&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;162,215&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;129,291&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;447,425&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;369,809&#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:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&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:10pt;font-weight:400;line-height:100%"&gt;10,722&#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:10pt;font-weight:400;line-height:100%"&gt;9,581&#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:10pt;font-weight:400;line-height:100%"&gt;30,952&#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:10pt;font-weight:400;line-height:100%"&gt;25,756&#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:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;8,324&#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:10pt;font-weight:400;line-height:100%"&gt;5,853&#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:10pt;font-weight:400;line-height:100%"&gt;22,117&#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:10pt;font-weight:400;line-height:100%"&gt;17,543&#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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;3,483&#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:10pt;font-weight:400;line-height:100%"&gt;3,093&#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:10pt;font-weight:400;line-height:100%"&gt;8,789&#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:10pt;font-weight:400;line-height:100%"&gt;8,969&#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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;184,744&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;147,818&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;509,283&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;422,077&#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:10pt;font-weight:700;line-height:100%"&gt;European Fenestration:&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:400;line-height:100%"&gt;International - fenestration&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;49,041&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;54,883&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;148,525&#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:10pt;font-weight:400;line-height:100%"&gt;147,072&#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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;18,572&#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:10pt;font-weight:400;line-height:100%"&gt;16,231&#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:10pt;font-weight:400;line-height:100%"&gt;51,429&#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:10pt;font-weight:400;line-height:100%"&gt;34,790&#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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;67,613&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;71,114&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;199,954&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;181,862&#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:10pt;font-weight:700;line-height:100%"&gt;North American Cabinet Components:&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States - fenestration&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;4,857&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;3,240&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,288&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;9,711&#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:10pt;font-weight:400;line-height:100%"&gt;United States - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;66,758&#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:10pt;font-weight:400;line-height:100%"&gt;57,418&#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:10pt;font-weight:400;line-height:100%"&gt;191,908&#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:10pt;font-weight:400;line-height:100%"&gt;168,308&#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:10pt;font-weight:400;line-height:100%"&gt;International - non-fenestration&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:10pt;font-weight:400;line-height:100%"&gt;865&#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:10pt;font-weight:400;line-height:100%"&gt;1,278&#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:10pt;font-weight:400;line-height:100%"&gt;2,515&#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:10pt;font-weight:400;line-height:100%"&gt;1,473&#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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;72,480&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;61,936&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;207,711&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;179,492&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Unallocated Corporate &amp;amp; Other&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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Eliminations&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(800)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(991)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(2,978)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(3,050)&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: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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(800)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(991)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(2,978)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(3,050)&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:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;324,037&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;279,877&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;913,970&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;780,381&#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;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifb6c53196d174bdbb97146353cc59984_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNS0xLTEtMS0zODA3NQ_19dfcf40-0740-47e1-88d2-aa336b7d1bb9"
      unitRef="usd">162215000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iddb38f36332e4f7d830ddfd38612d87c_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNS0zLTEtMS0zODA3NQ_adf40619-98cc-4a83-874d-4220f5e59bd1"
      unitRef="usd">129291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i69ad50f0cdae42f89c715551565e29e4_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNS01LTEtMS0zODA3NQ_6d6225b8-337d-4f4f-a3a8-0820a316d50b"
      unitRef="usd">447425000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5701a28482641e6a44c9e2cc2f03432_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNS03LTEtMS0zODA3NQ_b91ebb4a-3676-4489-8869-33235bd06003"
      unitRef="usd">369809000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9d2ff6b1455b4f87aa58cb4d5ea2ebaf_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNi0xLTEtMS0zODA3NQ_3a77110b-de39-4447-8f5b-017293955af7"
      unitRef="usd">10722000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia91c0ec637c84ca5b9ee6e1e6b39bae7_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNi0zLTEtMS0zODA3NQ_aabc89c8-4fdd-4581-a3f4-06454e6022b0"
      unitRef="usd">9581000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia57500a84c894d818f957532ef47f519_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNi01LTEtMS0zODA3NQ_b947a34b-3c62-4548-bfe5-d93b090deb3d"
      unitRef="usd">30952000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iaf3fa5f8768e4cf5b3cd3bf502aef5ba_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNi03LTEtMS0zODA3NQ_9c57339a-23ee-4e05-8006-8a74ffb297cf"
      unitRef="usd">25756000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic2a178fae8434326ae8d3e5addf31648_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNy0xLTEtMS0zODA3NQ_303565c9-b925-43b1-91b1-4b920308eb75"
      unitRef="usd">8324000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icabd17c4bef3497ab329c39f4e4d7609_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNy0zLTEtMS0zODA3NQ_571cc36d-27fe-44a3-a7b9-c05f8ebfc761"
      unitRef="usd">5853000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8e4af68215e841f08204d9ebd45909e8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNy01LTEtMS0zODA3NQ_ac6ab856-125e-41bc-af33-1074d80f6cf5"
      unitRef="usd">22117000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b9f7de9a390465d99e1d9e3312c47f5_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfNy03LTEtMS0zODA3NQ_ea3f6ac6-313e-45f6-a5c7-88a26b61e782"
      unitRef="usd">17543000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7290f2c3156449b8a45dbee80e4f5c9d_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOC0xLTEtMS0zODA3NQ_9ffc547a-7b42-40e7-a58d-a00f06413b05"
      unitRef="usd">3483000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i906b46922143475baf80adce952fbca6_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOC0zLTEtMS0zODA3NQ_4fa4338e-008b-43c7-b47d-6812aa2b332c"
      unitRef="usd">3093000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7b651a7a200a4941b26545bafea2d76f_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOC01LTEtMS0zODA3NQ_03be10d8-38b6-48a1-9d50-65fb335acc54"
      unitRef="usd">8789000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5947636b3d64fd2958eb53ac09a16b5_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOC03LTEtMS0zODA3NQ_851facc1-92f6-434f-b918-038531820c70"
      unitRef="usd">8969000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icd76cbdf38af419f87646b35594d2589_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOS0xLTEtMS0zODA3NQ_1a5e520c-0585-4ac2-b109-3a96427365a3"
      unitRef="usd">184744000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic20311f9a8ac4ead9420474c651bebdf_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOS0zLTEtMS0zODA3NQ_6a02bbb5-2c26-4603-8fe3-6c01683110f3"
      unitRef="usd">147818000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3e9a73cda77e4e19952b44ab1f8518ae_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOS01LTEtMS0zODA3NQ_65df0404-7078-4311-990e-6ad84e4e7f8d"
      unitRef="usd">509283000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfOS03LTEtMS0zODA3NQ_b1b9b544-8769-44c9-adc0-9ca6987c423b"
      unitRef="usd">422077000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib6c57a6e4ad14f398ad0f0894099ffaf_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTItMS0xLTEtMzgwNzU_99d3b063-5a2d-433a-b094-22c64eca3d40"
      unitRef="usd">49041000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5c43dacdab864e6ca3601364ceb44dc3_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTItMy0xLTEtMzgwNzU_963b8b4d-e46a-4b3b-9ca3-8c51e27c1878"
      unitRef="usd">54883000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia67021598df6429a97d7720ad77dfe15_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTItNS0xLTEtMzgwNzU_f3134c97-1502-4258-bf71-8163685a9f8a"
      unitRef="usd">148525000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia372d534c27240a3a704f0cd5ab74522_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTItNy0xLTEtMzgwNzU_34cb3044-cfd4-42a9-bd56-e6fb2487a9b5"
      unitRef="usd">147072000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1d6a8f702a804ffb8c029ac6d002c4dc_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTMtMS0xLTEtMzgwNzU_75aa68de-aef9-455f-9b81-579a078418cd"
      unitRef="usd">18572000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3479c8ed81b54ee7a23139ba99c8741e_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTMtMy0xLTEtMzgwNzU_9f19cc8e-e9f4-4a1d-853e-4e07132d8b8a"
      unitRef="usd">16231000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee312495c885459a9e11eb0f2bfa7ad6_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTMtNS0xLTEtMzgwNzU_2fe0ee3b-abc8-490c-8b4e-5d089fdd224e"
      unitRef="usd">51429000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3dd2cdbf72764ba1ad4d61d677352328_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTMtNy0xLTEtMzgwNzU_167205d1-f783-4cac-a27c-7047418f67e5"
      unitRef="usd">34790000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia9b5d51a77c844b987f3f3b405127955_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTQtMS0xLTEtMzgwNzU_78082a2e-ba51-45aa-ad61-a0e283929158"
      unitRef="usd">67613000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic24c1283d0e149f595eecf8316ab2893_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTQtMy0xLTEtMzgwNzU_43f8bde3-1a89-4aa7-a3f7-0a07409ea935"
      unitRef="usd">71114000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5693897bf4634899bbc1a8820a1433b8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTQtNS0xLTEtMzgwNzU_f2ebb6e1-079f-494e-86f7-0d93260df5db"
      unitRef="usd">199954000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTQtNy0xLTEtMzgwNzU_ec8c2369-4e9c-41cd-b90e-ccb58fcd154e"
      unitRef="usd">181862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i67b6d0bf15b9456c865424dee553fb49_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTYtMS0xLTEtMzgwNzU_28e695c9-2f46-4b3a-8c75-353f925ab9ef"
      unitRef="usd">4857000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icaaec8731fe64b1897f5baf54c06c505_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTYtMy0xLTEtMzgwNzU_edf40549-29a9-4878-8063-69608a915b96"
      unitRef="usd">3240000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib67e43c0c47b426d959541089df298f0_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTYtNS0xLTEtMzgwNzU_ee279f2d-857b-4250-96fc-f88bddd76b89"
      unitRef="usd">13288000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2cfa062309fb4a07a7c5ef4f8bdf176d_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTYtNy0xLTEtMzgwNzU_0d88faa2-fba7-4918-a95d-699ed72ea1a8"
      unitRef="usd">9711000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic25eada147c44fcc90cab1535e21f5eb_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTctMS0xLTEtMzgwNzU_2da98ac8-25d9-4509-b1a0-a0b5f93fc56e"
      unitRef="usd">66758000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8de6e0431f1e4f86b548d437150a17cc_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTctMy0xLTEtMzgwNzU_3b89278d-e1df-47ab-ab6b-e3b7bc46ae80"
      unitRef="usd">57418000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if9e54e70ac484feca3cab37d1874363c_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTctNS0xLTEtMzgwNzU_afd9d1a4-3086-415a-b53b-591ae8238a64"
      unitRef="usd">191908000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i76e5a30865a449a68b0b83c78dccfb86_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTctNy0xLTEtMzgwNzU_ad84d6b5-aa51-4d32-a9d2-399ec6c19abc"
      unitRef="usd">168308000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i69edecebd6844923b425d06947ba136d_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTgtMS0xLTEtMzgwNzU_afdc86f6-119b-4996-8059-f4b3f07d18fd"
      unitRef="usd">865000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ida00859dc7894764b488113888f5616b_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTgtMy0xLTEtMzgwNzU_0b6e8bd3-02a9-4397-af3d-6446c58fd875"
      unitRef="usd">1278000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i077b664a5af24646bdff621ad96bc0a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTgtNS0xLTEtMzgwNzU_68eb206e-5c2a-48dc-a11d-9ce381251b4c"
      unitRef="usd">2515000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0773f81c688746eeb9df3da93f1e079f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTgtNy0xLTEtMzgwNzU_d20c1d46-7752-4f0e-9a8f-f02356142764"
      unitRef="usd">1473000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i280600b8c49549548f7fcfcfa1a3a4a7_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTktMS0xLTEtMzgwNzU_8a667f28-2245-4dde-b4b8-4efbb8124d24"
      unitRef="usd">72480000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bfacd76a10e424caa3f58f9708deb79_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTktMy0xLTEtMzgwNzU_308e623a-24b4-4834-bf0e-add1645f896d"
      unitRef="usd">61936000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie410b248b396415cb822b2a7be3382e0_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTktNS0xLTEtMzgwNzU_28f498d3-46a3-4eb8-a01f-809c17e40950"
      unitRef="usd">207711000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i71752e09105c46a982b8711a4992d62f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMTktNy0xLTEtMzgwNzU_15fcdf16-58a5-4dbc-9aeb-9aa1dfc17487"
      unitRef="usd">179492000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib2bd5df0f4f54dcfa287a308e2d7f1f4_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjEtMS0xLTEtMzgwNzU_5164a2b9-acca-414a-970e-bdb616414fd6"
      unitRef="usd">-800000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i86ac1e22563f44aebe72cd6c03c79a8e_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjEtMy0xLTEtMzgwNzU_7e6265f1-bafe-4100-ab46-cb77999f41fe"
      unitRef="usd">-991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjEtNS0xLTEtMzgwNzU_c316b9c5-bc6e-4cbf-9362-2152ca8dbc2a"
      unitRef="usd">-2978000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjEtNy0xLTEtMzgwNzU_11d13a8e-3581-4ceb-93ef-f87e36aee016"
      unitRef="usd">-3050000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib2bd5df0f4f54dcfa287a308e2d7f1f4_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjItMS0xLTEtMzgwNzU_e5e23cd2-bf89-4654-86a1-1d0dc72b3af0"
      unitRef="usd">-800000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i86ac1e22563f44aebe72cd6c03c79a8e_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjItMy0xLTEtMzgwNzU_43b0f64d-daed-40f5-b556-6d4c3aa83dd2"
      unitRef="usd">-991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjItNS0xLTEtMzgwNzU_9332c729-b4e2-4ee8-8f03-44d5bc92d149"
      unitRef="usd">-2978000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjItNy0xLTEtMzgwNzU_c6ff0103-0ad9-4eb3-bd1c-d56adb516f4c"
      unitRef="usd">-3050000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjMtMS0xLTEtMzgwNzU_16498ce8-60aa-4932-a546-7f790f1953c1"
      unitRef="usd">324037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjMtMy0xLTEtMzgwNzU_c6592c94-2fa2-4123-9666-b4148827f309"
      unitRef="usd">279877000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjMtNS0xLTEtMzgwNzU_260d5684-07a3-4b49-bd82-6ba40e91d04b"
      unitRef="usd">913970000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RhYmxlOmFkOGRlZDc5M2FkMDRmZWI5ZDFlNTg4MDUxNjUzZDU0L3RhYmxlcmFuZ2U6YWQ4ZGVkNzkzYWQwNGZlYjlkMWU1ODgwNTE2NTNkNTRfMjMtNy0xLTEtMzgwNzU_915eeb71-6286-4f15-828c-9135357a00e3"
      unitRef="usd">780381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromRelatedParties
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RleHRyZWdpb246MTlmZTk2YzlhNmNjNDY2ZmJjZjdjZWIzMjMwYmVlMWNfODA0MA_bc6a7cb7-c6b2-4a6b-9a7e-eb247cab1148"
      unitRef="usd">1600000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="id08ffb1fb148492cb12a2ba722a4f512_D20211101-20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNC9mcmFnOjE5ZmU5NmM5YTZjYzQ2NmZiY2Y3Y2ViMzIzMGJlZTFjL3RleHRyZWdpb246MTlmZTk2YzlhNmNjNDY2ZmJjZjdjZWIzMjMwYmVlMWNfODI1OQ_f5a12ea2-8c20-4625-ba5e-194a9f7207cc"
      unitRef="usd">120000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RleHRyZWdpb246YzYzOGQ1NzY0Njg3NDg0NmE3ODAyODhhMGFiMzVhOThfMjcw_8df88bb3-c325-4c06-902e-57f437b49944">Inventories&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at July&#160;31, 2022 and October&#160;31, 2021 (in thousands):&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:72.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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="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:700;line-height:100%"&gt;July 31,&lt;br/&gt;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:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&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:10pt;font-weight:400;line-height:100%"&gt;Raw materials&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;81,724&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;49,867&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods and 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:10pt;font-weight:400;line-height:100%"&gt;58,859&#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:10pt;font-weight:400;line-height:100%"&gt;43,499&#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:10pt;font-weight:400;line-height:100%"&gt;Supplies and other&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:10pt;font-weight:400;line-height:100%"&gt;1,203&#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:10pt;font-weight:400;line-height:100%"&gt;2,099&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:10pt;font-weight:400;line-height:100%"&gt;141,786&#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:10pt;font-weight:400;line-height:100%"&gt;95,465&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Inventory reserves&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:10pt;font-weight:400;line-height:100%"&gt;3,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:10pt;font-weight:400;line-height:100%"&gt;2,936&#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 30.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;138,237&#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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;92,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Fixed costs related to excess manufacturing capacity, if any, have been expensed in the period they were incurred and, therefore, are not capitalized into inventory.</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RleHRyZWdpb246YzYzOGQ1NzY0Njg3NDg0NmE3ODAyODhhMGFiMzVhOThfMjY0_bf4e5a5e-6a34-4866-836f-41580b30ffbd">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at July&#160;31, 2022 and October&#160;31, 2021 (in thousands):&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:72.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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="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:700;line-height:100%"&gt;July 31,&lt;br/&gt;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:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&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:10pt;font-weight:400;line-height:100%"&gt;Raw materials&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;81,724&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;49,867&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods and 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:10pt;font-weight:400;line-height:100%"&gt;58,859&#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:10pt;font-weight:400;line-height:100%"&gt;43,499&#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:10pt;font-weight:400;line-height:100%"&gt;Supplies and other&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:10pt;font-weight:400;line-height:100%"&gt;1,203&#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:10pt;font-weight:400;line-height:100%"&gt;2,099&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:10pt;font-weight:400;line-height:100%"&gt;141,786&#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:10pt;font-weight:400;line-height:100%"&gt;95,465&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Inventory reserves&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:10pt;font-weight:400;line-height:100%"&gt;3,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:10pt;font-weight:400;line-height:100%"&gt;2,936&#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 30.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventories, net&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;138,237&#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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;92,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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:InventoryRawMaterials
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfMS0xLTEtMS0zODA3NQ_202099e6-2841-48cc-84dc-6102d9c8a0a4"
      unitRef="usd">81724000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfMS0zLTEtMS0zODA3NQ_50d81d90-c45f-4196-aa93-62365ef359b0"
      unitRef="usd">49867000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryFinishedGoodsAndWorkInProcess
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfMi0xLTEtMS0zODA3NQ_250595f6-9445-4762-87bf-20598f6eb689"
      unitRef="usd">58859000</us-gaap:InventoryFinishedGoodsAndWorkInProcess>
    <us-gaap:InventoryFinishedGoodsAndWorkInProcess
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfMi0zLTEtMS0zODA3NQ_e1d4eb5a-fb46-4958-a60c-8f95e5dd5a4f"
      unitRef="usd">43499000</us-gaap:InventoryFinishedGoodsAndWorkInProcess>
    <us-gaap:OtherInventorySupplies
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfMy0xLTEtMS0zODA3NQ_390f7fb4-785b-4aa7-8158-fade6bdbeb24"
      unitRef="usd">1203000</us-gaap:OtherInventorySupplies>
    <us-gaap:OtherInventorySupplies
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfMy0zLTEtMS0zODA3NQ_3bca3e92-6425-421c-8cae-b26416435919"
      unitRef="usd">2099000</us-gaap:OtherInventorySupplies>
    <us-gaap:InventoryGross
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfNC0xLTEtMS0zODA3NQ_d19e901f-8aaf-4a50-a5e0-fd656573cd0a"
      unitRef="usd">141786000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfNC0zLTEtMS0zODA3NQ_96c4f3be-9064-41d1-bfe5-b583c3247f2a"
      unitRef="usd">95465000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfNS0xLTEtMS0zODA3NQ_38b030d9-afde-4177-98cd-8767e552a957"
      unitRef="usd">3549000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfNS0zLTEtMS0zODA3NQ_c039050c-f969-41a2-bb1c-6b2a283afa6c"
      unitRef="usd">2936000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfNi0xLTEtMS0zODA3NQ_fc82e7fd-6719-4ca5-9d6c-8e75cc3791ec"
      unitRef="usd">138237000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF8zNy9mcmFnOmM2MzhkNTc2NDY4NzQ4NDZhNzgwMjg4YTBhYjM1YTk4L3RhYmxlOmQ2YjY2Y2YyMmZlYTRjOGQ5MzVkZTA3Y2Q5ZmY4ZTcxL3RhYmxlcmFuZ2U6ZDZiNjZjZjIyZmVhNGM4ZDkzNWRlMDdjZDlmZjhlNzFfNi0zLTEtMS0zODA3NQ_05a0d0cd-55d2-4dea-afda-79715359a252"
      unitRef="usd">92529000</us-gaap:InventoryNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfMTA2NA_7007f384-c179-4e1e-9c92-36c5336df1fd">Goodwill and Intangible Assets &lt;div style="margin-top:9pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&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 carrying amount of goodwill for the nine months ended July&#160;31, 2022 was as follows (in thousands):&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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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;Nine Months Ended&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&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: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:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;149,205&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&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:10pt;font-weight:400;line-height:100%"&gt;(7,956)&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:10pt;font-weight:400;line-height:100%"&gt;Balance as of the end of the period&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;141,249&#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:10pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At our last annual test date, August 31, 2021, we evaluated the recoverability of goodwill at each of our five reporting units with goodwill balances and determined that our goodwill was not impaired. We evaluated for indicators of impairment during the three and nine months ended July 31, 2022 and determined that there were no triggering events. For a summary of the change in the carrying amount of goodwill by segment, see Note 11, &#x201c;Segment Information.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt"&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;Identifiable Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortizable intangible assets consisted of the following as of July&#160;31, 2022 and October&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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="9" 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: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="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:8pt;font-weight:700;line-height:100%"&gt;October 31, 2021&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="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:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&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:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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;Gross Carrying&lt;br/&gt;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&lt;br/&gt;Amortization&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:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;141,722&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;86,984&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;146,207&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;81,086&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:10pt;font-weight:400;line-height:100%"&gt;55,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;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:10pt;font-weight:400;line-height:100%"&gt;40,450&#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:10pt;font-weight:400;line-height:100%"&gt;56,437&#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:10pt;font-weight:400;line-height:100%"&gt;39,589&#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:10pt;font-weight:400;line-height:100%"&gt;Patents and other technology&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:10pt;font-weight:400;line-height:100%"&gt;22,436&#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:10pt;font-weight:400;line-height:100%"&gt;22,100&#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:10pt;font-weight:400;line-height:100%"&gt;22,525&#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:10pt;font-weight:400;line-height:100%"&gt;22,084&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;219,204&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;149,534&#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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;225,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;142,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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:10pt;text-align:justify;text-indent:22.5pt"&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;We had aggregate amortization expense related to intangible assets for the three and nine months ended July&#160;31, 2022 of $3.0 million and $9.0 million, respectively, and $3.0 million and $9.7 million for the comparable prior year periods. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated remaining amortization expense, based on current intangible balances, for each of the fiscal years ending October 31, is as follows (in thousands):&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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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="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:700;line-height:100%"&gt;Estimated&lt;br/&gt;Amortization Expense&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:10pt;font-weight:400;line-height:100%"&gt;2022 (remaining three months)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;2,949&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:10pt;font-weight:400;line-height:100%"&gt;11,060&#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:10pt;font-weight:400;line-height:100%"&gt;2024&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:10pt;font-weight:400;line-height:100%"&gt;10,309&#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:10pt;font-weight:400;line-height:100%"&gt;2025&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:10pt;font-weight:400;line-height:100%"&gt;9,082&#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:10pt;font-weight:400;line-height:100%"&gt;2026&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:10pt;font-weight:400;line-height:100%"&gt;9,007&#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:10pt;font-weight:400;line-height:100%"&gt;Thereafter&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:10pt;font-weight:400;line-height:100%"&gt;27,263&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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:10pt;font-weight:400;line-height:100%"&gt;69,670&#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:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfMTA1MA_c2d284cf-7517-44d4-906d-bd1001d58f0e">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&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 carrying amount of goodwill for the nine months ended July&#160;31, 2022 was as follows (in thousands):&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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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;Nine Months Ended&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&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: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:10pt;font-weight:400;line-height:100%"&gt;Beginning balance as of November 1, 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;149,205&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&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:10pt;font-weight:400;line-height:100%"&gt;(7,956)&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:10pt;font-weight:400;line-height:100%"&gt;Balance as of the end of the period&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;141,249&#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:4pt;text-align:justify;text-indent:22.5pt"&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 change in the carrying amount of goodwill by reportable business segment for the nine months ended July&#160;31, 2022 (in thousands):&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:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&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:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&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:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&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:8pt;font-weight:700;line-height:100%"&gt;Total&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:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;71,346&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;149,205&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(7,956)&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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(7,956)&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:10pt;font-weight:700;line-height:100%"&gt;Balance as of July 31, 2022&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,390&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;141,249&#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:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjkzYWE0MmVmNzZkYzQxMTdiMzVmZTliNDBiZjg3Y2RjL3RhYmxlcmFuZ2U6OTNhYTQyZWY3NmRjNDExN2IzNWZlOWI0MGJmODdjZGNfMi0xLTEtMS0zODA3NQ_1edc9f56-58d7-42a2-91dd-0808c39efdbe"
      unitRef="usd">149205000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjkzYWE0MmVmNzZkYzQxMTdiMzVmZTliNDBiZjg3Y2RjL3RhYmxlcmFuZ2U6OTNhYTQyZWY3NmRjNDExN2IzNWZlOWI0MGJmODdjZGNfNS0xLTEtMS0zODA3NQ_7d115407-5d17-4b10-b6ce-d7a5bda47769"
      unitRef="usd">-7956000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjkzYWE0MmVmNzZkYzQxMTdiMzVmZTliNDBiZjg3Y2RjL3RhYmxlcmFuZ2U6OTNhYTQyZWY3NmRjNDExN2IzNWZlOWI0MGJmODdjZGNfNi0xLTEtMS0zODA3NQ_c44ca15e-1caa-4030-8b62-b8c0f87caf56"
      unitRef="usd">141249000</us-gaap:Goodwill>
    <us-gaap:NumberOfReportingUnits
      contextRef="ie5e680c078f346eea2f935984d230033_D20200831-20200831"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfMjU5_26aef8ab-16b6-47a1-9757-4999ece73c91"
      unitRef="reporting_unit">5</us-gaap:NumberOfReportingUnits>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i3579d48e84d74ea7a59b47394284a718_D20201101-20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfMzM4_5132d0c9-78cd-45f9-9fb1-35f28966b020"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfMTA1Mg_1926b9a9-9e1f-4adc-b6ff-672c03566a16">&lt;div style="margin-top:8pt"&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;Identifiable Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortizable intangible assets consisted of the following as of July&#160;31, 2022 and October&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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="9" 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: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="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:8pt;font-weight:700;line-height:100%"&gt;October 31, 2021&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="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:8pt;font-weight:700;line-height:100%"&gt;Gross Carrying&lt;br/&gt;Amount&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:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&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;Gross Carrying&lt;br/&gt;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&lt;br/&gt;Amortization&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:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;141,722&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;86,984&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;146,207&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;81,086&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks and trade names&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:10pt;font-weight:400;line-height:100%"&gt;55,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;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:10pt;font-weight:400;line-height:100%"&gt;40,450&#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:10pt;font-weight:400;line-height:100%"&gt;56,437&#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:10pt;font-weight:400;line-height:100%"&gt;39,589&#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:10pt;font-weight:400;line-height:100%"&gt;Patents and other technology&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:10pt;font-weight:400;line-height:100%"&gt;22,436&#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:10pt;font-weight:400;line-height:100%"&gt;22,100&#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:10pt;font-weight:400;line-height:100%"&gt;22,525&#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:10pt;font-weight:400;line-height:100%"&gt;22,084&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;219,204&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;149,534&#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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;225,169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;142,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i5b429aecefa546ef9ee9d5008fd4941c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMi0xLTEtMS0zODA3NQ_14ebe5c9-c787-4374-9e59-663b98410b5e"
      unitRef="usd">141722000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i5b429aecefa546ef9ee9d5008fd4941c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMi0zLTEtMS0zODA3NQ_4a060dab-c470-40a2-aacf-429b25e39855"
      unitRef="usd">86984000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iec2965f4731d44a8b758b0775f2b8e19_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMi01LTEtMS0zODA3NQ_4baf2adc-165b-4978-b1cf-2f626f79cd86"
      unitRef="usd">146207000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iec2965f4731d44a8b758b0775f2b8e19_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMi03LTEtMS0zODA3NQ_cebdecc4-778c-4c70-abb1-69c11e4c2658"
      unitRef="usd">81086000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib1ea4110914142edb02496ec6a9df7c2_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMy0xLTEtMS0zODA3NQ_4594cb06-7246-4c57-a950-fa520c1f82a3"
      unitRef="usd">55046000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib1ea4110914142edb02496ec6a9df7c2_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMy0zLTEtMS0zODA3NQ_20dcce1d-7261-4c63-9590-bcf44d39111e"
      unitRef="usd">40450000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie903019e1ffb476084a5e97b647b86a4_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMy01LTEtMS0zODA3NQ_b70ce19c-47aa-40ee-b66c-f9045e148dc1"
      unitRef="usd">56437000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie903019e1ffb476084a5e97b647b86a4_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfMy03LTEtMS0zODA3NQ_e46acd05-ec09-4bc5-abcf-a39f0d1c8567"
      unitRef="usd">39589000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i6356ff1b4b774e33ab6c295ec9c05707_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNC0xLTEtMS0zODA3NQ_a1c435e4-f2f2-46dd-8289-65b9c0ba9f16"
      unitRef="usd">22436000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i6356ff1b4b774e33ab6c295ec9c05707_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNC0zLTEtMS0zODA3NQ_16b0257f-7694-4342-a99d-3472c35d0d7d"
      unitRef="usd">22100000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iadef9cfc2d1b4587b2ac260799ff5268_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNC01LTEtMS0zODA3NQ_93c728ad-dc38-4854-b147-882ec4519820"
      unitRef="usd">22525000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iadef9cfc2d1b4587b2ac260799ff5268_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNC03LTEtMS0zODA3NQ_1225af9e-dadd-4e66-8a7d-5a7b855d5d65"
      unitRef="usd">22084000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNi0xLTEtMS0zODA3NQ_37a8e18c-76a4-49ed-86af-42654b9ab8a6"
      unitRef="usd">219204000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNi0zLTEtMS0zODA3NQ_981c5253-3d4f-4247-93b5-35dac6ff6c68"
      unitRef="usd">149534000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNi01LTEtMS0zODA3NQ_8feeaf31-5547-477c-a00d-4dd88f80eb13"
      unitRef="usd">225169000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjUwOTQyNzQ5MDg0ZDQxMWJhZjI4MTExNGQ3OGNhYjMwL3RhYmxlcmFuZ2U6NTA5NDI3NDkwODRkNDExYmFmMjgxMTE0ZDc4Y2FiMzBfNi03LTEtMS0zODA3NQ_de1d59f7-2a2d-4f77-a77e-b7dbd49b4a01"
      unitRef="usd">142759000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfODA3_8898f11c-9c07-40de-8775-97799f41e5e4"
      unitRef="usd">3000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfODE0_8a863dcc-4df1-4b38-8d32-25d00eb9ac6e"
      unitRef="usd">9000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfODM2_7dd2222b-ef29-4abc-ab32-1e75c67af277"
      unitRef="usd">3000000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfODQz_531649c0-cb08-42d5-8624-c7a590a42601"
      unitRef="usd">9700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RleHRyZWdpb246ZDU0YjM0OWQwNDBjNGYxZThlNjEyZmFlOTkzNzdhNDdfMTA2MQ_cd283116-0548-470e-b5f4-f37668fa9fa9">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimated remaining amortization expense, based on current intangible balances, for each of the fiscal years ending October 31, is as follows (in thousands):&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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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="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:700;line-height:100%"&gt;Estimated&lt;br/&gt;Amortization Expense&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:10pt;font-weight:400;line-height:100%"&gt;2022 (remaining three months)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;2,949&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&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:10pt;font-weight:400;line-height:100%"&gt;11,060&#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:10pt;font-weight:400;line-height:100%"&gt;2024&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:10pt;font-weight:400;line-height:100%"&gt;10,309&#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:10pt;font-weight:400;line-height:100%"&gt;2025&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:10pt;font-weight:400;line-height:100%"&gt;9,082&#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:10pt;font-weight:400;line-height:100%"&gt;2026&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:10pt;font-weight:400;line-height:100%"&gt;9,007&#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:10pt;font-weight:400;line-height:100%"&gt;Thereafter&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:10pt;font-weight:400;line-height:100%"&gt;27,263&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;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:10pt;font-weight:400;line-height:100%"&gt;69,670&#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:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjU4MjEyMDdlNjNmYzQ4Y2ViMGVlNmZmNTA4OTBhN2VjL3RhYmxlcmFuZ2U6NTgyMTIwN2U2M2ZjNDhjZWIwZWU2ZmY1MDg5MGE3ZWNfMS0xLTEtMS0zODA3NQ_9ecd0f71-eff1-4fdb-b327-a39ee14094b2"
      unitRef="usd">2949000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjU4MjEyMDdlNjNmYzQ4Y2ViMGVlNmZmNTA4OTBhN2VjL3RhYmxlcmFuZ2U6NTgyMTIwN2U2M2ZjNDhjZWIwZWU2ZmY1MDg5MGE3ZWNfMi0xLTEtMS0zODA3NQ_c6b36606-3028-4876-8ae6-71b6bb043810"
      unitRef="usd">11060000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjU4MjEyMDdlNjNmYzQ4Y2ViMGVlNmZmNTA4OTBhN2VjL3RhYmxlcmFuZ2U6NTgyMTIwN2U2M2ZjNDhjZWIwZWU2ZmY1MDg5MGE3ZWNfMy0xLTEtMS0zODA3NQ_36773231-2b7d-473a-84d0-8207c6eb9014"
      unitRef="usd">10309000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjU4MjEyMDdlNjNmYzQ4Y2ViMGVlNmZmNTA4OTBhN2VjL3RhYmxlcmFuZ2U6NTgyMTIwN2U2M2ZjNDhjZWIwZWU2ZmY1MDg5MGE3ZWNfNC0xLTEtMS0zODA3NQ_5fd4ad61-29de-433b-850f-0d303ab2fd7a"
      unitRef="usd">9082000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjU4MjEyMDdlNjNmYzQ4Y2ViMGVlNmZmNTA4OTBhN2VjL3RhYmxlcmFuZ2U6NTgyMTIwN2U2M2ZjNDhjZWIwZWU2ZmY1MDg5MGE3ZWNfNS0xLTEtMS0zODA3NQ_38403b2b-19e6-4a95-a4b0-2844f07d8a38"
      unitRef="usd">9007000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <nx:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjU4MjEyMDdlNjNmYzQ4Y2ViMGVlNmZmNTA4OTBhN2VjL3RhYmxlcmFuZ2U6NTgyMTIwN2U2M2ZjNDhjZWIwZWU2ZmY1MDg5MGE3ZWNfNi0xLTEtMS0zODA3NQ_564a07d9-31f8-4ce6-ae5b-39036dc6d57d"
      unitRef="usd">27263000</nx:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80Ni9mcmFnOmQ1NGIzNDlkMDQwYzRmMWU4ZTYxMmZhZTk5Mzc3YTQ3L3RhYmxlOjU4MjEyMDdlNjNmYzQ4Y2ViMGVlNmZmNTA4OTBhN2VjL3RhYmxlcmFuZ2U6NTgyMTIwN2U2M2ZjNDhjZWIwZWU2ZmY1MDg5MGE3ZWNfNy0xLTEtMS0zODA3NQ_e07c5447-8a66-47e5-9fd5-19d60eee7f74"
      unitRef="usd">69670000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzk5Nw_3e939506-5b62-428c-a53d-b0c06953eacc">Debt and Finance Lease Obligations&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; Long-term debt consisted of the following at July&#160;31, 2022 and October&#160;31, 2021 (in thousands):&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:72.145%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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="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:700;line-height:100%"&gt;July 31,&lt;br/&gt;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:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&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:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,000&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,000&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:400;line-height:100%"&gt;Finance lease obligations and other&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:10pt;font-weight:400;line-height:100%"&gt;20,105&#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:10pt;font-weight:400;line-height:100%"&gt;15,537&#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:10pt;font-weight:400;line-height:100%"&gt;Unamortized deferred financing fees&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:10pt;font-weight:400;line-height:100%"&gt;(1,577)&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:10pt;font-weight:400;line-height:100%"&gt;(597)&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;56,528&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;52,940&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current maturities of long-term debt&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:10pt;font-weight:400;line-height:100%"&gt;1,070&#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:10pt;font-weight:400;line-height:100%"&gt;846&#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 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;55,458&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;52,094&#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"&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;Revolving Credit Facility&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 6, 2022, we entered into our Second Amended and Restated Credit Agreement (the &#x201c;Credit Facility&#x201d;) with Wells Fargo Securities, LLC, as Agent, Swingline Lender and Issuing Lender, and BofA Securities, Inc. serving as Syndication Agent. We capitalized $1.2&#160;million of deferred financing fees related the Credit Facility &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;during the three months ended July&#160;31, 2022.&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; This $325.0 million revolving credit facility has a five-year term, maturing on July 6, 2027, and replaces our previous credit facility. Our previous credit facility is more fully described in our Annual Report on Form 10-K for the fiscal year ended October&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest payments for the Credit Facility are calculated, at our election and depending upon the Consolidated Net Leverage Ratio, at a Base Rate plus an applicable margin or at the same rate as Risk-Free Rate (&#x201c;RFR&#x201d;) Loans for domestic borrowings or Eurocurrency Rate Loans plus an applicable margin. In addition, we are subject to commitment fees for the unused portion of the Credit Facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The applicable margin and commitment fees are outlined in the following table:&lt;/span&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:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.367%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.547%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:700;line-height:100%"&gt;Pricing Level&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Consolidated Net Leverage Ratio&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Commitment Fee&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Eurocurrency Rate Loans and RFR Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:700;line-height:100%"&gt;Base Rate Loans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;I&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Less than or equal to 1.50 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.150%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.25%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;II&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 1.50 to 1.00, but less than or equal to 2.25 to 1.00&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.175%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.50%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;III&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 2.25 to 1.00, but less than or equal to 3.00 to 1.00&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.200%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;IV&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 3.00 to 1.00&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.250%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00%&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:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the event of default, outstanding borrowings would accrue interest at the Default Rate, as defined, whereby the obligations will bear interest at a per annum rate equal to 2% above the total per annum rate otherwise applicable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Facility provides for incremental revolving credit commitments for a minimum principal amount of $10.0&#160;million, up to an aggregate amount of $150.0&#160;million or 100% of Consolidated EBITDA, subject to the lender's discretion to elect or decline the incremental increase. We can also borrow up to the lesser of $15.0&#160;million or the revolving credit commitment, as defined, under a Swingline feature of the Credit Facility.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Facility contains a: (1) Consolidated Interest Coverage Ratio requirement whereby we must not permit the Consolidated Interest Coverage Ratio, as defined, to be less than 3.00 to 1.00, and (2) Consolidated Net Leverage Ratio requirement, whereby we must not permit the Consolidated Net Leverage Ratio, as defined, to be greater than 3.25 to 1.00.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to maintaining these financial covenants, the Credit Facility also limits our ability to enter into certain business transactions, such as to incur indebtedness or liens, to acquire businesses or dispose of material assets, make restricted payments, pay dividends (limited to $25.0 million per year) and other transactions as further defined in the Credit Facility.  Some of these limitations, however, do not take effect so long as Consolidated Net Leverage Ratio is less than or equal to 2.75 to 1.00 and available liquidity exceeds $25.0&#160;million. Substantially all of our domestic assets, with the exception of real property, are used as collateral for the Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:8pt;text-align:justify;text-indent:22.5pt"&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 July&#160;31, 2022, we ha&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;d $38.0 million of borrowings outstanding under the Credit Facility (reduced by unamortized debt issuance costs of $1.6 million), $5.1 million of outstanding letters of credit and $20.1 million outstanding primarily under finance leases and other debt. We had $281.9 million available for use under the Credit Facility at July&#160;31, 2022. Outstanding borrowings under the Credit Facility accrue interest at 3.08% per annum. Our weighted average borrowing rate for borrowings outstanding during the nine months ended July&#160;31, 2022 and 2021 was 1.81% and 1.43%, respectively. We were in compliance with our debt covenants as of July&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzk5Mw_8954e2b5-d029-47a0-8952-9b5efbdd0a8f">Long-term debt consisted of the following at July&#160;31, 2022 and October&#160;31, 2021 (in thousands):&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:72.145%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&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="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:700;line-height:100%"&gt;July 31,&lt;br/&gt;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:8pt;font-weight:700;line-height:100%"&gt;October 31,&lt;br/&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:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,000&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,000&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:400;line-height:100%"&gt;Finance lease obligations and other&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:10pt;font-weight:400;line-height:100%"&gt;20,105&#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:10pt;font-weight:400;line-height:100%"&gt;15,537&#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:10pt;font-weight:400;line-height:100%"&gt;Unamortized deferred financing fees&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:10pt;font-weight:400;line-height:100%"&gt;(1,577)&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:10pt;font-weight:400;line-height:100%"&gt;(597)&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total debt&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;56,528&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;52,940&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Current maturities of long-term debt&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:10pt;font-weight:400;line-height:100%"&gt;1,070&#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:10pt;font-weight:400;line-height:100%"&gt;846&#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 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;55,458&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;52,094&#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;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i996cba8e5ff64e9f9ca6b0edc17523c4_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfMS0xLTEtMS0zODA3NQ_6db3e198-3c48-4d2b-bcb4-bff704c4fc72"
      unitRef="usd">38000000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="i68c11605ac494caa85ec8820f3d94374_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfMS0zLTEtMS0zODA3NQ_48c6ecf7-4043-4b9c-a7a8-fb624ef14373"
      unitRef="usd">38000000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="id6543e19d5254eec8279b1becb4a850e_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNC0xLTEtMS0zODA3NQ_e185ad50-0b4a-4823-9432-0d58a343a95a"
      unitRef="usd">20105000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="if7668fbc111a451a854847f459c617dc_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNC0zLTEtMS0zODA3NQ_b71b629a-347a-4463-9ccd-521a5b1d3f38"
      unitRef="usd">15537000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNS0xLTEtMS0zODA3NQ_7e160fc8-14de-466e-8785-8254a7fd0e11"
      unitRef="usd">1577000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNS0zLTEtMS0zODA3NQ_41c9fa63-ed29-47fe-81a2-7d76b243a40c"
      unitRef="usd">597000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumNet>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNi0xLTEtMS0zODA3NQ_c60eecf5-4700-4a69-aaac-d9ce72d18e99"
      unitRef="usd">56528000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:DebtAndCapitalLeaseObligations
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNi0zLTEtMS0zODA3NQ_c73afa41-00c9-4f64-baaa-ddce5df885e0"
      unitRef="usd">52940000</us-gaap:DebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNy0xLTEtMS0zODA3NQ_9f85c7f7-1c36-4ce6-945a-f93041a4f80a"
      unitRef="usd">1070000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfNy0zLTEtMS0zODA3NQ_e642a863-a042-4699-af81-719bc9ea4b55"
      unitRef="usd">846000</us-gaap:LongTermDebtAndCapitalLeaseObligationsCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfOC0xLTEtMS0zODA3NQ_330fd646-168b-4112-b569-f94c1d233056"
      unitRef="usd">55458000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjQ0ODMxNDQ3ODEzODQ0NTJhYzg0NWEyODBhNGUyNTBjL3RhYmxlcmFuZ2U6NDQ4MzE0NDc4MTM4NDQ1MmFjODQ1YTI4MGE0ZTI1MGNfOC0zLTEtMS0zODA3NQ_8411c47d-c006-4c1b-9efa-f03b28858bed"
      unitRef="usd">52094000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ic12212afc7604e608265a77510a894d8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfNTQ5NzU1ODIwNzg1_0eaf314c-97d8-4698-b15e-8c458a5f9966"
      unitRef="usd">1200000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <nx:LineofCreditFacilityMaximumBorrowingCapacityCommittedAmount
      contextRef="i294b1ed8b0e444e7af18c0a28378f68f_I20181018"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfNTQ5NzU1ODE4Mzcz_01eb5647-4a12-4ca6-bd91-580f843d1cf0"
      unitRef="usd">325000000</nx:LineofCreditFacilityMaximumBorrowingCapacityCommittedAmount>
    <nx:ScheduleOfApplicableMarginAndCommitmentFeesTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfNDAwMg_831249fd-021f-4e8b-a515-0cd6f005c12b">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The applicable margin and commitment fees are outlined in the following table:&lt;/span&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:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.367%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.547%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:700;line-height:100%"&gt;Pricing Level&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Consolidated Net Leverage Ratio&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Commitment Fee&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Eurocurrency Rate Loans and RFR Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:700;line-height:100%"&gt;Base Rate Loans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;I&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt 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:10pt;font-weight:400;line-height:100%"&gt;Less than or equal to 1.50 to 1.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.150%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.25%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:2pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.25%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;II&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 1.50 to 1.00, but less than or equal to 2.25 to 1.00&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.175%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.50%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.50%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;III&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 2.25 to 1.00, but less than or equal to 3.00 to 1.00&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.200%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.75%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;IV&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:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Greater than 3.00 to 1.00&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.250%&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:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.00%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.00%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</nx:ScheduleOfApplicableMarginAndCommitmentFeesTableTextBlock>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i2417b67dd843464fbe7c1b148d54aafe_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMS00LTEtMS0zODA3NQ_5406fd1c-2c46-4203-9b1b-7c9664b6d675"
      unitRef="number">0.00150</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i0573350dae0a4162890f621d7ce45cce_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMS02LTEtMS0zODA3NQ_7d7583d4-4d30-4ca9-95c1-25971a97db2b"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i5aa387dea04d43e8ab59467d18841616_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMS02LTEtMS0zODA3NQ_f54d53ad-0672-41b5-8a4e-e14aa778e568"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ibde180080e6f4f07adca5dd5814d7abd_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMS0xMC0xLTEtMzgwNzU_10046ac4-f78a-42f4-a5a1-907808a7941b"
      unitRef="number">0.0025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i2cf06a582e1a4572b625432b2b44f874_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMi00LTEtMS0zODA3NQ_f4f8bc28-7ee7-44eb-860f-a17a54f50049"
      unitRef="number">0.00175</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i52403d5b22b54ed1be63ac4af583b197_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMi02LTEtMS0zODA3NQ_317ac386-b1e2-407c-808f-521fa8697d4a"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i63c160e22c3344d0a5cbe91fc8410fa3_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMi02LTEtMS0zODA3NQ_fc8f9162-7fb7-4dfc-87b8-66f47358d831"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="if7546ced3a8142f1918d9fb217f9cf85_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMi0xMC0xLTEtMzgwNzU_ee0b004b-4b88-4040-95e5-ab01373b0c0c"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="iabd521e54ab740e7b3a98721f6929eaf_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMy00LTEtMS0zODA3NQ_556ac40b-d180-45ef-972a-5bbfb9aada0a"
      unitRef="number">0.00200</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="iad7eeb5f6224494a9aa3d24b41eb27e7_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMy02LTEtMS0zODA3NQ_0dc7d27e-3a17-4476-ade8-b38d7d5b8a57"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i7bd96aad273f41af91504280831af64f_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMy02LTEtMS0zODA3NQ_62b5c24a-ec6a-46ec-9952-04f2a0294a93"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic2fb35eff22544ca82114129ab8093e7_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfMy0xMC0xLTEtMzgwNzU_c69fd755-5c87-4f35-a8aa-268ce34af320"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i39923145607345a3a71c8a9974eb7a31_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfNC00LTEtMS0zODA3NQ_b6a14a2e-47dc-4425-91c7-36cf99f4ec11"
      unitRef="number">0.00250</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i4a1b2c7d3d4b4fb3a4d48121f90f4296_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfNC02LTEtMS0zODA3NQ_0f49f257-74ba-4b0e-9a26-df4cdc4f0bed"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i132f85bb54904328a0365cd6844806a2_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfNC02LTEtMS0zODA3NQ_d8adfbb8-0663-4aef-8f71-947411c8fcc2"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="if1a23a35c83d49b4b4e770f74b4abcab_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RhYmxlOjdkMzI3MGIyYTg4NTQzNGRiNzNkNzE5NDIyZTc1NGZiL3RhYmxlcmFuZ2U6N2QzMjcwYjJhODg1NDM0ZGI3M2Q3MTk0MjJlNzU0ZmJfNC0xMC0xLTEtMzgwNzU_b79373c3-ed65-4290-9350-9c0278681b4c"
      unitRef="number">0.0100</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <nx:DebtInstrumentDebtDefaultInterestAccrualRate
      contextRef="i1442be6a268a4ec4b5562ec12d4da8c7_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMTk5Ng_de12b42b-1510-466b-8172-1c331d078f21"
      unitRef="number">0.02</nx:DebtInstrumentDebtDefaultInterestAccrualRate>
    <nx:MinimumIncrementalBorrowing
      contextRef="i37a3370b7ab94ef89e5a05e37cf8c7ab_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMjE2MA_36303845-b69c-4d8c-8454-30c51481b7f0"
      unitRef="usd">10000000</nx:MinimumIncrementalBorrowing>
    <nx:MaximumIncrementalBorrowing
      contextRef="i37a3370b7ab94ef89e5a05e37cf8c7ab_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMjE5Mw_49f3160f-a75f-4706-b71e-67980ac2cda3"
      unitRef="usd">150000000</nx:MaximumIncrementalBorrowing>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount
      contextRef="id139acc1f89449f0abd2d8448e62d5f2_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMjMxNw_4ad81b98-d216-480d-bc2f-b1aab7f1bc6f"
      unitRef="usd">15000000</us-gaap:DebtInstrumentUnusedBorrowingCapacityAmount>
    <nx:DebtInstrumentRequiredCoverageRatio
      contextRef="i1442be6a268a4ec4b5562ec12d4da8c7_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMjYwMg_bacfbf9a-11fa-4eee-82fa-ff89bbb7913d"
      unitRef="number">0.0300</nx:DebtInstrumentRequiredCoverageRatio>
    <nx:DebtInstrumentRequiredLeverageRatio
      contextRef="i1442be6a268a4ec4b5562ec12d4da8c7_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMjc1NA_367d565a-7216-4cb2-a974-7f3bd025e02e"
      unitRef="number">0.0325</nx:DebtInstrumentRequiredLeverageRatio>
    <nx:DebtInstrumentLimitationonAnnualDividend
      contextRef="i1442be6a268a4ec4b5562ec12d4da8c7_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzA1NA_5a56682a-b684-47af-9929-a06e1abcbf82"
      unitRef="usd">25000000</nx:DebtInstrumentLimitationonAnnualDividend>
    <nx:DebtInstrumentLeverageRatioThresholdforLimitationstoTakeEffect
      contextRef="i1442be6a268a4ec4b5562ec12d4da8c7_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzI0MA_d907d6b5-e2b0-4dab-9e7d-2135752f8ba7"
      unitRef="number">2.75</nx:DebtInstrumentLeverageRatioThresholdforLimitationstoTakeEffect>
    <nx:DebtInstrumentLiquidityThresholdforLimitationstoTakeEffect
      contextRef="i1442be6a268a4ec4b5562ec12d4da8c7_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzI4Mw_dbf8fcd2-64d9-44f4-8682-7e748d5ee0af"
      unitRef="usd">25000000</nx:DebtInstrumentLiquidityThresholdforLimitationstoTakeEffect>
    <us-gaap:LineOfCredit
      contextRef="i996cba8e5ff64e9f9ca6b0edc17523c4_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzQzMw_9788be61-754a-4e08-8996-17989dc2f9f0"
      unitRef="usd">38000000</us-gaap:LineOfCredit>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzU0MA_a4152ed0-bc71-4b2e-a81c-83450bdbf8f0"
      unitRef="usd">5100000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:OtherLongTermDebt
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzU4MA_d13f9a23-73fb-4883-8ab1-169691cb24d5"
      unitRef="usd">20100000</us-gaap:OtherLongTermDebt>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzY0OQ_d79e16c8-678b-4d9d-a54e-78c015827b95"
      unitRef="usd">281900000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i04c2272481034bef94c3d491730c28e0_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzc4MQ_0a880883-cd0f-49a1-9d61-bd12e888c245"
      unitRef="number">0.0308</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzg5OQ_362ce031-11f1-47e0-b148-712c97524635"
      unitRef="number">0.0181</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF80OS9mcmFnOmNhMTZhZDFjMjU2ODQwMGNiYzUyYWYyYTc1ZDU3MTM5L3RleHRyZWdpb246Y2ExNmFkMWMyNTY4NDAwY2JjNTJhZjJhNzVkNTcxMzlfMzkwNg_253c1826-d8bb-4cd5-babc-62e2664e1e17"
      unitRef="number">0.0143</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RleHRyZWdpb246NDMwZmIxNjc2NjIxNDg1ZWE4YzQ0Njk0YTAxMTkzNGVfMTE1Ng_39bc19a1-c332-4522-b7b1-d6ff8ca36f05">Retirement Plans&lt;div style="margin-top:9pt"&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;Pension Plan &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our non-contributory, single employer defined benefit pension plan covers certain of our employees in the U.S. The net periodic pension cost for this plan for the three and nine months ended July&#160;31, 2022 and 2021 was as follows (in thousands): &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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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:8pt;font-weight:400;line-height:100%"&gt;&#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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Service cost&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;215&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;212&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;645&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;637&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&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:10pt;font-weight:400;line-height:100%"&gt;201&#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:10pt;font-weight:400;line-height:100%"&gt;189&#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:10pt;font-weight:400;line-height:100%"&gt;604&#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:10pt;font-weight:400;line-height:100%"&gt;567&#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:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&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:10pt;font-weight:400;line-height:100%"&gt;(498)&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:10pt;font-weight:400;line-height:100%"&gt;(490)&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:10pt;font-weight:400;line-height:100%"&gt;(1,493)&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:10pt;font-weight:400;line-height:100%"&gt;(1,470)&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:10pt;font-weight:400;line-height:100%"&gt;Amortization of net loss&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:10pt;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;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:10pt;font-weight:400;line-height:100%"&gt;36&#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:10pt;font-weight:400;line-height:100%"&gt;5&#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:10pt;font-weight:400;line-height:100%"&gt;108&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension benefit&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(80)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(53)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(239)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(158)&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:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During September 2021, we &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;contributed $0.5 million to fund our plan. &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 fiscal&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; &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;2022&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;,&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; we do not expect to need to make a contribution to the pension plan to maintain targeted funding levels and meet minimum contribution requirements. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Other Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We also have a supplemental benefit plan covering certain executive officers and key employees and a non-qualified deferred compensation plan covering members of the Board of Directors and certain key employees. As of July&#160;31, 2022 and October&#160;31, 2021, our liability under the supplemental benefit plan was approxim&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;ately $2.9 million. As of July&#160;31, 2022 and October&#160;31, 2021, the liability associated with the deferred compensation plan was approximately $3.5&#160;million and $3.4&#160;million, respectively. We record the current portion of liabilities associated with these plans under the caption &#x201c;Accrued Liabilities,&#x201d; and the long-term portion under the caption &#x201c;Other Liabilities&#x201d; in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RleHRyZWdpb246NDMwZmIxNjc2NjIxNDg1ZWE4YzQ0Njk0YTAxMTkzNGVfMTE2NA_38731d25-9b73-4d59-85c3-f59bcfa47a4f">The net periodic pension cost for this plan for the three and nine months ended July&#160;31, 2022 and 2021 was as follows (in thousands): &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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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:8pt;font-weight:400;line-height:100%"&gt;&#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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Service cost&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;215&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;212&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;645&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;637&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&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:10pt;font-weight:400;line-height:100%"&gt;201&#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:10pt;font-weight:400;line-height:100%"&gt;189&#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:10pt;font-weight:400;line-height:100%"&gt;604&#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:10pt;font-weight:400;line-height:100%"&gt;567&#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:10pt;font-weight:400;line-height:100%"&gt;Expected return on plan assets&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:10pt;font-weight:400;line-height:100%"&gt;(498)&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:10pt;font-weight:400;line-height:100%"&gt;(490)&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:10pt;font-weight:400;line-height:100%"&gt;(1,493)&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:10pt;font-weight:400;line-height:100%"&gt;(1,470)&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:10pt;font-weight:400;line-height:100%"&gt;Amortization of net loss&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:10pt;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;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:10pt;font-weight:400;line-height:100%"&gt;36&#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:10pt;font-weight:400;line-height:100%"&gt;5&#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:10pt;font-weight:400;line-height:100%"&gt;108&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic pension benefit&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(80)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(53)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(239)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(158)&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;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfMy0xLTEtMS0zODA3NQ_96cfd6a7-bb91-4a5e-875e-a23102640c50"
      unitRef="usd">215000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfMy0zLTEtMS0zODA3NQ_71c8d373-0a45-49bc-ad41-18b83bf00b4f"
      unitRef="usd">212000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfMy01LTEtMS0zODA3NQ_0b33a2fd-4a4e-4ac3-ad8c-85bf1c75ba53"
      unitRef="usd">645000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfMy03LTEtMS0zODA3NQ_0a2898bd-879f-4d01-b55c-c377202a32f3"
      unitRef="usd">637000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNC0xLTEtMS0zODA3NQ_2bf9d65c-e06f-40dd-bf0c-a9b2f590b9ee"
      unitRef="usd">201000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNC0zLTEtMS0zODA3NQ_6f579bee-49a3-4189-a6cf-1d3b114217b3"
      unitRef="usd">189000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNC01LTEtMS0zODA3NQ_1d3c61db-21a2-42f8-b1d9-4c000c8600b3"
      unitRef="usd">604000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNC03LTEtMS0zODA3NQ_1fa139b1-a29e-47b7-a889-566cb9beec71"
      unitRef="usd">567000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNS0xLTEtMS0zODA3NQ_a6c026cc-15ac-4e6a-ad4c-802784f41a54"
      unitRef="usd">498000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNS0zLTEtMS0zODA3NQ_fbc671a9-5bc3-4f68-806e-e380c8082ba4"
      unitRef="usd">490000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNS01LTEtMS0zODA3NQ_9c49eec7-24db-49db-b036-264d86936a8c"
      unitRef="usd">1493000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNS03LTEtMS0zODA3NQ_e809c733-8256-4ff7-adb0-28737390fa78"
      unitRef="usd">1470000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNi0xLTEtMS0zODA3NQ_869d9e75-8433-46e0-bb4a-ac4098ad3742"
      unitRef="usd">-2000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNi0zLTEtMS0zODA3NQ_b2600156-97ba-4fdf-977f-96d8cfc981f6"
      unitRef="usd">-36000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNi01LTEtMS0zODA3NQ_2422fba4-8e69-4967-bd48-7243770ec67a"
      unitRef="usd">-5000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNi03LTEtMS0zODA3NQ_7db25345-248c-47ca-8310-e142a3900d8d"
      unitRef="usd">-108000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNy0xLTEtMS0zODA3NQ_e216a306-f237-44c3-82b9-ec1cd8400cf0"
      unitRef="usd">-80000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNy0zLTEtMS0zODA3NQ_816680aa-0e7d-41b3-a1d9-314ee340c207"
      unitRef="usd">-53000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNy01LTEtMS0zODA3NQ_754d30dc-68be-4802-ae96-c65926aa0a73"
      unitRef="usd">-239000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RhYmxlOjQ1MzhjYTAzNzliMzQ0MTRhNWIwZWQxN2I2Y2Q1MTNmL3RhYmxlcmFuZ2U6NDUzOGNhMDM3OWIzNDQxNGE1YjBlZDE3YjZjZDUxM2ZfNy03LTEtMS0zODA3NQ_cb0754d7-6783-473a-981e-39b1c1cc9244"
      unitRef="usd">-158000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="idf5c036e752246c5a6e45ecac2667dae_D20210801-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RleHRyZWdpb246NDMwZmIxNjc2NjIxNDg1ZWE4YzQ0Njk0YTAxMTkzNGVfMjk4_f053fe8d-fb4d-4de4-bd15-e2c44c103ade"
      unitRef="usd">500000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RleHRyZWdpb246NDMwZmIxNjc2NjIxNDg1ZWE4YzQ0Njk0YTAxMTkzNGVfNzk1_00839be5-c42d-45e5-9b8f-c75f38263a47"
      unitRef="usd">2900000</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RleHRyZWdpb246NDMwZmIxNjc2NjIxNDg1ZWE4YzQ0Njk0YTAxMTkzNGVfNzk1_4743fdb1-d5c1-4deb-ac08-6daaad65a5bd"
      unitRef="usd">2900000</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrentAndNoncurrent>
    <us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RleHRyZWdpb246NDMwZmIxNjc2NjIxNDg1ZWE4YzQ0Njk0YTAxMTkzNGVfODk1_ab362507-a921-4859-9108-95d889518d24"
      unitRef="usd">3500000</us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81NS9mcmFnOjQzMGZiMTY3NjYyMTQ4NWVhOGM0NDY5NGEwMTE5MzRlL3RleHRyZWdpb246NDMwZmIxNjc2NjIxNDg1ZWE4YzQ0Njk0YTAxMTkzNGVfOTAy_b82ac386-c060-41ca-9fc9-b1d535abb7f9"
      unitRef="usd">3400000</us-gaap:DeferredCompensationLiabilityCurrentAndNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMjQ3OQ_c3f8f38a-0346-4e36-b7fe-a13b656457e3">Income Taxes &lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To determine our income tax expense or benefit for interim periods, consistent with accounting standards, we apply the estimated annual effective income tax rate t&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;o year-to-date results, plus any applicable discrete items, which are recorded in the period in which they occur. Discrete items include, among others, such events as changes in estimates due to the finalization of tax returns, tax audit settlements, expiration of statutes of limitations, tax benefits on equity compensation, and increase or decrease in valuation allowances on deferred tax assets. Our effective tax rates from continuing operations for the nine months ended July&#160;31, 2022 and 2021 were 22.2% and 32.5%, respectively. The difference between our effective income tax rate and the U.S. federal statutory rate of 21% principally results from discrete tax items, U.S. state tax, non-U.S. tax rate differential and other permanent differences. The primary discrete items affecting the 2022 effective rate were a benefit of $0.2 million related to the vesting or exercise of equity-based compensation awards and a benefit of $1.0 million for the true-up of our accruals and related deferred taxes from prior year. The primary discrete items affecting the 2021 effective rate were the $3.1 million remeasurement of our deferred income tax assets and liabilities related to the increase in the corporate tax rate in the U.K. from 19% to 25%, a charge of $0.6 million related to the vesting or exercise of equity-based compensation awards and a benefit of $0.6 million for the true-up of our accruals and related deferred taxes from prior year filings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:22.5pt"&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;As of July&#160;31, 2022, our liability for uncertain tax positions (UTP) of $1.4 million relates to certain U.S. federal and state tax items regarding the interpretation of tax laws and regulations, including a minimal amount of interest and penalties. We include all interest and penalties related to uncertain tax benefits within our income tax provision account. To the extent interest and penalties are not assessed with respect to uncertain tax positions or the uncertainty of deductions in the future, amounts accrued will be reduced and reflected as a reduction of the overall income tax provision. Our total unrecognized tax benefits, if recognized, would not materially affect our effective tax rate. We do not believe that the recorded amount of unrecognized tax benefits will decrease significantly within the next twelve months. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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;We evaluate the likelihood of realization of our deferred tax assets by considering both positive and negative evidence.  We maintain a valuation allowance for certain state net operating losses which totaled $1.3 million as of July&#160;31, 2022 and October&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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;On August 16, 2002 the Inflation Reduction Act of 2022 was signed into law. We are evaluating the regulations but do not believe they will result in a material impact to our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfNjgy_703dd33f-4ad2-475b-8b4b-654d301533d3"
      unitRef="number">0.222</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfNjg5_b8057ab1-19ae-4244-badd-048061abc2eb"
      unitRef="number">0.325</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfNzk5_26da97b6-5ced-471f-acc0-a8e2309e7389"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <nx:EffectiveIncomeTaxRateReconciliationVestingOrExerciseOfShareBasedPaymentArrangementAmount
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTAwNA_b307d78e-fcfc-40e4-9e21-a6547bba0865"
      unitRef="usd">200000</nx:EffectiveIncomeTaxRateReconciliationVestingOrExerciseOfShareBasedPaymentArrangementAmount>
    <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTA5NQ_a334369a-1df1-4a12-a82a-1b01076a6dfb"
      unitRef="usd">1000000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTA5OTUxMTYzMDk0NA_1767c43b-2227-468f-bed4-655dc0415e81"
      unitRef="usd">3100000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i2d068b6a9d464ff1828651c0d58085e3_D20201101-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTA5OTUxMTYzMDk1Mg_025f4795-36f8-42e9-b438-e2ce4da13ff3"
      unitRef="number">0.19</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i4038d175ef0b4473bd437a3ee6be0120_D20201101-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTA5OTUxMTYzMDk1Ng_4d773428-68e3-4fb2-8dfb-e1348fa581cf"
      unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <nx:EffectiveIncomeTaxRateReconciliationVestingOrExerciseOfShareBasedPaymentArrangementAmount
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTA5OTUxMTYzMDY4NA_f2da7cac-a71d-4079-8aa2-e463947c7f1a"
      unitRef="usd">600000</nx:EffectiveIncomeTaxRateReconciliationVestingOrExerciseOfShareBasedPaymentArrangementAmount>
    <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTA5OTUxMTYzMDY4OA_76ad345b-daa5-456c-9258-640cf7bb70f4"
      unitRef="usd">600000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMTQ5MA_de03ba5d-f7d2-4989-9686-20d9360686ad"
      unitRef="usd">1400000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMjQ1NQ_10c3b30c-7561-4a6e-aec0-5fa55f20d9bc"
      unitRef="usd">1300000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF81OC9mcmFnOjk3NzIwMzVhZmE2OTRhZTI4NmZmZTdlYzFjMzI4MWZiL3RleHRyZWdpb246OTc3MjAzNWFmYTY5NGFlMjg2ZmZlN2VjMWMzMjgxZmJfMjQ1NQ_16bb4893-13ad-4369-8ab0-6a0947701e8f"
      unitRef="usd">1300000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF82MS9mcmFnOjdkODc5YTczYzM3ZDRmNjQ5MWNhN2YyMDcwZDNhNTVmL3RleHRyZWdpb246N2Q4NzlhNzNjMzdkNGY2NDkxY2E3ZjIwNzBkM2E1NWZfMzI1MA_0e9d2dc7-f090-4e65-b387-6941ba93cab7">Contingencies&lt;div style="margin-top:9pt;text-align:justify"&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;Remediation and Environmental Compliance Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under applicable state and federal laws, we may be responsible for, among other things, all or part of the costs required to remove or remediate wastes or hazardous substances at locations we, or our predecessors, have owned or operated. From time to time, we also have been alleged to be liable for all or part of the costs incurred to clean up third-party sites where there might have been an alleged improper disposal of hazardous substances. At present, we are not involved in any such matters.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, we incur routine expenses and capital expenditures associated with compliance with existing environmental regulations, including control of air emissions and water discharges, and plant decommissioning costs. We have not incurred any material expenses or capital expenditures related to environmental matters during the past three fiscal years, and do not expect to incur a material amount of such costs in fiscal 2022. While we will continue to have future expenditures related to environmental matters, any such amounts are impossible to reasonably estimate at this time. Based upon our experience to date, we do not believe that our compliance with environmental requirements will have a material adverse effect on our operations, financial condition or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Litigation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, we, along with our subsidiaries, are involved in various litigation matters arising in the ordinary course of our business, including those arising from or related to contractual matters, commercial disputes, intellectual property, personal injury, environmental matters, product performance or warranties, product liability, insurance coverage and personnel and employment disputes. We regularly review with legal counsel the status of all ongoing proceedings, and we maintain insurance against these risks to the extent deemed prudent by our management and to the extent such insurance is available. However, there is no assurance that we will prevail in these matters or that our insurers will accept full coverage of these matters, and we could, in the future, incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome or insurability of matters we face, which could materially impact our results of operations.&lt;/span&gt;&lt;/div&gt;We have been and are currently party to multiple claims, some of which are in litigation, relating to alleged defects in a commercial sealant product that was manufactured and sold during the 2000&#x2019;s. While we believe that our product was not defective and that we would prevail in these commercial sealant product claims if taken to trial, the timing, ultimate resolution and potential impact of these claims is not currently determinable. Nevertheless, after taking into account all currently available information, including our defenses, the advice of our counsel, and the extent and currently-expected availability of our existing insurance coverage, we believe that the eventual outcome of these commercial sealant claims will not have a material adverse effect on our overall financial condition, results of operations or cash flows, and we have not recorded any accrual with regard to these claims.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF82NC9mcmFnOjkxYThhNDJjMjhlYjQ2MmVhZTNmYjBiYWNiZGE1Yjc4L3RleHRyZWdpb246OTFhOGE0MmMyOGViNDYyZWFlM2ZiMGJhY2JkYTViNzhfMjYyOQ_0760e4f0-58c9-4284-ad6e-cf7ae3f79bb4">Fair Value Measurement of Assets and Liabilities&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. The fair value hierarchy distinguishes between (1) market participant assumptions developed based on market data obtained from independent sources (observable inputs) and (2) an entity's own assumptions about market data developed based on the best information available in the circumstances (unobservable inputs). The fair value hierarchy consists of three broad levels, which gives the highest priority to Level 1 and the lowest priority to Level 3. The three levels of the fair value hierarchy are described below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt"&gt;Level 1 - Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt"&gt;Level 2 - Inputs other than quoted prices included within Level 1 that are observable for the asset or liability either directly or indirectly including quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar assets or liabilities in markets that are not active; inputs other than quoted prices that are observable for the asset or liability (e.g., interest rates) and inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:27pt;text-align:justify;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt"&gt;Level 3 - Inputs that are both significant to the fair value measurement and unobservable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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 July&#160;31, 2022, foreign currency derivatives were being measured on a recurring basis. Less than $0.1&#160;million of foreign currency derivatives were included in total liabilities as of July&#160;31, 2022. There were no outstanding foreign currency derivatives as of October&#160;31, 2021. All of our derivative contracts are valued using quoted market prices from brokers or exchanges and are classified within Level 2 of the fair value hierarchy.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Carrying amounts reported on the balance sheet for cash, cash equivalents, accounts receivable and accounts payable approximate fair value due to the short-term maturity of these instruments. Our outstanding debt is variable rate debt that re-prices frequently, thereby limiting our exposure to significant change in interest rate risk. As a result, the fair value of our debt instrument approximates carrying value at July&#160;31, 2022, and October&#160;31, 2021 (Level 2 measurement).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our performance share awards are marked-to-market on a quarterly basis during a three-year vesting period based on market data (Level 2 measurement). For further information, refer to Note 9, &#x201c;Stock-Based Compensation - Performance Share Awards.&#x201d;&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLiabilityAtFairValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF82NC9mcmFnOjkxYThhNDJjMjhlYjQ2MmVhZTNmYjBiYWNiZGE1Yjc4L3RleHRyZWdpb246OTFhOGE0MmMyOGViNDYyZWFlM2ZiMGJhY2JkYTViNzhfMTYyNQ_c838bcad-991c-43be-9989-db296557b1de"
      unitRef="usd">100000</us-gaap:ForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstrumentsLiabilityAtFairValue>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU5Ng_18c9389e-4b30-4389-bb49-3741b6bb74d9">Stock-Based Compensation&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have established and maintain an Omnibus Incentive Plan (2020 Plan) that provides for the granting of restricted stock awards, stock options, restricted stock units, performance share awards, performance restricted stock units, and other stock-based and cash-based awards. The 2020 Plan is administered by the Compensation and Management Development Committee of the Board of Directors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate number of shares of common stock authorized for grant under the 2020 Plan is 3,139,895 as approved by shareholders. Any officer, key employee and/or non-employee director is eligible for awards under the 2020 Plan. We grant restricted stock units to non-employee directors on the first business day of each fiscal year. As approved by the Compensation &amp;amp; Management Development Committee of our Board of Directors annually, we grant a mix of restricted stock awards, restricted stock units, performance shares and/or performance restricted stock units to officers, management and key employees.  We also historically granted stock options to certain officers, directors and key employees. Occasionally, we may make additional grants to key employees at other times during the year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Restricted Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock awards are granted to key employees and officers annually, and typically cliff vest over a three-year period with service and continued employment as the only vesting criteria. The recipient of the restricted stock award is entitled to all of the rights of a shareholder, except that the award is nontransferable during the vesting period. The fair value of the restricted stock award is established on the grant date and then expensed over the vesting period resulting in an increase in additional paid-in-capital. Shares are generally issued from treasury stock at the time of grant.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of non-vested restricted stock awards activity during the nine months ended July&#160;31, 2022 is presented below:&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:62.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.468%"/&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="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:700;line-height:100%"&gt;Restricted Stock Awards&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: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&#160;Average&lt;br/&gt;Grant Date Fair Value per Share&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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2021&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;216,400&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;17.28&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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:10pt;font-weight:400;line-height:100%"&gt;84,400&#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:10pt;font-weight:400;line-height:100%"&gt;22.54&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&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:10pt;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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&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:10pt;font-weight:400;line-height:100%"&gt;(88,700)&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:10pt;font-weight:400;line-height:100%"&gt;13.74&#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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at July 31, 2022&lt;/span&gt;&lt;/td&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,100&#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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;20.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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total weighted average grant-date fair value of restricted stock awards that vested during each of the nine months ended July&#160;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 $1.2 million and $0.9 million, respectively. As of July&#160;31, 2022, total unrecognized compensation cost related to unamortized restricted stock awards was $2.3 million. We expect to recognize this expense over the remaining weighted average vesting period of 2.0 years. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically, stock options have been awarded to key employees, officers and non-employee directors. In December 2017, the Compensation &amp;amp; Management Development Committee of the Board of Directors approved a change to the long-term incentive award program eliminating the grant of stock options and replacing this award with a grant of performance restricted stock units and performance shares as further described below. As a result, the final stock options were granted during the fiscal year ended October 31, 2017. Stock options typically vested ratably over a three-year period with service and continued employment as the vesting conditions. Our stock options may be exercised up to a maximum of ten years from the date of grant. The fair value of the stock options was determined on the grant date and expensed over the vesting period resulting in an increase in additional paid-in-capital. For employees who were nearing retirement-eligibility, we recognized stock option expense ratably over the shorter of the vesting period or the period from the grant-date to the retirement-eligibility date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use a Black-Scholes pricing model to estimate the fair value of stock options. A description of the methodology for the valuation assumptions was disclosed in our Annual Report on Form 10-K for the fiscal year ended October&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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 our stock option activity for the nine months ended July&#160;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:41.590%"/&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:1.408%"/&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:1.408%"/&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:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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="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:700;line-height:100%"&gt;Stock Options&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: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&lt;br/&gt;Exercise Price&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: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&lt;br/&gt;Remaining Contractual&lt;br/&gt;Term&#160;(in&#160;years)&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: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;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&#160;(000s)&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:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2021&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;218,304&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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:10pt;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:10pt;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="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&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:10pt;font-weight:400;line-height:100%"&gt;(25,711)&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:10pt;font-weight:400;line-height:100%"&gt;19.55&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&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:10pt;font-weight:400;line-height:100%"&gt;(1,600)&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:10pt;font-weight:400;line-height:100%"&gt;16.33&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at July 31, 2022&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;190,993&#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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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:10pt;font-weight:400;line-height:100%"&gt;3.0&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,000&#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:10pt;font-weight:400;line-height:100%"&gt;Vested at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;190,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,000&#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:10pt;font-weight:400;line-height:100%"&gt;Exercisable at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;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:10pt;font-weight:400;line-height:100%"&gt;190,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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:10pt;font-weight:400;line-height:100%"&gt;3.0&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,000&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intrinsic value is the amount by which the market price of the common stock on the date of exercise exceeds the exercise price of the stock option. The total intrinsic value of stock options exercised during the nine months ended July&#160;31, 2022 and 2021 was &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;$0.1 million and $4.2 million, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units may be awarded to key employees and officers from time to time, and annually to non-employee directors. The non-employee director restricted stock units vest immediately but are payable only upon the director's cessation of service unless an election is made by the non-employee director to settle and pay the award on an earlier specified date.  Restricted stock units awarded to employees and officers typically cliff vest after a three-year period with service and continued employment as the vesting conditions. Restricted stock units are not considered outstanding shares and do not have voting rights, although the holder does receive a cash payment equivalent to the dividend paid, on a one-for-one basis, on our outstanding common shares. Once the criteria is met, each restricted stock unit is payable to the holder in cash based on the market value of one share of our common stock. Accordingly, we record a liability for the restricted stock units on our balance sheet and recognize any changes in the market value during each reporting period as compensation expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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 nine months ended July&#160;31, 2022 and&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; 2021, non-employee directors received 36,669 and 28,826 restricted stock units, respectively, at a weighted average grant date fair value of $22.52 per share and $18.79 per share, respectively, which vested immediately. As of July&#160;31, 2022, there were 21,774 non-vested restricted stock units, which were awarded in January 2020 to key employees at a weighted average grant date fair value of $17.08. During the nine months ended July&#160;31, 2022 we paid $1.0&#160;million and $0.8&#160;million for the comparable prior year to settle vested restricted stock units.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Performance Share Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have awarded annual grants of performance shares to key employees and officers. Performance share awards vest with return on net assets (RONA) as the vesting condition and pay out 100% in cash, and are accounted for as liability. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected cash settlement of the performance share award is recorded as a liability and is being marked to market over the three-year term of the award and can fluctuate depending on the number of shares ultimately expected to vest. Depending on the achievement of the performance conditions, 0% to 200% of the awarded performance shares may ultimately vest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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 our performance share grants and the grant date fair value for the RONA performance metrics:&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:68.490%"/&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.256%"/&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.256%"/&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.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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;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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&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:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&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:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&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:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&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:10pt;font-weight:400;line-height:100%"&gt;55,900&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.40&#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="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:10pt;font-weight:400;line-height:100%"&gt;5,300&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&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:10pt;font-weight:400;line-height:100%"&gt;65,300&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;20.68&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&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:10pt;font-weight:400;line-height:100%"&gt;80,900&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;22.54&#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:10pt;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, 183,000 shares vested pursuant to the December 2018 grant, which were settled with a cash payment of $3.8&#160;million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Performance share awards are payable in cash based upon the number of performance shares ultimately earned, and are therefore not considered outstanding shares.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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;Performance Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We award performance restricted stock units to key employees and officers. These awards cliff vest upon a three-year service period with the absolute total shareholder return of our common stock over this three-year term as the vesting criteria. The number of shares earned is variable depending on the metric achieved, and the settlement method is 100% in our common stock, with accrued dividends paid in cash at the time of vesting, assuming the shares had been outstanding throughout the performance period.    &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To value the performance restricted stock units, we used a Monte Carlo simulation model to arrive at a grant-date fair value. This amount will be adjusted for forfeitures and expensed over the three-year term of the award with a credit to additional paid-in-capital. Depending on the achievement of the performance conditions, a minimum of 0% and a maximum of 150% of the awarded performance restricted stock units may vest. Specifically, the awards vest on a continuum with the following Absolute Total Shareholder Return (A-TSR) milestones: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;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:20.098%"/&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:45.245%"/&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:29.897%"/&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:10pt;font-weight:700;line-height:100%"&gt;Vesting Level&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Criteria&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:10pt;font-weight:700;line-height:100%"&gt;Percentage of Award Vested&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR greater than or equal to 50%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150%&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:10pt;font-weight:400;line-height:100%"&gt;Level 2&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 50% and greater than or equal to 20%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&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:10pt;font-weight:400;line-height:100%"&gt;Level 3&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 20% and greater than or equal to -20%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50%&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:10pt;font-weight:400;line-height:100%"&gt;Level 4&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than -20%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&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 our performance restricted stock unit grants and the grant date fair value for the A-TSR performance metric:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;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:68.490%"/&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.256%"/&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.256%"/&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.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:700;line-height:100%"&gt;Grant Date&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:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&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:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&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:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&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:10pt;font-weight:400;line-height:100%"&gt;35,000&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.40&#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="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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&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:10pt;font-weight:400;line-height:100%"&gt;38,400&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;20.68&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&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:10pt;font-weight:400;line-height:100%"&gt;50,900&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;21.06&#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:10pt;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify;text-indent:22.5pt"&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 nine months ended July&#160;31, 2022&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;, 87,919 performance restricted stock units vested. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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;The performance restricted stock units are not considered outstanding shares, do not have voting rights, and are exclud&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;ed from diluted weighted-average shares used to calculate earnings per share until the performance criteria is probable to result in the issuance of contingent shares. As of July&#160;31, 2022, we have de&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;emed 41,269 shares related to the December 2019 grant of performance restricted stock units as probable to vest. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:15pt;text-align:justify;text-indent:24.75pt"&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 amounts expensed as selling, general and administrative expense related to restricted stock awards, stock options, restricted stock units, performance share awards and performance restricted stock units for the three and nine months ended July&#160;31, 2022 and 2021 (in thousands):&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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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: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="9" 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: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: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="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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;371&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;315&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,079&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;921&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:10pt;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:10pt;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:10pt;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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&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:10pt;font-weight:400;line-height:100%"&gt;796&#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:10pt;font-weight:400;line-height:100%"&gt;(369)&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:10pt;font-weight:400;line-height:100%"&gt;1,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;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:10pt;font-weight:400;line-height:100%"&gt;1,823&#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:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&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:10pt;font-weight:400;line-height:100%"&gt;396&#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:10pt;font-weight:400;line-height:100%"&gt;719&#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:10pt;font-weight:400;line-height:100%"&gt;2,052&#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:10pt;font-weight:400;line-height:100%"&gt;4,020&#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:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;font-weight:400;line-height:100%"&gt;212&#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:10pt;font-weight:400;line-height:100%"&gt;186&#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:10pt;font-weight:400;line-height:100%"&gt;628&#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:10pt;font-weight:400;line-height:100%"&gt;543&#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 14.5pt;text-align:left;text-indent:4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;1,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;5,271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;7,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&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;Treasury Shares&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We record treasury stock purchases under the cost method whereby the entire cost of the acquired stock is recorded as treasury stock. Shares are generally issued from treasury stock at the time of grant of restricted stock awards, upon the exercise of stock options, and upon the vesting of performance shares and performance restricted stock units. On the subsequent issuance of treasury shares, we record proceeds in excess of cost as an increase in additional paid in capital. A deficiency of such proceeds relative to costs would be applied to reduce paid-in-capital associated with prior issuances to the extent available, with the remainder recorded as a charge to retained earnings. There were no charges to retained earnings during the nine months ended July&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&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 treasury stock activity during the nine months ended July&#160;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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&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: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:10pt;font-weight:400;line-height:100%"&gt;Beginning Balance as of November 1, 2021&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;3,998,725&#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 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards granted&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:10pt;font-weight:400;line-height:100%"&gt;(84,400)&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units vested&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:10pt;font-weight:400;line-height:100%"&gt;(87,919)&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options exercised&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:10pt;font-weight:400;line-height:100%"&gt;(25,711)&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury stock repurchases&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:10pt;font-weight:400;line-height:100%"&gt;291,000&#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:10pt;font-weight:400;line-height:100%"&gt;Balance at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;4,091,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTE0_c18c5b32-7087-4106-9e7c-4331d937178f"
      unitRef="shares">3139895</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU4MQ_679055b9-470c-48bf-83f5-8e887b51e9c5">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTYwNA_12f3ff53-f919-4683-b261-73ecbcc6cb65">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of non-vested restricted stock awards activity during the nine months ended July&#160;31, 2022 is presented below:&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:62.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.468%"/&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="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:700;line-height:100%"&gt;Restricted Stock Awards&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: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&#160;Average&lt;br/&gt;Grant Date Fair Value per Share&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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at October 31, 2021&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;216,400&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;17.28&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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:10pt;font-weight:400;line-height:100%"&gt;84,400&#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:10pt;font-weight:400;line-height:100%"&gt;22.54&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&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:10pt;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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&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:10pt;font-weight:400;line-height:100%"&gt;(88,700)&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:10pt;font-weight:400;line-height:100%"&gt;13.74&#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:10pt;font-weight:400;line-height:100%"&gt;Non-vested at July 31, 2022&lt;/span&gt;&lt;/td&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,100&#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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;20.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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i9a83e26c309a4bfdab1b46ef98f974f8_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfMS0xLTEtMS0zODA3NQ_b91a1659-f8c2-4a64-9423-b04776202879"
      unitRef="shares">216400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i9a83e26c309a4bfdab1b46ef98f974f8_I20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfMS0zLTEtMS0zODA3NQ_633b2765-2079-46b0-8c98-998f817e9c56"
      unitRef="usdPerShare">17.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfMi0xLTEtMS0zODA3NQ_fd857ecd-6546-4a22-b09e-41680e7790d9"
      unitRef="shares">84400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfMi0zLTEtMS0zODA3NQ_4b5d46c0-ef96-4c8d-90de-da4771fc76db"
      unitRef="usdPerShare">22.54</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfMy0xLTEtMS0zODA3NQ_62f40539-b428-4df8-a733-73f1914fb922"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfMy0zLTEtMS0zODA3NQ_390fd981-58d7-4c9a-8cac-e1a20a748f24"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfNC0xLTEtMS0zODA3NQ_971129aa-afb7-4d28-bacd-690e77e6cbbc"
      unitRef="shares">88700</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfNC0zLTEtMS0zODA3NQ_ab9edc20-9fca-47a8-9610-ba4eab2454f0"
      unitRef="usdPerShare">13.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="iec6ca3d8d77048d1b0671a16a9ede784_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfNS0xLTEtMS0zODA3NQ_082cc3d3-176e-4a45-96e8-29efd1a18c79"
      unitRef="shares">212100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iec6ca3d8d77048d1b0671a16a9ede784_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmNhZjk1ZmE0ZmE2NjQ4MTg4N2Q4ZTBhNjE5OTU2NTUyL3RhYmxlcmFuZ2U6Y2FmOTVmYTRmYTY2NDgxODg3ZDhlMGE2MTk5NTY1NTJfNS0zLTEtMS0zODA3NQ_f9ddedf7-6653-4668-b56b-d2be7d2bfa5e"
      unitRef="usdPerShare">20.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfMjA4NA_a8d7a326-632f-4db2-8bc8-f42bd679d4d2"
      unitRef="usd">1200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="i0580bdfe78ff4e1fb17b48c4d144b993_D20201101-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfMjA5MQ_64210bc8-fdbc-409d-b1c3-a3c0f80a8b28"
      unitRef="usd">900000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="iec6ca3d8d77048d1b0671a16a9ede784_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfMjIwNw_4158e970-3f1c-44a7-8184-f96c5fa0833a"
      unitRef="usd">2300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfMjMwMQ_d27b0fa5-d21f-441b-b942-46982e875263">P2Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ibd27df429a4a484fa129da83a7e2685c_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU5Nw_7fd7b6b0-d614-434f-9b64-4eaf63650516">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU2OA_06865eb7-ba85-478d-a189-2575483cb286">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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 our stock option activity for the nine months ended July&#160;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:41.590%"/&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:1.408%"/&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:1.408%"/&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:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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="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:700;line-height:100%"&gt;Stock Options&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: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&lt;br/&gt;Exercise Price&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: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&lt;br/&gt;Remaining Contractual&lt;br/&gt;Term&#160;(in&#160;years)&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: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;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&#160;(000s)&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:10pt;font-weight:400;line-height:100%"&gt;Outstanding at October 31, 2021&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;218,304&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&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:10pt;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:10pt;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="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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&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:10pt;font-weight:400;line-height:100%"&gt;(25,711)&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:10pt;font-weight:400;line-height:100%"&gt;19.55&#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 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/Expired&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:10pt;font-weight:400;line-height:100%"&gt;(1,600)&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:10pt;font-weight:400;line-height:100%"&gt;16.33&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at July 31, 2022&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;190,993&#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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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:10pt;font-weight:400;line-height:100%"&gt;3.0&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,000&#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:10pt;font-weight:400;line-height:100%"&gt;Vested at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;190,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,000&#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:10pt;font-weight:400;line-height:100%"&gt;Exercisable at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;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:10pt;font-weight:400;line-height:100%"&gt;190,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.37&#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:10pt;font-weight:400;line-height:100%"&gt;3.0&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,000&#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;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfMS0xLTEtMS0zODA3NQ_3bc7a19b-cf5b-4569-bf8d-734739a601a0"
      unitRef="shares">218304</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfMS0zLTEtMS0zODA3NQ_bcc54219-4b32-4ed2-a34e-5de6e54c42f2"
      unitRef="usdPerShare">19.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfMi0xLTEtMS0zODA3NQ_c2cf4c8b-540b-439f-aa8c-3ed00b104ca8"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfMi0zLTEtMS0zODA3NQ_14356859-fe0c-4cea-9fb1-0c21f0fec5c4"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfMy0xLTEtMS0zODA3NQ_5b893440-2c72-4d1f-9a2e-48f72cde2811"
      unitRef="shares">25711</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfMy0zLTEtMS0zODA3NQ_d583abb1-4fa6-4a3b-bfcb-540940212808"
      unitRef="usdPerShare">19.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNC0xLTEtMS0zODA3NQ_bf6eaeb4-a6c9-4e51-ad15-89df7bde0584"
      unitRef="shares">1600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNC0zLTEtMS0zODA3NQ_8f62924c-0b94-4b29-b96c-99ddaf48daf2"
      unitRef="usdPerShare">16.33</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNS0xLTEtMS0zODA3NQ_0a4071e3-266d-4d51-a255-8020ec2270e8"
      unitRef="shares">190993</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNS0zLTEtMS0zODA3NQ_51b40907-0473-42e4-8332-4631868bda78"
      unitRef="usdPerShare">19.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNS01LTEtMS0zODA3NQ_e52fff94-4e76-4450-a37e-4c2b8af7046a">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNS03LTEtMS0zODA3NQ_88ee4165-3e6b-4429-a62c-e4fc9d31646b"
      unitRef="usd">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNi0xLTEtMS0zODA3NQ_e6b3ae51-2113-4f28-879f-31a91132f811"
      unitRef="shares">190993</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNi0zLTEtMS0zODA3NQ_497471a8-1daf-4a4a-89aa-91b596d1d420"
      unitRef="usdPerShare">19.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNi01LTEtMS0zODA3NQ_6b694c30-58ee-417e-bd52-161c7fe67b4b">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNi03LTEtMS0zODA3NQ_56d1d48c-ff06-4ac3-a672-e01ab30e15b1"
      unitRef="usd">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNy0xLTEtMS0zODA3NQ_27db15b1-0055-4022-9c22-1a07d99b0220"
      unitRef="shares">190993</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNy0zLTEtMS0zODA3NQ_0d4737ca-1e17-480e-a01e-0963fa608dbe"
      unitRef="usdPerShare">19.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNy01LTEtMS0zODA3NQ_fd3c215c-5694-49d1-97eb-0a689456cfc2">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjlhMzhkZjAwNDFmMDQxOGZhNDdlNTNlNjQ5NDRkMGE0L3RhYmxlcmFuZ2U6OWEzOGRmMDA0MWYwNDE4ZmE0N2U1M2U2NDk0NGQwYTRfNy03LTEtMS0zODA3NQ_bb8bcda0-471a-4ccd-bb0d-a3315ee6828f"
      unitRef="usd">1000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="ibd27df429a4a484fa129da83a7e2685c_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfMzk4NQ_9406a356-1fb6-4311-afdc-8b5b5a50641c"
      unitRef="usd">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="ib7caa604bb084a7c8653ed347367b8c9_D20201101-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfMzk5Mg_464ee4ea-d995-430d-9ee7-bf08a4ee85cb"
      unitRef="usd">4200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="if42c47f620a44109bde347474cffc98f_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU5OQ_5a865af1-050f-4c2d-847f-e62bf9a458bc">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="if42c47f620a44109bde347474cffc98f_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTIwNA_5b1a9902-8f47-4ac7-92e6-2f6c26d29a83"
      unitRef="shares">36669</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="if10dbe66443b419ba3055e02e41605f2_D20201101-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTIxMQ_b4113e5e-5b09-4dc7-ae14-c9c24f61d2f5"
      unitRef="shares">28826</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="if42c47f620a44109bde347474cffc98f_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTI5OQ_867620d6-ac97-45f0-8461-2ad3a863afd4"
      unitRef="usdPerShare">22.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="if10dbe66443b419ba3055e02e41605f2_D20201101-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTMxNg_0c4cae8a-fa34-4814-bede-ff91f87dd416"
      unitRef="usdPerShare">18.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i50ba9b1b6a1545ca88f336ccfe4bfefb_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTM5MQ_470bae3d-d44d-4a4a-9dc1-48e1f4f94c6e"
      unitRef="shares">21774</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i50ba9b1b6a1545ca88f336ccfe4bfefb_I20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTUyOA_6ee08cd0-9db7-498b-8966-15cab53eafd2"
      unitRef="usdPerShare">17.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments
      contextRef="if42c47f620a44109bde347474cffc98f_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTU3MA_16c91451-995b-4d9f-9a32-9a5fd6172442"
      unitRef="usd">1000000</nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments>
    <nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments
      contextRef="if10dbe66443b419ba3055e02e41605f2_D20201101-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTU3Nw_4f9bbcd4-36d9-4e8b-9a34-bb1794ad7b3d"
      unitRef="usd">800000</nx:ShareBasedCompensationArrangementByShareBasedPaymentAwardCashPaidToSettleVestedInstruments>
    <nx:PerformanceSharesSettledinCash
      contextRef="ibb68815bd6f144c0a11890cebc4b63c2_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNTg1OA_40868d22-a0f0-4509-8f8c-98a3e465f6f2"
      unitRef="number">1</nx:PerformanceSharesSettledinCash>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ide7adb46cb614ac2a2b810e969d2b4d5_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNjIwMA_1f62dc7b-d261-4d56-85e3-6a48d8815377"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i09b2f516a9bf463f891edf90232cecd0_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNjIwNg_88f695bc-ded1-4647-ade0-c88095e62a24"
      unitRef="number">2</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceBasedUnitsVestedAndExpectedToVestTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU4OA_e2635de5-386f-4e70-a4c2-28c78e87c0f8">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&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 our performance share grants and the grant date fair value for the RONA performance metrics:&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:68.490%"/&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.256%"/&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.256%"/&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.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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;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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Grant Date&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:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&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:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&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:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&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:10pt;font-weight:400;line-height:100%"&gt;55,900&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.40&#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="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:10pt;font-weight:400;line-height:100%"&gt;5,300&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&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:10pt;font-weight:400;line-height:100%"&gt;65,300&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;20.68&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&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:10pt;font-weight:400;line-height:100%"&gt;80,900&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;22.54&#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:10pt;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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceBasedUnitsVestedAndExpectedToVestTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i6f73732870db4b5398a28a635dec7d80_D20191205-20191205"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNC0yLTEtMS0zODA3NQ_2f5e50b8-bef7-4400-886c-a8cd6eedb72e"
      unitRef="shares">55900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="i6f73732870db4b5398a28a635dec7d80_D20191205-20191205"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNC00LTEtMS0zODA3NQ_b8e71b85-0401-4bbf-b8e9-8b88b5cf5052"
      unitRef="usdPerShare">19.40</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i6f73732870db4b5398a28a635dec7d80_D20191205-20191205"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNC02LTEtMS0zODA3NQ_bd0b60ad-5c62-46a2-bb59-184315947524"
      unitRef="shares">5300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="idbfe6fe86440450082c9091f11ba0ded_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNS0yLTEtMS0zODA3NQ_16cbe83a-8fd9-4b5b-a777-3cf30c4d4465"
      unitRef="shares">65300</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="idbfe6fe86440450082c9091f11ba0ded_D20201202-20201202"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNS00LTEtMS0zODA3NQ_a3c1e584-a0b4-4984-9442-ee324035122a"
      unitRef="usdPerShare">20.68</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="idbfe6fe86440450082c9091f11ba0ded_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNS02LTEtMS0zODA3NQ_443b1687-59f3-4a43-9ce6-ddaf78e87dd7"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i29a9beab8c87418b842ac26ef88366f4_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNi0yLTEtMS0zODA3NQ_2c8a2d63-dd92-4eca-b348-1a08a69a8ada"
      unitRef="shares">80900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <nx:ReturnOnNetAssets
      contextRef="i29a9beab8c87418b842ac26ef88366f4_D20211209-20211209"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNi00LTEtMS0zODA3NQ_b98c8602-e372-4704-90fe-b95c180115be"
      unitRef="usdPerShare">22.54</nx:ReturnOnNetAssets>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i29a9beab8c87418b842ac26ef88366f4_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjY4M2NiOWU2ZjU5YTQ2NDU5OTE4NTk5NjJiNjk5ZjQwL3RhYmxlcmFuZ2U6NjgzY2I5ZTZmNTlhNDY0NTk5MTg1OTk2MmI2OTlmNDBfNi02LTEtMS0zODA3NQ_b56ca69d-cbd8-4937-b62d-7a4ffc56b5e7"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="ibb68815bd6f144c0a11890cebc4b63c2_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNjQwOA_d000bddc-9483-45f2-8baf-5ad0af3eef84"
      unitRef="shares">183000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <nx:PaymentForSettlementOfShareBasedCompensation
      contextRef="ibb68815bd6f144c0a11890cebc4b63c2_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNjUwNA_1657736b-5cbb-4305-afc2-c351d9100539"
      unitRef="usd">3800000</nx:PaymentForSettlementOfShareBasedCompensation>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i9021a209030e423b9c8c12449b879223_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTYwMA_cbbee4da-55ba-405c-b125-848196e956a3">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <nx:PerformanceRestrictedStockUnitsSettledInCash
      contextRef="i9021a209030e423b9c8c12449b879223_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNzA1NA_d6a473e7-647b-4339-888a-769133b0e9c9"
      unitRef="number">1</nx:PerformanceRestrictedStockUnitsSettledInCash>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="iba69883bcb6c40c08a69e11893843ac6_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNzU1OA_947e8c50-0c3d-46c9-ac0d-a760d75732b4"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i584c9202670348a89914d2e16ddcc041_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfNzU3OA_f0f29712-f323-465b-b21e-ceeb7efa434b"
      unitRef="number">1.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <nx:ScheduleofPerformanceRestrictedStockVestingConditionsTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTYxNQ_f7114f03-efdd-433f-bad9-ee09b0bef223">Specifically, the awards vest on a continuum with the following Absolute Total Shareholder Return (A-TSR) milestones: &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:20.098%"/&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:45.245%"/&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:29.897%"/&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:10pt;font-weight:700;line-height:100%"&gt;Vesting Level&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vesting Criteria&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:10pt;font-weight:700;line-height:100%"&gt;Percentage of Award Vested&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR greater than or equal to 50%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150%&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:10pt;font-weight:400;line-height:100%"&gt;Level 2&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 50% and greater than or equal to 20%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100%&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:10pt;font-weight:400;line-height:100%"&gt;Level 3&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than 20% and greater than or equal to -20%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50%&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:10pt;font-weight:400;line-height:100%"&gt;Level 4&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;A-TSR less than -20%&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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</nx:ScheduleofPerformanceRestrictedStockVestingConditionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i50a1eee1005441dda3215f2b8b9ebc98_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmJkMDMxMWU5NDQ0YTRkZDQ4Y2QwZDJkOGVjMWIxOGNhL3RhYmxlcmFuZ2U6YmQwMzExZTk0NDRhNGRkNDhjZDBkMmQ4ZWMxYjE4Y2FfMS00LTEtMS0zODA3NQ_76959e5a-7da9-4038-9018-da5f8860810d"
      unitRef="number">1.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="if3b3f42bbd324fb999b0eda8af323864_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmJkMDMxMWU5NDQ0YTRkZDQ4Y2QwZDJkOGVjMWIxOGNhL3RhYmxlcmFuZ2U6YmQwMzExZTk0NDRhNGRkNDhjZDBkMmQ4ZWMxYjE4Y2FfMi00LTEtMS0zODA3NQ_fabd9931-820e-4ba9-8867-dbc4771c3c62"
      unitRef="number">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="idcad09715fad4a38a471391660172d61_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmJkMDMxMWU5NDQ0YTRkZDQ4Y2QwZDJkOGVjMWIxOGNhL3RhYmxlcmFuZ2U6YmQwMzExZTk0NDRhNGRkNDhjZDBkMmQ4ZWMxYjE4Y2FfMy00LTEtMS0zODA3NQ_e2a205be-6178-4a1e-8388-2dd88f4bf00c"
      unitRef="number">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="ib6911cd4544d44d39a0827b44137c2a7_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmJkMDMxMWU5NDQ0YTRkZDQ4Y2QwZDJkOGVjMWIxOGNhL3RhYmxlcmFuZ2U6YmQwMzExZTk0NDRhNGRkNDhjZDBkMmQ4ZWMxYjE4Y2FfNC00LTEtMS0zODA3NQ_5de39f6c-7eee-4a79-a126-eca6ce812ac4"
      unitRef="number">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <nx:PerformanceRestrictedStockUnitsbyGrantTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU2OQ_916e847a-722c-49e2-9c3b-9929a4cbe44e">&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:68.490%"/&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.256%"/&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.256%"/&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.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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:10pt;font-weight:700;line-height:100%"&gt;Grant Date&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:8pt;font-weight:700;line-height:100%"&gt;Shares Awarded&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:8pt;font-weight:700;line-height:100%"&gt;Grant Date Fair Value&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:8pt;font-weight:700;line-height:100%"&gt;Shares Forfeited&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 5, 2019&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:10pt;font-weight:400;line-height:100%"&gt;35,000&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;19.40&#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="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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 2, 2020&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:10pt;font-weight:400;line-height:100%"&gt;38,400&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;20.68&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;December 9, 2021&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:10pt;font-weight:400;line-height:100%"&gt;50,900&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;21.06&#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:10pt;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;/tr&gt;&lt;/table&gt;</nx:PerformanceRestrictedStockUnitsbyGrantTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i399d36bb79b047d488f6bb6b6c510944_D20191205-20191205"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfMy0yLTEtMS0zODA3NQ_fa70720b-cfc2-47b5-bcdc-3aa4f8d49f1d"
      unitRef="shares">35000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i399d36bb79b047d488f6bb6b6c510944_D20191205-20191205"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfMy00LTEtMS0zODA3NQ_4066aca3-5820-473c-8949-4e4a899392ab"
      unitRef="usdPerShare">19.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i399d36bb79b047d488f6bb6b6c510944_D20191205-20191205"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfMy02LTEtMS0zODA3NQ_f98e4a74-cd67-4bac-b746-4fd08e73e04a"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="ida1cbcae3d214e139977eaf6247a7aa4_D20201202-20201202"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfNC0yLTEtMS0zODA3NQ_b7406a7d-240c-48d8-84d3-5372d2c384de"
      unitRef="shares">38400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ida1cbcae3d214e139977eaf6247a7aa4_D20201202-20201202"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfNC00LTEtMS0zODA3NQ_a603aa8d-baa5-4334-ba8c-7097e4ac7590"
      unitRef="usdPerShare">20.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="ida1cbcae3d214e139977eaf6247a7aa4_D20201202-20201202"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfNC02LTEtMS0zODA3NQ_0ab986a1-f50a-4756-ba6e-a0807489db98"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="i0d1130cac1a5453e8fc6afdffd65ab5b_D20211209-20211209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfNS0yLTEtMS0zODA3NQ_778ed6c9-4c41-425d-9fcb-f9cb2347c40e"
      unitRef="shares">50900</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0d1130cac1a5453e8fc6afdffd65ab5b_D20211209-20211209"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfNS00LTEtMS0zODA3NQ_865e0367-6f04-41ae-9356-8b68345d3eed"
      unitRef="usdPerShare">21.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="i0d1130cac1a5453e8fc6afdffd65ab5b_D20211209-20211209"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOmY5OWZjNzRiYTc1YzQ3ZDdhNjIzN2Y4NDlhMTdhZDIzL3RhYmxlcmFuZ2U6Zjk5ZmM3NGJhNzVjNDdkN2E2MjM3Zjg0OWExN2FkMjNfNS02LTEtMS0zODA3NQ_28984ae3-989f-4778-a6b6-5a68ce010563"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="i9021a209030e423b9c8c12449b879223_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU3OQ_70bf8334-099e-4c98-aaa3-a900b5aead8e"
      unitRef="shares">87919</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="ic2e0b94dbd8046198af8f994eb7a0735_I20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfODI5OA_3716ef18-7b30-46dc-bc25-e6e862e1281f"
      unitRef="shares">41269</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU2Ng_27dc6a91-99d5-4bd2-988a-9225c54971ce">&lt;div style="margin-top:15pt;text-align:justify;text-indent:24.75pt"&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 amounts expensed as selling, general and administrative expense related to restricted stock awards, stock options, restricted stock units, performance share awards and performance restricted stock units for the three and nine months ended July&#160;31, 2022 and 2021 (in thousands):&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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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: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="9" 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: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: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="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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;371&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;315&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,079&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;921&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:10pt;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:10pt;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:10pt;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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units&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:10pt;font-weight:400;line-height:100%"&gt;796&#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:10pt;font-weight:400;line-height:100%"&gt;(369)&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:10pt;font-weight:400;line-height:100%"&gt;1,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;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:10pt;font-weight:400;line-height:100%"&gt;1,823&#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:10pt;font-weight:400;line-height:100%"&gt;Performance share awards&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:10pt;font-weight:400;line-height:100%"&gt;396&#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:10pt;font-weight:400;line-height:100%"&gt;719&#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:10pt;font-weight:400;line-height:100%"&gt;2,052&#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:10pt;font-weight:400;line-height:100%"&gt;4,020&#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:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;font-weight:400;line-height:100%"&gt;212&#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:10pt;font-weight:400;line-height:100%"&gt;186&#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:10pt;font-weight:400;line-height:100%"&gt;628&#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:10pt;font-weight:400;line-height:100%"&gt;543&#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 14.5pt;text-align:left;text-indent:4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;1,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;5,271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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 #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;7,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic81291e2e1d341b09c63dc0a787a60db_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfMy0xLTEtMS0zODA3NQ_857ea59c-8991-4b91-855e-18fe249d4202"
      unitRef="usd">371000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie201591f81ae4ba9b2cb20eb69e4ccd3_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfMy0zLTEtMS0zODA3NQ_5cb96e25-e499-4509-8683-a41ceb930912"
      unitRef="usd">315000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfMy01LTEtMS0zODA3NQ_420ce40b-e98c-4fb7-a3ec-1300163cea76"
      unitRef="usd">1079000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0580bdfe78ff4e1fb17b48c4d144b993_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfMy03LTEtMS0zODA3NQ_45016a31-4aff-496f-abdd-2dcf219e7d5b"
      unitRef="usd">921000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib728f8a1f2644ee692145dd84bbabc28_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNC0xLTEtMS0zODA3NQ_25ab3573-7476-4eee-a46e-415b6dc8dee1"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i55ac93cdfea94c21abb7d9a00f4790d7_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNC0zLTEtMS0zODA3NQ_e10d5a05-cec9-44ea-8b39-e61809b7056a"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ibd27df429a4a484fa129da83a7e2685c_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNC01LTEtMS0zODA3NQ_2ae29af4-81ab-4342-90a6-7f8d7d13214b"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib7caa604bb084a7c8653ed347367b8c9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNC03LTEtMS0zODA3NQ_31793528-cf76-41d3-bd57-4469a029f649"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4f4801a8b3a44906abe98a699c7e01b2_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNS0xLTEtMS0zODA3NQ_4d131e19-3d95-446f-b905-edda2d7ccd66"
      unitRef="usd">796000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia888cc28ed93452ab07532a7f650565c_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNS0zLTEtMS0zODA3NQ_d6f773e2-3b21-4b5a-abc9-4d8978c9ad3c"
      unitRef="usd">-369000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if42c47f620a44109bde347474cffc98f_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNS01LTEtMS0zODA3NQ_faeabbc9-af2a-4b45-aa92-ae0b5991e15d"
      unitRef="usd">1512000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if10dbe66443b419ba3055e02e41605f2_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNS03LTEtMS0zODA3NQ_c72b2ab9-855d-4165-853e-9bc9015e9d54"
      unitRef="usd">1823000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id098ce30d2094eb0b3b9ab76698f2aff_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNi0xLTEtMS0zODA3NQ_5ab7757b-2b02-4f32-82f9-bca6a8ffb3ed"
      unitRef="usd">396000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic3b27951b0c9496c9f0ff960cf83bd22_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNi0zLTEtMS0zODA3NQ_a04d66f6-1def-4545-8a3b-3e23aa9a0254"
      unitRef="usd">719000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ibb68815bd6f144c0a11890cebc4b63c2_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNi01LTEtMS0zODA3NQ_2315f517-75e3-458a-b1ee-0b5ed3b87da4"
      unitRef="usd">2052000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0eab5cb539574049b0bacdb77358640e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNi03LTEtMS0zODA3NQ_bcbf4616-6ac9-4e49-901f-0e512665bdf1"
      unitRef="usd">4020000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i355110bb202346d78d32d18caa199789_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNy0xLTEtMS0zODA3NQ_eca5d560-2380-4fd6-81d2-7ec88b605d02"
      unitRef="usd">212000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ifb27916666ee404db55efbbc7e8e5d27_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNy0zLTEtMS0zODA3NQ_af76b7af-87c2-46b7-aeda-bf96a35a307d"
      unitRef="usd">186000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9021a209030e423b9c8c12449b879223_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNy01LTEtMS0zODA3NQ_44d65040-faa7-4cf6-be85-904e7bc20b8c"
      unitRef="usd">628000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6031291f979d4204b5861de7e500dc36_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfNy03LTEtMS0zODA3NQ_faf13a21-1248-40ab-9176-c03eb92512ea"
      unitRef="usd">543000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfOC0xLTEtMS0zODA3NQ_eb44d146-26cc-4d6f-96a6-0d6009ab016a"
      unitRef="usd">1775000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfOC0zLTEtMS0zODA3NQ_2fbae62f-48a1-40c5-a63e-8218e0f80f2a"
      unitRef="usd">851000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfOC01LTEtMS0zODA3NQ_8a3e4599-033e-4fe4-8a8f-5c94a40698ea"
      unitRef="usd">5271000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjc1MzY3OTUwYzdlODQ0ZThiYzQwY2E5MDg1MzcxNTI1L3RhYmxlcmFuZ2U6NzUzNjc5NTBjN2U4NDRlOGJjNDBjYTkwODUzNzE1MjVfOC03LTEtMS0zODA3NQ_023abd48-975b-4b13-9518-9152ef83d424"
      unitRef="usd">7307000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfTreasuryStockByClassTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RleHRyZWdpb246MWI0YmMxMmY0NjBmNGM0M2IzNTE5ZDNmN2NiMzU1OGJfOTU3Ng_cf6d7eb7-bd23-4dde-aa9b-4b4f6c571a18">&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&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 treasury stock activity during the nine months ended July&#160;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:79.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.345%"/&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&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:8pt;font-weight:400;line-height:100%"&gt;&#160;&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: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:10pt;font-weight:400;line-height:100%"&gt;Beginning Balance as of November 1, 2021&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;3,998,725&#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 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards granted&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:10pt;font-weight:400;line-height:100%"&gt;(84,400)&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units vested&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:10pt;font-weight:400;line-height:100%"&gt;(87,919)&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options exercised&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:10pt;font-weight:400;line-height:100%"&gt;(25,711)&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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury stock repurchases&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:10pt;font-weight:400;line-height:100%"&gt;291,000&#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:10pt;font-weight:400;line-height:100%"&gt;Balance at July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;4,091,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfTreasuryStockByClassTextBlock>
    <us-gaap:TreasuryStockShares
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjllMzQ1MDcxYWNlMzQ0ZTY5ZGNkZGJmYWRiMDQ4NmJmL3RhYmxlcmFuZ2U6OWUzNDUwNzFhY2UzNDRlNjlkY2RkYmZhZGIwNDg2YmZfMi0xLTEtMS0zODA3NQ_713fbd78-eeb2-4c6d-9a36-f3164c756268"
      unitRef="shares">3998725</us-gaap:TreasuryStockShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjllMzQ1MDcxYWNlMzQ0ZTY5ZGNkZGJmYWRiMDQ4NmJmL3RhYmxlcmFuZ2U6OWUzNDUwNzFhY2UzNDRlNjlkY2RkYmZhZGIwNDg2YmZfMy0xLTEtMS0zODA3NQ_c424aec8-895d-4feb-8fd7-9af1a39acb51"
      unitRef="shares">84400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ibb68815bd6f144c0a11890cebc4b63c2_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjllMzQ1MDcxYWNlMzQ0ZTY5ZGNkZGJmYWRiMDQ4NmJmL3RhYmxlcmFuZ2U6OWUzNDUwNzFhY2UzNDRlNjlkY2RkYmZhZGIwNDg2YmZfNC0xLTEtMS0zODA3NQ_c486d8bc-e13d-4da5-81c1-068286c9703b"
      unitRef="shares">87919</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ibd27df429a4a484fa129da83a7e2685c_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjllMzQ1MDcxYWNlMzQ0ZTY5ZGNkZGJmYWRiMDQ4NmJmL3RhYmxlcmFuZ2U6OWUzNDUwNzFhY2UzNDRlNjlkY2RkYmZhZGIwNDg2YmZfNS0xLTEtMS0zODA3NQ_dcafcd23-e7a0-4110-8f12-a3a653a62859"
      unitRef="shares">25711</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjllMzQ1MDcxYWNlMzQ0ZTY5ZGNkZGJmYWRiMDQ4NmJmL3RhYmxlcmFuZ2U6OWUzNDUwNzFhY2UzNDRlNjlkY2RkYmZhZGIwNDg2YmZfNi0xLTEtMS0zODA3NQ_954cd04b-b74b-4e65-8d30-30a364c22bad"
      unitRef="shares">291000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:TreasuryStockShares
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83MC9mcmFnOjFiNGJjMTJmNDYwZjRjNDNiMzUxOWQzZjdjYjM1NThiL3RhYmxlOjllMzQ1MDcxYWNlMzQ0ZTY5ZGNkZGJmYWRiMDQ4NmJmL3RhYmxlcmFuZ2U6OWUzNDUwNzFhY2UzNDRlNjlkY2RkYmZhZGIwNDg2YmZfNy0xLTEtMS0zODA3NQ_56065541-79df-40b9-8d7d-33d20c5831f1"
      unitRef="shares">4091695</us-gaap:TreasuryStockShares>
    <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RleHRyZWdpb246MzFjOTQyNzA2ODRjNDhlMGJiYzEyODZmMzYwOGNiN2VfMTYx_ef62a99c-2898-4d5b-88b7-a2b28a400c2e">Other, net&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other, net on the condensed consolidated statements of income consisted of the following for the three and nine months ended July&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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:8pt;font-weight:400;line-height:100%"&gt;&#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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency transaction gains (losses)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;82&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(79)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;164&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(161)&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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency derivative gains&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:10pt;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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;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;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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Pension service benefit&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:10pt;font-weight:400;line-height:100%"&gt;295&#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:10pt;font-weight:400;line-height:100%"&gt;265&#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:10pt;font-weight:400;line-height:100%"&gt;884&#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:10pt;font-weight:400;line-height:100%"&gt;795&#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:10pt;font-weight:400;line-height:100%"&gt;Interest income&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:10pt;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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;17&#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:10pt;font-weight:400;line-height:100%"&gt;4&#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:10pt;font-weight:400;line-height:100%"&gt;Other&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:10pt;font-weight:400;line-height:100%"&gt;17&#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:10pt;font-weight:400;line-height:100%"&gt;2&#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:10pt;font-weight:400;line-height:100%"&gt;(167)&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:10pt;font-weight:400;line-height:100%"&gt;7&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other, net&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;398&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;188&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;905&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;645&#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:OtherIncomeAndOtherExpenseDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RleHRyZWdpb246MzFjOTQyNzA2ODRjNDhlMGJiYzEyODZmMzYwOGNiN2VfMTcy_a1858a5e-f101-4d03-94b0-af5a121fbb5f">Other, net&lt;div style="margin-top:9pt;text-align:justify;text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other, net on the condensed consolidated statements of income consisted of the following for the three and nine months ended July&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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="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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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:8pt;font-weight:400;line-height:100%"&gt;&#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:8pt;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency transaction gains (losses)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;82&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(79)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;164&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(161)&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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency derivative gains&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:10pt;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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;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;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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Pension service benefit&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:10pt;font-weight:400;line-height:100%"&gt;295&#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:10pt;font-weight:400;line-height:100%"&gt;265&#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:10pt;font-weight:400;line-height:100%"&gt;884&#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:10pt;font-weight:400;line-height:100%"&gt;795&#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:10pt;font-weight:400;line-height:100%"&gt;Interest income&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:10pt;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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;17&#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:10pt;font-weight:400;line-height:100%"&gt;4&#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:10pt;font-weight:400;line-height:100%"&gt;Other&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:10pt;font-weight:400;line-height:100%"&gt;17&#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:10pt;font-weight:400;line-height:100%"&gt;2&#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:10pt;font-weight:400;line-height:100%"&gt;(167)&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:10pt;font-weight:400;line-height:100%"&gt;7&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other, net&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;398&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;188&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;905&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;645&#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:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfMy0xLTEtMS0zODA3NQ_e3cb57cd-21d4-475c-8e50-52e522f2bfe5"
      unitRef="usd">82000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfMy0zLTEtMS0zODA3NQ_2f7e2b0a-acc6-4026-929b-ecbddb283754"
      unitRef="usd">-79000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfMy01LTEtMS0zODA3NQ_a219d42c-9d81-4a10-9564-b1aa0b338461"
      unitRef="usd">164000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfMy03LTEtMS0zODA3NQ_4ffcddc5-4f3b-4663-becd-147f9f683084"
      unitRef="usd">-161000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNC0xLTEtMS0zODA3NQ_661ec47f-37db-4977-b525-b6b21fa7257e"
      unitRef="usd">2000</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNC0zLTEtMS0zODA3NQ_3e1d5d30-0f6a-4395-93b8-efb7071fe521"
      unitRef="usd">0</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNC01LTEtMS0zODA3NQ_90ea3d8f-0d0a-4a0c-a4b0-4f117f672576"
      unitRef="usd">7000</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNC03LTEtMS0zODA3NQ_2198c86b-03a6-4551-8d21-36a352fdec86"
      unitRef="usd">0</us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments>
    <nx:PensionServiceBenefit
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNS0xLTEtMS0zODA3NQ_b98697fe-a3e8-455d-9c9e-e97b0861a8e1"
      unitRef="usd">295000</nx:PensionServiceBenefit>
    <nx:PensionServiceBenefit
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNS0zLTEtMS0zODA3NQ_f0ddb2a7-13cb-4218-9472-25b152039aa9"
      unitRef="usd">265000</nx:PensionServiceBenefit>
    <nx:PensionServiceBenefit
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNS01LTEtMS0zODA3NQ_b86ec5ce-5ec3-4c0d-ae29-1eb1fa9119c1"
      unitRef="usd">884000</nx:PensionServiceBenefit>
    <nx:PensionServiceBenefit
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNS03LTEtMS0zODA3NQ_479dbef6-3a29-4615-87e4-b002fe9c0c5d"
      unitRef="usd">795000</nx:PensionServiceBenefit>
    <us-gaap:InvestmentIncomeInterest
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNi0xLTEtMS0zODA3NQ_3bedabec-0de4-4a69-bf76-4718844e0b63"
      unitRef="usd">2000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNi0zLTEtMS0zODA3NQ_cfb63303-a44e-4c0d-a7de-4635ee3b4ba7"
      unitRef="usd">0</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNi01LTEtMS0zODA3NQ_d1bab763-9130-4d38-bd40-304d963c1259"
      unitRef="usd">17000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNi03LTEtMS0zODA3NQ_66c542d2-3cb4-44a2-97bb-debe6a85966a"
      unitRef="usd">4000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:OtherNonrecurringIncomeExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNy0xLTEtMS0zODA3NQ_49b93b7e-eee7-49a2-8cb2-7fb2176cb8a6"
      unitRef="usd">-17000</us-gaap:OtherNonrecurringIncomeExpense>
    <us-gaap:OtherNonrecurringIncomeExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNy0zLTEtMS0zODA3NQ_9be10a79-a932-4df8-81b5-af36bf432438"
      unitRef="usd">-2000</us-gaap:OtherNonrecurringIncomeExpense>
    <us-gaap:OtherNonrecurringIncomeExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNy01LTEtMS0zODA3NQ_487f558e-d711-44a9-9fbb-80e6de8588c5"
      unitRef="usd">167000</us-gaap:OtherNonrecurringIncomeExpense>
    <us-gaap:OtherNonrecurringIncomeExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfNy03LTEtMS0zODA3NQ_bdb82ac2-bb6a-4057-b8b8-34344b8f6e04"
      unitRef="usd">-7000</us-gaap:OtherNonrecurringIncomeExpense>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfOC0xLTEtMS0zODA3NQ_e3de9e3b-1329-41c6-8d11-3e3001c66719"
      unitRef="usd">398000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfOC0zLTEtMS0zODA3NQ_fe968348-8129-4ae2-a509-6a7f832cbd31"
      unitRef="usd">188000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfOC01LTEtMS0zODA3NQ_80184e56-c34b-4a17-9b58-3665d572f62c"
      unitRef="usd">905000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83Ni9mcmFnOjMxYzk0MjcwNjg0YzQ4ZTBiYmMxMjg2ZjM2MDhjYjdlL3RhYmxlOjIwMDQ2ZmYwNzY3YTRmZTRhZGFjMjRkMTk5YzBiNjlhL3RhYmxlcmFuZ2U6MjAwNDZmZjA3NjdhNGZlNGFkYWMyNGQxOTljMGI2OWFfOC03LTEtMS0zODA3NQ_e9e2cafa-98da-4253-b0db-7174ff69942d"
      unitRef="usd">645000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMzA4Nw_de518297-6edb-48d3-b4ed-9e2cee2f38ff">Segment Information&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We present three reportable business segments (1) NA Fenestration, comprising three operating segments primarily focused on the fenestration market in North America including vinyl profiles, insulating glass spacers, screens &amp;amp; other fenestration components; (2) EU Fenestration, comprising our U.K.-based vinyl extrusion business, manufacturing vinyl profiles &amp;amp; conservatories, and the European insulating glass business manufacturing insulating glass spacers; and (3) NA Cabinet Components, comprising our cabinet door and components operations. We maintain an Unallocated Corporate &amp;amp; Other  which includes transaction expenses, stock-based compensation, long-term incentive awards based on the performance of our common stock and other factors, certain severance, legal, and other costs not deemed to be allocable to all segments, depreciation of corporate assets, interest expense, other, net, income taxes and inter-segment eliminations, and executive incentive compensation and medical expense fluctuations relative to planned costs as determined during the annual planning process. Other general and administrative costs associated with the corporate office are allocated to the reportable segments, based upon a relative measure of profitability in order to more accurately reflect each reportable business segment's administrative costs. We allocate corporate expenses to businesses acquired mid-year from the date of acquisition. The accounting polic&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;ies of our operating segments are the same as those used to prepare the accompanying condensed consolidated financial statements. Corporate general and administrative expense allocated during the three and nine month period ended July&#160;31, 2022 was $5.8&#160;million and $17.1&#160;million, respectively, and $4.9&#160;million and $15.6&#160;million for the comparable prior year periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASC Topic 280-10-50, &#x201c;Segment Reporting&#x201d; (ASC 280) permits aggregation of operating segments based on factors including, but not limited to: (1) similar nature of products serving the building products industry, primarily the fenestration business; (2) similar production processes, although there are some differences in the amount of automation amongst operating plants; (3) similar types or classes of customers, namely the primary OEMs; (4) similar distribution methods for product delivery, although the extent of the use of third-party distributors will vary amongst the businesses; (5) similar regulatory environment; and (6) converging long-term economic similarities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment information for the three and nine months ended July&#160;31, 2022 and 2021, and total assets as of July&#160;31, 2022 and October&#160;31, 2021 are summarized in the following table (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:14pt"&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:38.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.015%"/&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:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&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:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&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:8pt;font-weight:700;line-height:100%"&gt;Total&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%;text-decoration:underline"&gt;Three Months Ended July 31, 2022&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;/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:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;184,744&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;67,613&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;72,480&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(800)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;324,037&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;4,044&#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:10pt;font-weight:400;line-height:100%"&gt;2,327&#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:10pt;font-weight:400;line-height:100%"&gt;3,273&#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:10pt;font-weight:400;line-height:100%"&gt;90&#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:10pt;font-weight:400;line-height:100%"&gt;9,734&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&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:10pt;font-weight:400;line-height:100%"&gt;23,086&#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:10pt;font-weight:400;line-height:100%"&gt;9,818&#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:10pt;font-weight:400;line-height:100%"&gt;2,329&#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:10pt;font-weight:400;line-height:100%"&gt;(1,198)&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:10pt;font-weight:400;line-height:100%"&gt;34,035&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;4,166&#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:10pt;font-weight:400;line-height:100%"&gt;621&#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:10pt;font-weight:400;line-height:100%"&gt;916&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;5,703&#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:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended July 31, 2021&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;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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;147,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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;71,114&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;61,936&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(991)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;279,877&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;4,571&#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:10pt;font-weight:400;line-height:100%"&gt;2,646&#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:10pt;font-weight:400;line-height:100%"&gt;3,390&#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:10pt;font-weight:400;line-height:100%"&gt;76&#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:10pt;font-weight:400;line-height:100%"&gt;10,683&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;13,302&#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:10pt;font-weight:400;line-height:100%"&gt;11,464&#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:10pt;font-weight:400;line-height:100%"&gt;(918)&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:10pt;font-weight:400;line-height:100%"&gt;(2,286)&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:10pt;font-weight:400;line-height:100%"&gt;21,562&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;2,651&#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:10pt;font-weight:400;line-height:100%"&gt;2,285&#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:10pt;font-weight:400;line-height:100%"&gt;1,115&#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:10pt;font-weight:400;line-height:100%"&gt;156&#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:10pt;font-weight:400;line-height:100%"&gt;6,207&#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%;text-decoration:underline"&gt;Nine Months Ended 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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;509,283&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;199,954&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;207,711&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(2,978)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;913,970&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;12,221&#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:10pt;font-weight:400;line-height:100%"&gt;7,418&#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:10pt;font-weight:400;line-height:100%"&gt;10,653&#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:10pt;font-weight:400;line-height:100%"&gt;262&#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:10pt;font-weight:400;line-height:100%"&gt;30,554&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&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:10pt;font-weight:400;line-height:100%"&gt;57,458&#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:10pt;font-weight:400;line-height:100%"&gt;30,229&#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:10pt;font-weight:400;line-height:100%"&gt;1,444&#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:10pt;font-weight:400;line-height:100%"&gt;(6,420)&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:10pt;font-weight:400;line-height:100%"&gt;82,711&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;13,103&#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:10pt;font-weight:400;line-height:100%"&gt;2,827&#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:10pt;font-weight:400;line-height:100%"&gt;3,488&#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:10pt;font-weight:400;line-height:100%"&gt;70&#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:10pt;font-weight:400;line-height:100%"&gt;19,488&#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:700;line-height:100%;text-decoration:underline"&gt;Nine Months Ended July 31, 2021&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;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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;422,077&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;181,862&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;179,492&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(3,050)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;780,381&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;14,528&#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:10pt;font-weight:400;line-height:100%"&gt;7,771&#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:10pt;font-weight:400;line-height:100%"&gt;9,965&#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:10pt;font-weight:400;line-height:100%"&gt;279&#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:10pt;font-weight:400;line-height:100%"&gt;32,543&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;40,288&#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:10pt;font-weight:400;line-height:100%"&gt;29,901&#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:10pt;font-weight:400;line-height:100%"&gt;(1,215)&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:10pt;font-weight:400;line-height:100%"&gt;(14,197)&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:10pt;font-weight:400;line-height:100%"&gt;54,777&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;7,472&#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:10pt;font-weight:400;line-height:100%"&gt;4,025&#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:10pt;font-weight:400;line-height:100%"&gt;4,228&#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:10pt;font-weight:400;line-height:100%"&gt;281&#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:10pt;font-weight:400;line-height:100%"&gt;16,006&#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%;text-decoration:underline"&gt;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="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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;296,443&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;223,803&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;184,683&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,678&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;743,607&#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%;text-decoration:underline"&gt;As of October 31, 2021&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;/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:10pt;font-weight:400;line-height:100%"&gt;Total assets&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;268,773&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;236,755&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;178,671&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;33,124&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;717,323&#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:4pt;text-align:justify;text-indent:22.5pt"&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 change in the carrying amount of goodwill by reportable business segment for the nine months ended July&#160;31, 2022 (in thousands):&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:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.117%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.032%"/&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:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&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:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&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:8pt;font-weight:700;line-height:100%"&gt;Total&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:10pt;font-weight:700;line-height:100%"&gt;Balance as of October 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;71,346&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;149,205&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(7,956)&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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(7,956)&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:10pt;font-weight:700;line-height:100%"&gt;Balance as of July 31, 2022&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,712&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,390&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;39,147&#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:10pt;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:10pt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;141,249&#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:4pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For further details of Goodwill, see Note 3, &#x201c;Goodwill &amp;amp; Intangible Assets&#x201d;, located herewith.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not allocate non-operating loss or income tax benefit to the reportable segments. The following table reconciles operating income as reported above to net income for the three and nine months ended July&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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="background-color:#ffffff;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:8pt;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 #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Operating income&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;34,035&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;21,562&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;82,711&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;54,777&#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:10pt;font-weight:400;line-height:100%"&gt;Interest expense&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:10pt;font-weight:400;line-height:100%"&gt;(724)&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:10pt;font-weight:400;line-height:100%"&gt;(597)&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:10pt;font-weight:400;line-height:100%"&gt;(1,849)&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:10pt;font-weight:400;line-height:100%"&gt;(1,988)&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other, net&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:10pt;font-weight:400;line-height:100%"&gt;398&#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:10pt;font-weight:400;line-height:100%"&gt;188&#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:10pt;font-weight:400;line-height:100%"&gt;905&#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:10pt;font-weight:400;line-height:100%"&gt;645&#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:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&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:10pt;font-weight:400;line-height:100%"&gt;(7,801)&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:10pt;font-weight:400;line-height:100%"&gt;(7,474)&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:10pt;font-weight:400;line-height:100%"&gt;(18,098)&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:10pt;font-weight:400;line-height:100%"&gt;(17,352)&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;25,908&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,679&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,669&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;36,082&#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:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfNDA_104ceb08-ec54-4273-b04e-681320b09461"
      unitRef="segment">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i34ddf93cf441423fa24b02c9f62b336d_D20211101-20220731"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMTA0_f025af7c-530d-4f5b-9aa1-7170dcb2d539"
      unitRef="segment">3</us-gaap:NumberOfOperatingSegments>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMTcwNw_79dcfdd3-2d11-4077-8b12-6f6b63fc5e7a"
      unitRef="usd">5800000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMTcxNA_0991cd60-4985-42b5-a66c-91e6e9a78836"
      unitRef="usd">17100000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMTczNg_4295f14a-2e18-46d3-8f0e-8ef3c90282f6"
      unitRef="usd">4900000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMTc0Mw_5c9cc921-e49f-4615-ab5f-b579d21458e3"
      unitRef="usd">15600000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMzA4OQ_66822a08-704b-4dab-b2f7-0adb5f3d7176">&lt;div style="margin-bottom:10pt;margin-top:9pt;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Segment information for the three and nine months ended July&#160;31, 2022 and 2021, and total assets as of July&#160;31, 2022 and October&#160;31, 2021 are summarized in the following table (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:14pt"&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:38.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.015%"/&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:8pt;font-weight:700;line-height:100%"&gt;NA Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;EU Fenestration&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:8pt;font-weight:700;line-height:100%"&gt;NA Cabinet Comp.&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:8pt;font-weight:700;line-height:100%"&gt;Unallocated Corp. &amp;amp; Other&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:8pt;font-weight:700;line-height:100%"&gt;Total&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%;text-decoration:underline"&gt;Three Months Ended July 31, 2022&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;/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:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;184,744&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;67,613&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;72,480&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(800)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;324,037&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;4,044&#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:10pt;font-weight:400;line-height:100%"&gt;2,327&#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:10pt;font-weight:400;line-height:100%"&gt;3,273&#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:10pt;font-weight:400;line-height:100%"&gt;90&#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:10pt;font-weight:400;line-height:100%"&gt;9,734&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&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:10pt;font-weight:400;line-height:100%"&gt;23,086&#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:10pt;font-weight:400;line-height:100%"&gt;9,818&#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:10pt;font-weight:400;line-height:100%"&gt;2,329&#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:10pt;font-weight:400;line-height:100%"&gt;(1,198)&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:10pt;font-weight:400;line-height:100%"&gt;34,035&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;4,166&#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:10pt;font-weight:400;line-height:100%"&gt;621&#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:10pt;font-weight:400;line-height:100%"&gt;916&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;5,703&#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:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended July 31, 2021&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;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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;147,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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;71,114&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;61,936&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(991)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;279,877&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;4,571&#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:10pt;font-weight:400;line-height:100%"&gt;2,646&#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:10pt;font-weight:400;line-height:100%"&gt;3,390&#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:10pt;font-weight:400;line-height:100%"&gt;76&#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:10pt;font-weight:400;line-height:100%"&gt;10,683&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;13,302&#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:10pt;font-weight:400;line-height:100%"&gt;11,464&#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:10pt;font-weight:400;line-height:100%"&gt;(918)&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:10pt;font-weight:400;line-height:100%"&gt;(2,286)&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:10pt;font-weight:400;line-height:100%"&gt;21,562&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;2,651&#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:10pt;font-weight:400;line-height:100%"&gt;2,285&#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:10pt;font-weight:400;line-height:100%"&gt;1,115&#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:10pt;font-weight:400;line-height:100%"&gt;156&#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:10pt;font-weight:400;line-height:100%"&gt;6,207&#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%;text-decoration:underline"&gt;Nine Months Ended 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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;509,283&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;199,954&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;207,711&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(2,978)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;913,970&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;12,221&#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:10pt;font-weight:400;line-height:100%"&gt;7,418&#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:10pt;font-weight:400;line-height:100%"&gt;10,653&#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:10pt;font-weight:400;line-height:100%"&gt;262&#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:10pt;font-weight:400;line-height:100%"&gt;30,554&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (loss)&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:10pt;font-weight:400;line-height:100%"&gt;57,458&#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:10pt;font-weight:400;line-height:100%"&gt;30,229&#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:10pt;font-weight:400;line-height:100%"&gt;1,444&#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:10pt;font-weight:400;line-height:100%"&gt;(6,420)&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:10pt;font-weight:400;line-height:100%"&gt;82,711&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;13,103&#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:10pt;font-weight:400;line-height:100%"&gt;2,827&#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:10pt;font-weight:400;line-height:100%"&gt;3,488&#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:10pt;font-weight:400;line-height:100%"&gt;70&#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:10pt;font-weight:400;line-height:100%"&gt;19,488&#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:700;line-height:100%;text-decoration:underline"&gt;Nine Months Ended July 31, 2021&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;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;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;422,077&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;181,862&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;179,492&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;(3,050)&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;780,381&#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:10pt;font-weight:400;line-height:100%"&gt;Depreciation and amortization&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:10pt;font-weight:400;line-height:100%"&gt;14,528&#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:10pt;font-weight:400;line-height:100%"&gt;7,771&#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:10pt;font-weight:400;line-height:100%"&gt;9,965&#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:10pt;font-weight:400;line-height:100%"&gt;279&#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:10pt;font-weight:400;line-height:100%"&gt;32,543&#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:10pt;font-weight:400;line-height:100%"&gt;Operating income (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:10pt;font-weight:400;line-height:100%"&gt;40,288&#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:10pt;font-weight:400;line-height:100%"&gt;29,901&#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:10pt;font-weight:400;line-height:100%"&gt;(1,215)&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:10pt;font-weight:400;line-height:100%"&gt;(14,197)&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:10pt;font-weight:400;line-height:100%"&gt;54,777&#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:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&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:10pt;font-weight:400;line-height:100%"&gt;7,472&#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:10pt;font-weight:400;line-height:100%"&gt;4,025&#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:10pt;font-weight:400;line-height:100%"&gt;4,228&#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:10pt;font-weight:400;line-height:100%"&gt;281&#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:10pt;font-weight:400;line-height:100%"&gt;16,006&#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%;text-decoration:underline"&gt;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="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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;296,443&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;223,803&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;184,683&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;38,678&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;743,607&#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%;text-decoration:underline"&gt;As of October 31, 2021&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;/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:10pt;font-weight:400;line-height:100%"&gt;Total assets&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;268,773&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;236,755&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;178,671&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;33,124&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;717,323&#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:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icd76cbdf38af419f87646b35594d2589_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMi0xLTEtMS0zODA3NQ_13990581-7a34-4037-9da7-87f8eecf1705"
      unitRef="usd">184744000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia9b5d51a77c844b987f3f3b405127955_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMi0zLTEtMS0zODA3NQ_4509d61a-bdce-4815-a054-f4cf7af0bd26"
      unitRef="usd">67613000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i280600b8c49549548f7fcfcfa1a3a4a7_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMi01LTEtMS0zODA3NQ_252fd0a2-de7d-42ac-b561-9e2689cba119"
      unitRef="usd">72480000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib2bd5df0f4f54dcfa287a308e2d7f1f4_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMi03LTEtMS0zODA3NQ_420892d9-d788-444d-8887-6f566ab25516"
      unitRef="usd">-800000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMi05LTEtMS0zODA3NQ_ad25eedb-b5be-4713-99b1-4d950e481f1c"
      unitRef="usd">324037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="icd76cbdf38af419f87646b35594d2589_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMy0xLTEtMS0zODA3NQ_69ecfab2-f532-496a-8779-a52952bfd237"
      unitRef="usd">4044000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ia9b5d51a77c844b987f3f3b405127955_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMy0zLTEtMS0zODA3NQ_c082335c-0d49-46c2-883a-bb98449c4cb6"
      unitRef="usd">2327000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i280600b8c49549548f7fcfcfa1a3a4a7_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMy01LTEtMS0zODA3NQ_ec226b20-727a-4e6e-9aeb-2d17f49a394b"
      unitRef="usd">3273000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib2bd5df0f4f54dcfa287a308e2d7f1f4_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMy03LTEtMS0zODA3NQ_66e36d8c-5926-4827-9bea-7b193043484a"
      unitRef="usd">90000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMy05LTEtMS0zODA3NQ_89123288-218e-481f-bb9f-a2f944c6b616"
      unitRef="usd">9734000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="icd76cbdf38af419f87646b35594d2589_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNC0xLTEtMS0zODA3NQ_18f80989-39c3-4b46-a689-065309680972"
      unitRef="usd">23086000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia9b5d51a77c844b987f3f3b405127955_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNC0zLTEtMS0zODA3NQ_ca49e6de-dd3d-4aa0-83b9-68dfc1493425"
      unitRef="usd">9818000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i280600b8c49549548f7fcfcfa1a3a4a7_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNC01LTEtMS0zODA3NQ_2781e918-ad30-48b2-b9b3-cb6510a75fab"
      unitRef="usd">2329000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib2bd5df0f4f54dcfa287a308e2d7f1f4_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNC03LTEtMS0zODA3NQ_ec1d333a-d7d4-449f-8ee7-1645b80ba5f5"
      unitRef="usd">-1198000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNC05LTEtMS0zODA3NQ_e56f1ab1-af27-4967-af44-cfe8d1caa908"
      unitRef="usd">34035000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="icd76cbdf38af419f87646b35594d2589_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNS0xLTEtMS0zODA3NQ_cc0e4d75-a2cd-4ff1-ac76-a18cb3fa4ea1"
      unitRef="usd">4166000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ia9b5d51a77c844b987f3f3b405127955_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNS0zLTEtMS0zODA3NQ_c9c03295-53d8-4df7-8e67-7812c09f847f"
      unitRef="usd">621000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i280600b8c49549548f7fcfcfa1a3a4a7_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNS01LTEtMS0zODA3NQ_a6069f2a-87ef-416f-b6b9-4b1bd4011d1e"
      unitRef="usd">916000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib2bd5df0f4f54dcfa287a308e2d7f1f4_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNS03LTEtMS0zODA3NQ_791ecc87-3679-4b77-81a1-0978cdc3cd1d"
      unitRef="usd">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNS05LTEtMS0zODA3NQ_6e31ff4f-d3b2-41a7-8327-2b6c7f653217"
      unitRef="usd">5703000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic20311f9a8ac4ead9420474c651bebdf_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNy0xLTEtMS0zODA3NQ_68f212eb-f321-4af9-ba09-95b819aa15c5"
      unitRef="usd">147818000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic24c1283d0e149f595eecf8316ab2893_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNy0zLTEtMS0zODA3NQ_311d2b4e-569e-4570-a075-f54f5edba392"
      unitRef="usd">71114000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bfacd76a10e424caa3f58f9708deb79_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNy01LTEtMS0zODA3NQ_028518af-9000-46ba-8939-c4b151257df2"
      unitRef="usd">61936000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i86ac1e22563f44aebe72cd6c03c79a8e_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNy03LTEtMS0zODA3NQ_206f959e-3dff-4801-8f89-99e9a99b8ac3"
      unitRef="usd">-991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfNy05LTEtMS0zODA3NQ_b5545098-e978-4b8b-a78a-8fed3c5bfc7a"
      unitRef="usd">279877000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ic20311f9a8ac4ead9420474c651bebdf_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOC0xLTEtMS0zODA3NQ_5d8ddbc9-94d1-4f1c-bedb-94a49bddf8a2"
      unitRef="usd">4571000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ic24c1283d0e149f595eecf8316ab2893_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOC0zLTEtMS0zODA3NQ_123e6743-21ac-4d4d-bfa8-485b9d167a0d"
      unitRef="usd">2646000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i5bfacd76a10e424caa3f58f9708deb79_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOC01LTEtMS0zODA3NQ_08e2b60d-17bf-4453-9fb2-2164b93274b3"
      unitRef="usd">3390000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i86ac1e22563f44aebe72cd6c03c79a8e_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOC03LTEtMS0zODA3NQ_951ea4ed-590c-4c6d-9486-6807d774a7fe"
      unitRef="usd">76000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOC05LTEtMS0zODA3NQ_76073aaf-7d7b-4b93-8da1-ffdccf691a14"
      unitRef="usd">10683000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="ic20311f9a8ac4ead9420474c651bebdf_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOS0xLTEtMS0zODA3NQ_5bee2c58-e99f-4696-85df-6884fae3a766"
      unitRef="usd">13302000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ic24c1283d0e149f595eecf8316ab2893_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOS0zLTEtMS0zODA3NQ_7a7dc70e-b9a0-4c3b-bc93-88514805c6b9"
      unitRef="usd">11464000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5bfacd76a10e424caa3f58f9708deb79_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOS01LTEtMS0zODA3NQ_39f84e16-0df1-4dd3-9629-4940e386211e"
      unitRef="usd">-918000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i86ac1e22563f44aebe72cd6c03c79a8e_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOS03LTEtMS0zODA3NQ_8ad98b2e-aaa4-4051-ad45-9bce88072541"
      unitRef="usd">-2286000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfOS05LTEtMS0zODA3NQ_a643ad2a-2be3-48db-a00e-7c961d869787"
      unitRef="usd">21562000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ic20311f9a8ac4ead9420474c651bebdf_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTAtMS0xLTEtMzgwNzU_8e099088-b9af-4cb0-bb15-3b28e5cfd4ca"
      unitRef="usd">2651000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ic24c1283d0e149f595eecf8316ab2893_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTAtMy0xLTEtMzgwNzU_ba975458-07fd-4ee9-a270-398f58258654"
      unitRef="usd">2285000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i5bfacd76a10e424caa3f58f9708deb79_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTAtNS0xLTEtMzgwNzU_663e7f22-6612-47e4-9a96-3f2bc7fef20f"
      unitRef="usd">1115000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i86ac1e22563f44aebe72cd6c03c79a8e_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTAtNy0xLTEtMzgwNzU_10d9154e-9097-48e3-a32a-86c7fb61b4d1"
      unitRef="usd">156000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTAtOS0xLTEtMzgwNzU_2116f0ae-c88f-4af3-b13f-e2fde79fab48"
      unitRef="usd">6207000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3e9a73cda77e4e19952b44ab1f8518ae_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTItMS0xLTEtMzgwNzU_67733f24-4293-433b-b0b5-08bdaf99c803"
      unitRef="usd">509283000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5693897bf4634899bbc1a8820a1433b8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTItMy0xLTEtMzgwNzU_9e9bb9e7-85c0-4417-9ab1-466b7939cccf"
      unitRef="usd">199954000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie410b248b396415cb822b2a7be3382e0_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTItNS0xLTEtMzgwNzU_1f1cce06-7147-4f7d-8087-f79740c0e3b3"
      unitRef="usd">207711000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTItNy0xLTEtMzgwNzU_0a49dceb-163d-4f18-a576-9322137c1588"
      unitRef="usd">-2978000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTItOS0xLTEtMzgwNzU_ee8c95cd-2bb1-4688-ba20-a11aaf7caa66"
      unitRef="usd">913970000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3e9a73cda77e4e19952b44ab1f8518ae_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTMtMS0xLTEtMzgwNzU_b3f7ee1d-7037-44df-97d5-c749286307ea"
      unitRef="usd">12221000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i5693897bf4634899bbc1a8820a1433b8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTMtMy0xLTEtMzgwNzU_9eb2a9a3-9cc6-4242-876c-f0adbc3cc5cf"
      unitRef="usd">7418000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie410b248b396415cb822b2a7be3382e0_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTMtNS0xLTEtMzgwNzU_e5cdc45d-c267-42b0-96af-3f23775dd1b4"
      unitRef="usd">10653000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTMtNy0xLTEtMzgwNzU_df9afa92-e38e-42ff-ace2-f377b61ba1fb"
      unitRef="usd">262000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTMtOS0xLTEtMzgwNzU_a509face-73d2-443d-afdc-64a736e0d509"
      unitRef="usd">30554000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3e9a73cda77e4e19952b44ab1f8518ae_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTQtMS0xLTEtMzgwNzU_891fe70f-8a83-43a9-be53-adff80906535"
      unitRef="usd">57458000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5693897bf4634899bbc1a8820a1433b8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTQtMy0xLTEtMzgwNzU_af9e9d2e-4b7e-480c-9a01-fa20b058349c"
      unitRef="usd">30229000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie410b248b396415cb822b2a7be3382e0_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTQtNS0xLTEtMzgwNzU_d179c6b1-e9af-4fc7-ba1e-2025b7c9c9c2"
      unitRef="usd">1444000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTQtNy0xLTEtMzgwNzU_8847d66e-66c0-42ad-b493-99ea82fe9e5c"
      unitRef="usd">-6420000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTQtOS0xLTEtMzgwNzU_97b7e715-1743-4b0e-b5d5-ed90e2e2e4c2"
      unitRef="usd">82711000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3e9a73cda77e4e19952b44ab1f8518ae_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTUtMS0xLTEtMzgwNzU_cafb6715-b5e8-482b-9713-94d547a01637"
      unitRef="usd">13103000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i5693897bf4634899bbc1a8820a1433b8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTUtMy0xLTEtMzgwNzU_d6c2f7d0-e1c0-4e28-8cd7-21886c1d1ee8"
      unitRef="usd">2827000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ie410b248b396415cb822b2a7be3382e0_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTUtNS0xLTEtMzgwNzU_30036245-8d62-4d31-93e5-37d9321d847d"
      unitRef="usd">3488000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTUtNy0xLTEtMzgwNzU_89984f52-85b7-4f8b-aa08-43914e1cd601"
      unitRef="usd">70000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTUtOS0xLTEtMzgwNzU_4735a8a3-e82a-429a-ad3f-c392717ad1f7"
      unitRef="usd">19488000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTctMS0xLTEtMzgwNzU_b705f0d9-e277-4a8b-a926-4fee8db98dcb"
      unitRef="usd">422077000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTctMy0xLTEtMzgwNzU_da891912-5df1-4e7e-ab14-e678edd4121f"
      unitRef="usd">181862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i71752e09105c46a982b8711a4992d62f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTctNS0xLTEtMzgwNzU_d39dedc6-66b3-42fc-b819-f5d5cedd22ab"
      unitRef="usd">179492000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTctNy0xLTEtMzgwNzU_224eabc1-a466-4fa8-93df-ecfcd4e5f70d"
      unitRef="usd">-3050000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTctOS0xLTEtMzgwNzU_9bbe416c-f49a-40b5-b0a7-8728a6196087"
      unitRef="usd">780381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtMS0xLTEtMzgwNzU_b16d3314-c9f9-4cc0-b5f6-871b75042fbb"
      unitRef="usd">14528000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtMS0xLTEtMzgwNzU_f03c1bfc-81d5-4a9b-a170-a152adcf91c7"
      unitRef="usd">14528000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtMy0xLTEtMzgwNzU_2f140a30-631b-47de-bd4a-e663bafd6441"
      unitRef="usd">7771000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtMy0xLTEtMzgwNzU_306ce31c-79d1-4a6d-a617-a9fe0c8a92a2"
      unitRef="usd">7771000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i71752e09105c46a982b8711a4992d62f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtNS0xLTEtMzgwNzU_b8c823cb-1ee0-4dda-a777-ff4a7e61fe79"
      unitRef="usd">9965000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i71752e09105c46a982b8711a4992d62f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtNS0xLTEtMzgwNzU_c6e19e57-a764-44ee-9ad1-391bad3cc471"
      unitRef="usd">9965000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtNy0xLTEtMzgwNzU_0ab4d827-bc93-40c3-816e-ce314f01b268"
      unitRef="usd">279000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtNy0xLTEtMzgwNzU_62147549-8bda-454b-b9a5-1dfa4f1c08ba"
      unitRef="usd">279000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtOS0xLTEtMzgwNzU_92df8571-7131-4f81-bf2d-b5b6ea1a3950"
      unitRef="usd">32543000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTgtOS0xLTEtMzgwNzU_babb90ee-98a1-425e-aef4-7e79a584c95b"
      unitRef="usd">32543000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTktMS0xLTEtMzgwNzU_5d8ffcac-f67a-4836-bdb3-0c149d8b83eb"
      unitRef="usd">40288000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTktMy0xLTEtMzgwNzU_eba16dc4-8ca1-4837-a7ef-792d1c612c75"
      unitRef="usd">29901000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i71752e09105c46a982b8711a4992d62f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTktNS0xLTEtMzgwNzU_bbfe3c62-1338-44ef-b2e0-4ea239810464"
      unitRef="usd">-1215000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTktNy0xLTEtMzgwNzU_ffcb09c1-eb50-4884-b03a-fec9b678f592"
      unitRef="usd">-14197000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMTktOS0xLTEtMzgwNzU_e263abfa-c1cf-4f1e-a9af-d734cc0e9d41"
      unitRef="usd">54777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtMS0xLTEtMzgwNzU_796d07fb-5318-4690-8550-aab3ebc29dee"
      unitRef="usd">7472000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib5a5ca4b1a7647d789e3d38ef84d19a9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtMS0xLTEtMzgwNzU_ddae4464-073a-4c87-b65c-afd511501b27"
      unitRef="usd">7472000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtMy0xLTEtMzgwNzU_071b6bdf-e7cb-40a3-b807-93f9e0142175"
      unitRef="usd">4025000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iccf7808ca4d34772921579ab0baabb58_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtMy0xLTEtMzgwNzU_65286028-b526-4e8b-8494-1e7173484c8d"
      unitRef="usd">4025000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i71752e09105c46a982b8711a4992d62f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtNS0xLTEtMzgwNzU_27ff1728-0ea2-4185-8d33-454b0c46b4a0"
      unitRef="usd">4228000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i71752e09105c46a982b8711a4992d62f_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtNS0xLTEtMzgwNzU_5e4bc153-d32e-42a2-85fc-d73fa68c1b2b"
      unitRef="usd">4228000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtNy0xLTEtMzgwNzU_bd66df2d-b1b0-41a0-a420-c48ef7bafa30"
      unitRef="usd">281000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i2cda607058f147fe83aa1649e758c44e_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtNy0xLTEtMzgwNzU_d45db254-239f-4a0c-92f3-3b9156c9cdfa"
      unitRef="usd">281000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtOS0xLTEtMzgwNzU_35fd4e63-a1f1-4690-8bd7-72f25a0175ec"
      unitRef="usd">16006000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjAtOS0xLTEtMzgwNzU_f121f381-8058-46f2-bb55-21d1d498c414"
      unitRef="usd">16006000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:Assets
      contextRef="i78ade6074c4a4940bfeccdccf38d2570_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjItMS0xLTEtMzgwNzU_3b2c19d0-d56d-4feb-bf53-b9c0eba80c69"
      unitRef="usd">296443000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i89f1a5e4c44243bc9522522967f05fd8_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjItMy0xLTEtMzgwNzU_233f927a-a9d0-4031-ab91-a882ed849497"
      unitRef="usd">223803000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic143f7aade39449e8a1b1576e23c2c76_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjItNS0xLTEtMzgwNzU_d495bb55-181a-4636-9b57-df430ff14a93"
      unitRef="usd">184683000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ib94206ccce534b23a28009e3c780e28b_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjItNy0xLTEtMzgwNzU_f95a0270-c8df-4ace-83d9-7435ee00e762"
      unitRef="usd">38678000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjItOS0xLTEtMzgwNzU_a4035b8b-0b3b-4dbb-a5ad-c5e9b27addb3"
      unitRef="usd">743607000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="id8ce7737ee364d6eae53a73a44ba6798_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjQtMS0xLTEtMzgwNzU_1d7cb76b-c2dd-49d4-997f-fdee96b3515c"
      unitRef="usd">268773000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i26fc9908ab71473395a57d121375becd_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjQtMy0xLTEtMzgwNzU_64f4205b-bc7e-4cb3-8918-5746c312c77f"
      unitRef="usd">236755000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="id04e2952f1d148f9aa8af7aa17d6b97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjQtNS0xLTEtMzgwNzU_90081e49-293b-4318-9816-feef0776943c"
      unitRef="usd">178671000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ie960c3cedd1343009a2bdd59cb4a93df_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjQtNy0xLTEtMzgwNzU_571c0a9c-15b7-40c2-bcf0-2e43a48d5539"
      unitRef="usd">33124000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5YzBmZWMxNTliYzRkYzhhNDdmOWQ4ZDlmOGY0Yzc0L3RhYmxlcmFuZ2U6MTljMGZlYzE1OWJjNGRjOGE0N2Y5ZDhkOWY4ZjRjNzRfMjQtOS0xLTEtMzgwNzU_e38bad60-824d-43e6-9f62-88a7c9438ff3"
      unitRef="usd">717323000</us-gaap:Assets>
    <us-gaap:Goodwill
      contextRef="id8ce7737ee364d6eae53a73a44ba6798_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfMS0xLTEtMS0zODA3NQ_f719170a-c1a3-4613-954b-ec44e51c392b"
      unitRef="usd">38712000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i26fc9908ab71473395a57d121375becd_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfMS0zLTEtMS0zODA3NQ_02a3f34d-57de-4642-ad16-9526109ba582"
      unitRef="usd">71346000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="id04e2952f1d148f9aa8af7aa17d6b97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfMS01LTEtMS0zODA3NQ_91742684-d8dd-4706-b765-e144f4de7bde"
      unitRef="usd">39147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ie960c3cedd1343009a2bdd59cb4a93df_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfMS03LTEtMS0zODA3NQ_db27287d-3db5-4ae4-b375-b9db07356b51"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib2cb1759ab1446bfb67e849b2098d97f_I20211031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfMS05LTEtMS0zODA3NQ_de0b06c4-4aa7-46d7-9d72-d6491d1021ff"
      unitRef="usd">149205000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i3e9a73cda77e4e19952b44ab1f8518ae_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNC0xLTEtMS0zODA3NQ_92827ad3-c611-4742-a7b3-fa16616a0f2f"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i5693897bf4634899bbc1a8820a1433b8_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNC0zLTEtMS0zODA3NQ_d1b44dce-891a-417e-8c31-e6548c83be22"
      unitRef="usd">-7956000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ie410b248b396415cb822b2a7be3382e0_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNC01LTEtMS0zODA3NQ_3805947e-bece-4cc9-8431-93b8e8656da6"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i7348e2ff88b34fef89ef9030c3baae35_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNC03LTEtMS0zODA3NQ_a971f5d1-f5ca-4429-b232-2b63d518a2ec"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNC05LTEtMS0zODA3NQ_9d1d563d-c2dd-4b25-8115-45847f63e901"
      unitRef="usd">-7956000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="i78ade6074c4a4940bfeccdccf38d2570_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNS0xLTEtMS0zODA3NQ_4d780657-46cf-4623-8284-1e196949986e"
      unitRef="usd">38712000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i89f1a5e4c44243bc9522522967f05fd8_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNS0zLTEtMS0zODA3NQ_37aa3fd3-9faa-4c0f-a8f9-6cccc3406392"
      unitRef="usd">63390000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic143f7aade39449e8a1b1576e23c2c76_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNS01LTEtMS0zODA3NQ_593bbd15-0558-4dc2-92c5-5f2f3cf2e3dd"
      unitRef="usd">39147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ib94206ccce534b23a28009e3c780e28b_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNS03LTEtMS0zODA3NQ_3422323e-fce9-4d47-9abd-72bc84af9c37"
      unitRef="usd">0</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ifaadc29beb6c4db8bfd6b9e4ffa83b4c_I20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOjE5NDE0MWUxYThlMTQxNTI4YzYwOTMwMDgwNmI4NmI5L3RhYmxlcmFuZ2U6MTk0MTQxZTFhOGUxNDE1MjhjNjA5MzAwODA2Yjg2YjlfNS05LTEtMS0zODA3NQ_7fd94be9-1d42-4dd5-b70a-e47571bcb7e0"
      unitRef="usd">141249000</us-gaap:Goodwill>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RleHRyZWdpb246M2U3YzI5OTg5OTU3NDQ1YTg1Y2I5ZTgxMWU2OWIyZDZfMzA4NQ_e300d7ac-44c8-4fe6-8bc0-9029db85994b">&lt;div style="margin-top:9pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not allocate non-operating loss or income tax benefit to the reportable segments. The following table reconciles operating income as reported above to net income for the three and nine months ended July&#160;31, 2022 and 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:14pt;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:44.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&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:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended&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:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended&lt;/span&gt;&lt;/td&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:8pt;font-weight:700;line-height:100%"&gt;July 31,&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:8pt;font-weight:700;line-height:100%"&gt;July 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="background-color:#ffffff;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:8pt;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 #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:8pt;font-weight:700;line-height:100%"&gt;2021&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:8pt;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:8pt;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:10pt;font-weight:400;line-height:100%"&gt;Operating income&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;34,035&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;21,562&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;82,711&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;54,777&#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:10pt;font-weight:400;line-height:100%"&gt;Interest expense&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:10pt;font-weight:400;line-height:100%"&gt;(724)&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:10pt;font-weight:400;line-height:100%"&gt;(597)&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:10pt;font-weight:400;line-height:100%"&gt;(1,849)&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:10pt;font-weight:400;line-height:100%"&gt;(1,988)&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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other, net&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:10pt;font-weight:400;line-height:100%"&gt;398&#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:10pt;font-weight:400;line-height:100%"&gt;188&#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:10pt;font-weight:400;line-height:100%"&gt;905&#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:10pt;font-weight:400;line-height:100%"&gt;645&#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:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&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:10pt;font-weight:400;line-height:100%"&gt;(7,801)&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:10pt;font-weight:400;line-height:100%"&gt;(7,474)&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:10pt;font-weight:400;line-height:100%"&gt;(18,098)&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:10pt;font-weight:400;line-height:100%"&gt;(17,352)&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;25,908&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,679&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,669&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;36,082&#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:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfMy0xLTEtMS0zODA3NQ_b9d90e2b-f467-4b7e-9dba-57acd0230ce0"
      unitRef="usd">34035000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfMy0zLTEtMS0zODA3NQ_699837db-091b-4af1-8712-c47e26e7dc91"
      unitRef="usd">21562000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfMy01LTEtMS0zODA3NQ_059700bb-d148-41a3-8de5-8c4a7c55cd40"
      unitRef="usd">82711000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfMy01LTEtMS0zODA3NQ_83618411-b3ed-4099-a2b9-8099101f4842"
      unitRef="usd">82711000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfMy03LTEtMS0zODA3NQ_1b898a39-1664-4709-84e3-9b2a61a6fca2"
      unitRef="usd">54777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfMy03LTEtMS0zODA3NQ_4a18c888-2c38-4802-a8fb-a82a2b8a2b2c"
      unitRef="usd">54777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNC0xLTEtMS0zODA3NQ_71c126fc-b9db-4a2f-a15e-e9e62d3f8906"
      unitRef="usd">724000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNC0zLTEtMS0zODA3NQ_dc47f37b-d29b-45c6-b55b-b14653184eee"
      unitRef="usd">597000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNC01LTEtMS0zODA3NQ_c0ed9b57-490b-4e62-81e0-7c5b454dad00"
      unitRef="usd">1849000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNC03LTEtMS0zODA3NQ_a2e1228b-0af8-4e3a-995d-2190b71c7812"
      unitRef="usd">1988000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNS0xLTEtMS0zODA3NQ_fa992e31-3257-428e-86ce-199ef99e91cb"
      unitRef="usd">398000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNS0zLTEtMS0zODA3NQ_32ef0d93-95ab-4823-b1a8-ca11cfcdee9f"
      unitRef="usd">188000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNS01LTEtMS0zODA3NQ_2ac3cd7b-98ff-47df-8d4d-e7145fa21a1c"
      unitRef="usd">905000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNS03LTEtMS0zODA3NQ_2797f508-2222-4484-b363-6c0aabb74479"
      unitRef="usd">645000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNi0xLTEtMS0zODA3NQ_e94fb60c-dc23-4ae8-9ea8-da5f5925588e"
      unitRef="usd">7801000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNi0zLTEtMS0zODA3NQ_01bdb084-42a7-4a8e-87c7-6d16b00de7a6"
      unitRef="usd">7474000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNi01LTEtMS0zODA3NQ_6b03292a-b8a3-4842-aff4-38037f7605fd"
      unitRef="usd">18098000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNi03LTEtMS0zODA3NQ_1dbc1b1e-d114-4286-9991-068e28406f41"
      unitRef="usd">17352000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNy0xLTEtMS0zODA3NQ_ee2ce5d7-9710-49fb-ab61-5b1d9b7f6267"
      unitRef="usd">25908000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNy0zLTEtMS0zODA3NQ_af03b48e-5c8c-46bf-8869-0a3d62792567"
      unitRef="usd">13679000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNy01LTEtMS0zODA3NQ_a96fd3da-acf8-4563-8e31-83f366168ab6"
      unitRef="usd">63669000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF83OS9mcmFnOjNlN2MyOTk4OTk1NzQ0NWE4NWNiOWU4MTFlNjliMmQ2L3RhYmxlOmM4ZWI1YzgzNDQwNTRkM2E4NjliMDkzM2YwZTg3Zjc4L3RhYmxlcmFuZ2U6YzhlYjVjODM0NDA1NGQzYTg2OWIwOTMzZjBlODdmNzhfNy03LTEtMS0zODA3NQ_d93c2892-607f-4031-a49c-cb12d75adbe7"
      unitRef="usd">36082000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RleHRyZWdpb246YjNiYTVkMzkxYTI3NGFhOGI0YjcwY2M4NWYzODNiNjVfMTAyMQ_1a82d892-5525-4628-b8a7-901205966941">Earnings Per ShareWe compute basic earnings per share by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common and potential common shares include the weighted average of additional shares associated with the incremental effect of dilutive employee stock options, non-vested restricted stock as determined using the treasury stock method prescribed by U.S. GAAP and contingent shares associated with performance share awards, if dilutive.&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic and diluted earnings per share for the three and nine months ended July&#160;31, 2022 and 2021 were calculated as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:13pt;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:57.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.767%"/&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:8pt;font-weight:700;line-height:100%"&gt;Net Income&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:8pt;font-weight:700;line-height:100%"&gt;Weighted Average 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:8pt;font-weight:700;line-height:100%"&gt;Per Share&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%;text-decoration:underline"&gt;Three Months Ended July 31, 2022&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="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:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;25,908&#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:10pt;font-weight:400;line-height:100%"&gt;32,999&#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:10pt;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:10pt;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;/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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;34&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;99&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;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="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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;25,908&#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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;33,173&#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;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:10pt;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:10pt;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;/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:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,679&#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:10pt;font-weight:400;line-height:100%"&gt;33,359&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;0.41&#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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;59&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;140&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;92&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;13,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;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 #000;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:10pt;font-weight:400;line-height:100%"&gt;33,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;0.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;/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%;text-decoration:underline"&gt;Nine Months Ended July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;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 #000;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,669&#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:10pt;font-weight:400;line-height:100%"&gt;33,093&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.92&#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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;27&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;95&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;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="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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,669&#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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;33,256&#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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.91&#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:700;line-height:100%;text-decoration:underline"&gt;Nine Months Ended July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;36,082&#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:10pt;font-weight:400;line-height:100%"&gt;33,194&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.09&#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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;103&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;129&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;92&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;36,082&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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-bottom:3pt double #000;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;33,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.08&#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-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We do not include equity instruments in our calculation of diluted earnings per share if those instruments would be anti-dilutive. Such dilution is dependent on the excess of the market price of our stock over the exercise price and other components of the treasury stock method. There were no anti-dilutive instruments for the three and nine months ended July&#160;31, 2022 and 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RleHRyZWdpb246YjNiYTVkMzkxYTI3NGFhOGI0YjcwY2M4NWYzODNiNjVfMTAzMw_08cbc211-5831-4351-bc1e-73208d96b759">&lt;div style="margin-top:8pt;text-align:justify;text-indent:22.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic and diluted earnings per share for the three and nine months ended July&#160;31, 2022 and 2021 were calculated as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:13pt;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:57.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.767%"/&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:8pt;font-weight:700;line-height:100%"&gt;Net Income&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:8pt;font-weight:700;line-height:100%"&gt;Weighted Average 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:8pt;font-weight:700;line-height:100%"&gt;Per Share&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%;text-decoration:underline"&gt;Three Months Ended July 31, 2022&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="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:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;25,908&#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:10pt;font-weight:400;line-height:100%"&gt;32,999&#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:10pt;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:10pt;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;/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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;34&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;99&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;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="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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;25,908&#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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;33,173&#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;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:10pt;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:10pt;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;/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:700;line-height:100%;text-decoration:underline"&gt;Three Months Ended July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,679&#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:10pt;font-weight:400;line-height:100%"&gt;33,359&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;0.41&#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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;59&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;140&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;92&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%"&gt;13,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;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 #000;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:10pt;font-weight:400;line-height:100%"&gt;33,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;0.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;/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%;text-decoration:underline"&gt;Nine Months Ended July 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;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 #000;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,669&#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:10pt;font-weight:400;line-height:100%"&gt;33,093&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.92&#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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;27&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock 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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;95&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;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="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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;63,669&#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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;33,256&#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;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.91&#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:700;line-height:100%;text-decoration:underline"&gt;Nine Months Ended July 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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 #000;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per common share&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;36,082&#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:10pt;font-weight:400;line-height:100%"&gt;33,194&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.09&#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:10pt;font-style:italic;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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;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 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;103&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock awards&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;129&#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:10pt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance restricted stock units&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;92&#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:10pt;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;/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:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per common share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;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:10pt;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: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:10pt;font-weight:400;line-height:100%"&gt;36,082&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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-bottom:3pt double #000;border-top:1pt solid #000;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:10pt;font-weight:400;line-height:100%"&gt;33,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1.08&#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:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMi0xLTEtMS0zODA3NQ_4d7a3c43-a385-427b-a4b6-03e156673c02"
      unitRef="usd">25908000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMi0zLTEtMS0zODA3NQ_b376e2b1-889f-4c06-a749-f7ae9745342d"
      unitRef="shares">32999000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMi01LTEtMS0zODA3NQ_032f3436-35ae-4876-ba4e-aa3d47a4d3e5"
      unitRef="usdPerShare">0.79</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ib728f8a1f2644ee692145dd84bbabc28_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfNC0zLTEtMS0zODA3NQ_c9de48fe-aa02-4a2d-81d4-afeb6c85ce22"
      unitRef="shares">34000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ic81291e2e1d341b09c63dc0a787a60db_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfNS0zLTEtMS0zODA3NQ_e97ab477-fb5b-4f75-8766-6ccac87ee1c7"
      unitRef="shares">99000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i355110bb202346d78d32d18caa199789_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfNy0zLTEtMS0zODA3NQ_356b9d1f-b035-4e15-bad6-8376d481ec87"
      unitRef="shares">41000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfOC0xLTEtMS0zODA3NQ_7582b19d-8eb9-402f-a018-c8fae95bb632"
      unitRef="usd">25908000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfOC0zLTEtMS0zODA3NQ_0b1e8e2d-2945-43cd-b658-ccedc6679eb9"
      unitRef="shares">33173000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="ifa0cc022faf04ecfb90cb2e39b8de6f0_D20220501-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfOC01LTEtMS0zODA3NQ_e5cf06c3-10fc-4763-86f8-ceb804de4cb7"
      unitRef="usdPerShare">0.78</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTAtMS0xLTEtMzgwNzU_c814d471-dc90-4848-9059-7fd30c52ab93"
      unitRef="usd">13679000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTAtMy0xLTEtMzgwNzU_0cf2543a-c2c1-45a6-9e5f-a8fa82a3b0f5"
      unitRef="shares">33359000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTAtNS0xLTEtMzgwNzU_45c3eb02-79e2-4663-aab3-c7c270a46769"
      unitRef="usdPerShare">0.41</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i55ac93cdfea94c21abb7d9a00f4790d7_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTItMy0xLTEtMzgwNzU_86bd3f4b-4a97-48ce-9e44-606937717d31"
      unitRef="shares">59000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ie201591f81ae4ba9b2cb20eb69e4ccd3_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTMtMy0xLTEtMzgwNzU_3a11851c-7490-41bc-98b0-d610d1564aab"
      unitRef="shares">140000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ifb27916666ee404db55efbbc7e8e5d27_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTUtMy0xLTEtMzgwNzU_3edff69e-845d-47ad-858c-abb6a8058346"
      unitRef="shares">92000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTYtMS0xLTEtMzgwNzU_0a74606d-116f-41a9-8e7d-4b07793337e4"
      unitRef="usd">13679000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTYtMy0xLTEtMzgwNzU_ba31099b-4fab-4993-86f4-0ce86c723ab0"
      unitRef="shares">33650000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="iac6cb5d033584d85a0f199666bb64bdb_D20210501-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTYtNS0xLTEtMzgwNzU_13c50312-074c-48a4-8a75-4d9c09d907b2"
      unitRef="usdPerShare">0.41</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTgtMS0xLTEtMzgwNzU_cac44e2b-c3a1-42a2-81e2-dec7cb96f1a5"
      unitRef="usd">63669000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTgtMy0xLTEtMzgwNzU_197bf79b-97c7-428c-94f5-28c5e32c969c"
      unitRef="shares">33093000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMTgtNS0xLTEtMzgwNzU_9c2d6875-8d17-4afc-8614-25d82fa00e15"
      unitRef="usdPerShare">1.92</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ibd27df429a4a484fa129da83a7e2685c_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjAtMy0xLTEtMzgwNzU_75f19027-2ae8-4107-9ddf-f029a022c6c6"
      unitRef="shares">27000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i686c506b743f46369599d97b43c3c37f_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjEtMy0xLTEtMzgwNzU_91b9bec6-c385-4f64-b31e-eac75834d570"
      unitRef="shares">95000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i9021a209030e423b9c8c12449b879223_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjMtMy0xLTEtMzgwNzU_9f6fbb87-1640-4ef8-a45d-3aa870b567c7"
      unitRef="shares">41000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjQtMS0xLTEtMzgwNzU_4b485cd6-64da-4928-8b5e-c3455168bea2"
      unitRef="usd">63669000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjQtMy0xLTEtMzgwNzU_2bc4f8b8-6fa5-46bc-ac59-853907a16d81"
      unitRef="shares">33256000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjQtNS0xLTEtMzgwNzU_377a40c8-791d-4ace-a4e2-a03d40f03a2c"
      unitRef="usdPerShare">1.91</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjYtMS0xLTEtMzgwNzU_c6df9ba7-8ddb-4de2-96e3-dd483ed16c12"
      unitRef="usd">36082000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjYtMy0xLTEtMzgwNzU_fe580ff8-1c24-43bd-a608-2e2a8aeaec22"
      unitRef="shares">33194000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjYtNS0xLTEtMzgwNzU_c9239130-cc2d-4971-8df5-ebdcd8d7ff71"
      unitRef="usdPerShare">1.09</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="ib7caa604bb084a7c8653ed347367b8c9_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjgtMy0xLTEtMzgwNzU_c9e66351-4879-4762-9eec-40cef7681cf1"
      unitRef="shares">103000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i0580bdfe78ff4e1fb17b48c4d144b993_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMjktMy0xLTEtMzgwNzU_20bf6364-4f23-4b21-ba69-516563ed4d3f"
      unitRef="shares">129000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i6031291f979d4204b5861de7e500dc36_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMzEtMy0xLTEtMzgwNzU_624735d2-bc45-436e-9c60-4d633aa21f95"
      unitRef="shares">92000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMzItMS0xLTEtMzgwNzU_bdd5a76b-d538-47f8-a99d-06e9bc078f1d"
      unitRef="usd">36082000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMzItMy0xLTEtMzgwNzU_c738c168-2ff7-4973-b132-44a58826db88"
      unitRef="shares">33518000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i5bde3a7d2b8f4334817e3105d95bebc4_D20201101-20210731"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84Mi9mcmFnOmIzYmE1ZDM5MWEyNzRhYThiNGI3MGNjODVmMzgzYjY1L3RhYmxlOjA3NTBhOGMwZTU1ZTRiYjJhYjEwNmQ5N2M1N2ZiYTIxL3RhYmxlcmFuZ2U6MDc1MGE4YzBlNTVlNGJiMmFiMTA2ZDk3YzU3ZmJhMjFfMzItNS0xLTEtMzgwNzU_1d3c68af-3cc8-414f-ba6e-de10034a9223"
      unitRef="usdPerShare">1.08</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <nx:DescriptionOfNewAccountingPronouncementsRecentlyAdoptedAndNotYetAdoptedTextBlock
      contextRef="ib64ae75f098646f182d2dc7b706c92a9_D20211101-20220731"
      id="id3VybDovL2RvY3MudjEvZG9jOjdjYjgxYTczYmFjMDQ5ZDI4YWNhMmI3NTBkNDQ1NGZkL3NlYzo3Y2I4MWE3M2JhYzA0OWQyOGFjYTJiNzUwZDQ0NTRmZF84NS9mcmFnOjU4ZTNmMjQwMGViMzQzN2M4NDk5NjZkNmY2Mzc3MjRhL3RleHRyZWdpb246NThlM2YyNDAwZWIzNDM3Yzg0OTk2NmQ2ZjYzNzcyNGFfNzQ3_f1937569-0ace-43d5-a5e7-c56c5b225d23">New Accounting GuidanceFrom time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (FASB) or other standards setting bodies that we adopt as of the specified effective date. We did not adopt any new accounting pronouncements during the three and nine months ended July&#160;31, 2022. As of July&#160;31, 2022, we believe the impact of any recently issued standards that are not yet effective are either not applicable to us at this time or will not have a material impact on our condensed consolidated financial statements upon adoption.</nx:DescriptionOfNewAccountingPronouncementsRecentlyAdoptedAndNotYetAdoptedTextBlock>
</xbrl>
