| 2026-01-31 | 2025-10-31 | 2025-07-31 | 2025-04-30 | 2025-01-31 | 2024-10-31 | 2024-07-31 | 2024-04-30 | 2024-01-31 | 2023-10-31 | 2023-07-31 | 2023-04-30 | 2023-01-31 | 2022-10-31 | 2022-07-31 | 2022-04-30 | 2022-01-31 | 2021-10-31 | 2021-07-31 | |
| total assets | 2.44B | 2.43B | 2.35B | 2.38B | 2.41B | 2.37B | 2.35B | 2.31B | 2.32B | 2.20B | 2.21B | 2.21B | 2.26B | 2.21B | 2.27B | 1.99B | 2.04B | 1.98B | 1.98B |
| total current assets | 1.05B | 956.96M | 1.09B | 1.03B | 1.07B | 990.99M | 1.02B | 1.07B | 1.30B | 1.07B | 994.76M | 985.53M | 914.73M | 952.50M | 1.39B | 1.76B | 1.82B | 1.77B | 1.78B |
| cash and cash equivalents | 169.63M | 150.21M | 278.00M | 188.62M | 186.57M | 235.74M | 205.90M | 198.72M | 256.65M | 127.34M | 133.06M | 150.10M | 137.94M | 210.47M | 269.49M | 766.10M | 1.67B | 1.66B | 1.68B |
| short-term investments | 459.04M | 499.64M | 532.82M | 578.29M | 535.33M | 424.52M | 502.27M | 574.49M | 669.30M | 670.63M | 598.53M | 568.13M | 485.58M | 490.81M | 949.88M | 851.42M | 374.00K | 378.00K | 370.00K |
| accounts receivable, net | 289.08M | 198.76M | 179.33M | 155.01M | 236.01M | 164.60M | 155.15M | 133.77M | 214.32M | 133.83M | 124.53M | 128.22M | 151.49M | 119.36M | 106.38M | 86.87M | 101.49M | 68.91M | 53.32M |
| property, plant and equipment, net | 84.01M | 80.31M | 79.23M | 75.99M | 71.77M | 68.13M | 64.26M | 57.05M | 48.82M | 46.02M | 43.88M | 41.03M | 38.74M | 36.38M | 33.03M | 29.08M | 24.92M | 23.69M | 18.89M |
| goodwill | 912.67M | 911.78M | 629.64M | 629.64M | 629.64M | 629.64M | 629.64M | 629.64M | 549.41M | 540.31M | 540.31M | 540.31M | 540.31M | 540.31M | 540.31M | 108.19M | 108.19M | 108.19M | 108.19M |
| intangible assets, net | 129.55M | 140.41M | 94.27M | 100.79M | 107.16M | 113.73M | 120.31M | 126.84M | 122.90M | 127.15M | 131.13M | 138.28M | 145.09M | 152.33M | 159.68M | 15.13M | 15.81M | 16.38M | — |
| other assets | 30.73M | 32.61M | 24.37M | 25.34M | 23.65M | 7.05M | 5.86M | 5.94M | 8.03M | 6.66M | 6.18M | 5.34M | 5.52M | 4.98M | 8.17M | 11.13M | 10.70M | 5.40M | — |
| total liabilities and equity | 2.44B | 2.43B | 2.35B | 2.38B | 2.41B | 2.37B | 2.35B | 2.31B | 2.32B | 2.20B | 2.21B | 2.21B | 2.26B | 2.21B | 2.27B | 1.99B | 2.04B | 1.98B | 1.98B |
| total liabilities | 1.00B | 882.05M | 842.70M | 837.41M | 737.38M | 727.50M | 713.43M | 694.11M | 727.36M | 615.04M | 617.88M | 595.61M | 602.21M | 532.49M | 525.28M | 391.21M | 391.39M | 302.05M | 260.60M |
| total current liabilities | 756.36M | 627.63M | 596.78M | 588.93M | 613.55M | 607.48M | 587.91M | 566.05M | 590.07M | 498.83M | 498.37M | 472.93M | 473.28M | 404.83M | 333.17M | 276.71M | 281.32M | 205.21M | 173.20M |
| accounts payable | 10.30M | 9.63M | 9.72M | 21.57M | 8.16M | 9.71M | 6.75M | 9.20M | 6.76M | 13.79M | 13.84M | 13.21M | 11.21M | 6.59M | 14.47M | 13.93M | 9.94M | 7.49M | 9.62M |
| accrued liabilities | 29.70M | — | — | — | — | 122.52M | 113.31M | 105.48M | 104.67M | 99.87M | 104.48M | 101.41M | 100.02M | 95.28M | 31.91M | 23.82M | 22.66M | 14.48M | 11.14M |
| other liabilities | 161.32M | 11.53M | 3.67M | 3.24M | 21.81M | 7.51M | 6.94M | 9.46M | 4.13M | 3.09M | 2.64M | 2.02M | 2.79M | 5.08M | 66.00M | 8.04M | 6.54M | 4.07M | 3.25M |
| stockholders equity | 1.44B | 1.55B | 1.51B | 1.55B | 1.67B | 1.64B | 1.63B | 1.62B | 1.59B | 1.58B | 1.59B | 1.62B | 1.66B | 1.68B | 1.74B | 1.60B | 1.65B | 1.68B | 1.72B |
| additional paid-in capital | 3.51B | 3.52B | 3.41B | 3.38B | 3.29B | 3.19B | 3.11B | 3.03B | 2.93B | 2.86B | 2.80B | 2.73B | 2.66B | 2.60B | 2.55B | 2.31B | 2.27B | 2.23B | 2.20B |
| retained earnings (accumulated deficit) | -2.08B | -1.97B | -1.91B | -1.84B | -1.63B | -1.56B | -1.48B | -1.41B | -1.34B | -1.27B | -1.20B | -1.11B | -1.00B | -906.67M | -807.81M | -711.51M | -621.67M | -549.96M | -481.37M |
| accumulated other comprehensive income (loss) | 2.31M | 2.69M | 1.33M | 4.05M | 2.16M | 2.59M | 1.15M | -2.79M | -1.55M | -7.34M | -8.97M | -5.61M | -6.37M | -10.45M | -2.01M | -783.00K | 454.00K | 455.00K | 455.00K |
The information provided in this report is taken from www.sec.gov and many other data providers. While we have conducted our best efforts to ensure that the parsed data is accurate, we cannot guarantee its accuracy. Please use caution and understand that any consequences of its use are your own responsibility.
