Quarterly report [Sections 13 or 15(d)]

Condensed Consolidated Statements of Changes in Stockholders' Equity (Unaudited)

v3.26.1
Condensed Consolidated Statements of Changes in Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Stock-based Program [Member]
Common Stock Outstanding [Member]
Stock-based Program [Member]
Additional Paid-in Capital [Member]
Stock-based Program [Member]
Treasury Stock, Common [Member]
Stock-based Program [Member]
AOCI Attributable to Parent [Member]
Stock-based Program [Member]
Retained Earnings [Member]
Stock-based Program [Member]
Share Repurchase Program [Member]
Common Stock Outstanding [Member]
Share Repurchase Program [Member]
Additional Paid-in Capital [Member]
Share Repurchase Program [Member]
Treasury Stock, Common [Member]
Share Repurchase Program [Member]
AOCI Attributable to Parent [Member]
Share Repurchase Program [Member]
Retained Earnings [Member]
Share Repurchase Program [Member]
Common Stock Outstanding [Member]
Additional Paid-in Capital [Member]
Treasury Stock, Common [Member]
AOCI Attributable to Parent [Member]
Retained Earnings [Member]
Total
Balance (in shares) at Oct. 31, 2024                         53,273,644          
Balance at Oct. 31, 2024                         $ 6 $ 386,313 $ (25,881) $ (483) $ (38,240) $ 321,715
Stock-based compensation expense                         $ 0 1,431 0 0 0 1,431
Shares issued under stock-based program (in shares)                         416,546          
Shares issued under stock-based program                         $ 0 1,519 0 0 0 1,519
Net income (loss)                         0 0 0 0 1,056 1,056
Foreign currency translation adjustment                         $ 0 0 0 2,668 0 $ 2,668
Treasury shares purchased (in shares) (246,121)           (1,904,041)                     (1,904,000)
Treasury shares purchased $ 0 $ 0 $ (2,166) $ 0 $ 0 $ (2,166) $ 0 $ 0 $ (11,770) $ 0 $ 0 $ (11,770)            
Shares issued under stock-based program (in shares)                         416,546          
Dividend                         $ 0 0 0 0 (53,132) $ (53,132)
Balance (in shares) at Jul. 31, 2025                         51,540,028          
Balance at Jul. 31, 2025                         $ 6 389,263 (39,817) 2,185 (90,316) 261,321
Balance (in shares) at Apr. 30, 2025                         52,132,683          
Balance at Apr. 30, 2025                         $ 6 388,737 (35,972) 3,089 (94,015) 261,845
Stock-based compensation expense                         0 526 0 0 0 526
Net income (loss)                         0 0 0 0 3,699 3,699
Foreign currency translation adjustment                         $ 0 0 0 (904) 0 $ (904)
Treasury shares purchased (in shares)             (592,655)                     (593,000)
Treasury shares purchased             $ 0 0 (3,845) 0 0 (3,845)            
Balance (in shares) at Jul. 31, 2025                         51,540,028          
Balance at Jul. 31, 2025                         $ 6 389,263 (39,817) 2,185 (90,316) $ 261,321
Balance (in shares) at Oct. 31, 2025                         51,272,503          
Balance at Oct. 31, 2025                         $ 6 389,880 (41,687) 1,589 (84,999) 264,789
Stock-based compensation expense                         $ 0 2,922 0 0 0 2,922
Shares issued under stock-based program (in shares)                         243,480          
Shares issued under stock-based program                         $ 0 0 0 0 0 0
Net income (loss)                         0 0 0 0 5,037 5,037
Foreign currency translation adjustment                         $ 0 0 0 2,325 0 $ 2,325
Treasury shares purchased (in shares) (80,448)           (1,042,115)                     (1,042,000)
Treasury shares purchased $ 0 $ 0 $ (520) $ 0 $ 0 $ (520) $ 0 $ 0 $ (6,699) $ 0 $ 0 $ (6,699)            
Shares issued under stock-based program (in shares)                         243,480          
Balance (in shares) at Jul. 31, 2026                         50,393,420          
Balance at Jul. 31, 2026                         $ 6 392,802 (48,906) 3,914 (79,962) $ 267,854
Balance (in shares) at Apr. 30, 2026                         50,392,680          
Balance at Apr. 30, 2026                         $ 6 391,520 (48,906) 4,912 (84,893) 262,639
Stock-based compensation expense                         $ 0 1,282 0 0 0 1,282
Shares issued under stock-based program (in shares)                         740          
Shares issued under stock-based program                         $ 0 0 0 0 0 0
Net income (loss)                         0 0 0 0 4,931 4,931
Foreign currency translation adjustment                         $ 0 0 0 (998) 0 $ (998)
Treasury shares purchased (in shares)                                   0
Shares issued under stock-based program (in shares)                         740          
Balance (in shares) at Jul. 31, 2026                         50,393,420          
Balance at Jul. 31, 2026                         $ 6 $ 392,802 $ (48,906) $ 3,914 $ (79,962) $ 267,854