XML 26 R17.htm IDEA: XBRL DOCUMENT v3.25.2
Net Income Per Share
6 Months Ended
Jun. 30, 2025
Earnings Per Share [Abstract]  
Net Income Per Share Net Income Per Share
Basic net income per share is computed by dividing net income for the period by the weighted-average number of shares outstanding during the period, including repurchases carried as treasury stock. Diluted net income per share is computed by dividing net income by the weighted-average number of shares outstanding adjusted for the dilutive effect of all potential shares of stock, including the exercise of employee stock options, assumed vesting of restricted stock units, and exercise of warrants (if dilutive). Diluted net income per share was computed using the treasury stock method for warrants, stock options, and restricted stock units.

The following table presents the calculation of basic and diluted net income per share:

For the three months ended June 30, For the six months ended June 30,
(in thousands, except per share amounts)2025202420252024
Numerator:
Net income$27,604 $29,702 $63,768 $37,709 
Denominator(1):
Basic shares:
Weighted-average shares outstanding33,733 33,961 33,792 33,952 
Diluted shares(2):
Stock options369 616 337 557 
Restricted stock units1,405 1,421 1,381 1,229 
Warrants— 149 — 142 
Weighted-average shares outstanding35,507 36,147 35,510 35,880 
Net income per share:
Basic$0.82 $0.87 $1.89 $1.11 
Diluted$0.78 $0.82 $1.80 $1.05 

(1)    Effective March 28, 2025, we performed a 6-for-1 stock split of the Company’s common stock, affected through a stock dividend. Share and per share amounts have been retroactively adjusted.
(2)    Because their effect would have been anti-dilutive, 273 and 575 shares were excluded from the denominator of diluted net income per share for the three and six months ended June 30, 2024, respectively.