v3.25.2
Net Income Per Share (Tables)
6 Months Ended
Jun. 30, 2025
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
Basic and diluted net income per share are calculated as follows (in thousands, except per share amounts):
Three Months Ended June 30,Six Months Ended June 30,
2025202420252024
Basic and diluted net income per share
Numerator:
Net income$10,538 $9,476 $20,081 $19,202 
Denominator:
Weighted-average shares outstanding - basic72,009 74,366 72,777 74,401 
Effect of dilutive potential common shares from stock options, stock awards and employee stock purchase plan1,108 1,131 1,332 1,031 
Weighted-average shares outstanding - diluted73,117 75,497 74,109 75,432 
Net income per share:
Basic$0.15 $0.13 $0.28 $0.26 
Diluted$0.14 $0.13 $0.27 $0.25 
Summary of Anti-dilutive Shares
The following table presents common shares related to potentially dilutive shares excluded from the calculation of diluted net income per share as their effect would have been anti-dilutive (in thousands):

Three Months Ended June 30,Six Months Ended June 30,
2025202420252024
Stock options, stock awards and employee stock purchase rights144 89 144 67 
2030 Notes9,591 — 9,591 — 
Total9,735 89 9,735 67