| Period | Value | YoY Chg | Change % | Date | Report | Filed | Fiscal Year | Fiscal Period |
|---|---|---|---|---|---|---|---|---|
| Q3 2025 | $120,514,000 | +$14,447,000 | +14% | 30 Sep 2025 | 10-Q | 13 Nov 2025 | 2025 | Q3 |
| Q2 2025 | $116,892,000 | +$11,550,000 | +11% | 30 Jun 2025 | 10-Q | 12 Aug 2025 | 2025 | Q2 |
| Q1 2025 | $112,432,000 | +$9,641,000 | +9.4% | 31 Mar 2025 | 10-Q | 13 May 2025 | 2025 | Q1 |
| Q4 2024 | $109,299,000 | +$9,062,000 | +9% | 31 Dec 2024 | 10-Q | 13 Nov 2025 | 2025 | Q3 |
| Q3 2024 | $106,067,000 | +$7,350,000 | +7.4% | 30 Sep 2024 | 10-Q | 13 Nov 2024 | 2024 | Q3 |
| Q2 2024 | $105,342,000 | +$8,842,000 | +9.2% | 30 Jun 2024 | 10-Q | 13 Aug 2024 | 2024 | Q2 |
| Q1 2024 | $102,791,000 | +$9,767,000 | +10% | 31 Mar 2024 | 10-Q | 14 May 2024 | 2024 | Q1 |
| Q4 2023 | $100,237,000 | +$6,083,000 | +6.5% | 31 Dec 2023 | 10-K | 13 Mar 2025 | 2024 | FY |
| Q3 2023 | $98,717,000 | +$5,551,000 | +6% | 30 Sep 2023 | 10-Q | 13 Nov 2023 | 2023 | Q3 |
| Q2 2023 | $96,500,000 | +$6,600,000 | +7.3% | 30 Jun 2023 | 10-Q | 14 Aug 2023 | 2023 | Q2 |
| Q1 2023 | $93,024,000 | +$6,220,000 | +7.2% | 31 Mar 2023 | 10-Q | 15 May 2023 | 2023 | Q1 |
| Q4 2022 | $94,154,000 | +$10,183,000 | +12% | 31 Dec 2022 | 10-K | 28 Mar 2024 | 2023 | FY |
| Q3 2022 | $93,166,000 | +$12,790,000 | +16% | 30 Sep 2022 | 10-Q | 14 Nov 2022 | 2022 | Q3 |
| Q2 2022 | $89,900,000 | +$13,750,000 | +18% | 30 Jun 2022 | 10-Q | 08 Aug 2022 | 2022 | Q2 |
| Q1 2022 | $86,804,000 | +$14,075,000 | +19% | 31 Mar 2022 | 10-Q | 10 May 2022 | 2022 | Q1 |
| Q4 2021 | $83,971,000 | +$14,393,000 | +21% | 31 Dec 2021 | 10-K | 15 Mar 2023 | 2022 | FY |
| Q3 2021 | $80,376,000 | +$12,330,000 | +18% | 30 Sep 2021 | 10-Q | 10 Nov 2021 | 2021 | Q3 |
| Q2 2021 | $76,150,000 | +$9,000,000 | +13% | 30 Jun 2021 | 10-Q | 05 Aug 2021 | 2021 | Q2 |
| Q1 2021 | $72,729,000 | +$7,589,000 | +12% | 31 Mar 2021 | 10-Q | 05 May 2021 | 2021 | Q1 |
| Q4 2020 | $69,578,000 | +$4,515,000 | +6.9% | 31 Dec 2020 | 10-K | 15 Mar 2022 | 2021 | FY |
| Q3 2020 | $68,046,000 | +$5,160,000 | +8.2% | 30 Sep 2020 | 10-Q | 03 Nov 2020 | 2020 | Q3 |
| Q2 2020 | $67,150,000 | +$6,633,000 | +11% | 30 Jun 2020 | 10-Q | 04 Aug 2020 | 2020 | Q2 |
| Q1 2020 | $65,140,000 | +$7,001,000 | +12% | 31 Mar 2020 | 10-Q | 06 May 2020 | 2020 | Q1 |
| Q4 2019 | $65,063,000 | +$9,026,000 | +16% | 31 Dec 2019 | 10-K | 12 Mar 2021 | 2020 | FY |
| Q3 2019 | $62,886,000 | +$9,366,000 | +18% | 30 Sep 2019 | 10-Q | 05 Nov 2019 | 2019 | Q3 |
| Q2 2019 | $60,517,000 | +$9,396,000 | +18% | 30 Jun 2019 | 10-Q | 06 Aug 2019 | 2019 | Q2 |
| Q1 2019 | $58,139,000 | +$9,212,000 | +19% | 31 Mar 2019 | 10-Q | 07 May 2019 | 2019 | Q1 |
| Q4 2018 | $56,037,000 | +$8,606,000 | +18% | 31 Dec 2018 | 10-K | 04 Mar 2020 | 2019 | FY |
| Q3 2018 | $53,520,000 | +$7,607,000 | +17% | 30 Sep 2018 | 10-Q | 06 Nov 2018 | 2018 | Q3 |
| Q2 2018 | $51,121,000 | +$6,803,000 | +15% | 30 Jun 2018 | 10-Q | 07 Aug 2018 | 2018 | Q2 |
| Q1 2018 | $48,927,000 | +$6,249,000 | +15% | 31 Mar 2018 | 10-Q | 09 May 2018 | 2018 | Q1 |
| Q4 2017 | $47,431,000 | +$6,097,000 | +15% | 31 Dec 2017 | 10-K | 06 Mar 2019 | 2018 | FY |
| Q3 2017 | $45,913,000 | +$5,631,000 | +14% | 30 Sep 2017 | 10-Q | 14 Nov 2017 | 2017 | Q3 |
| Q2 2017 | $44,318,000 | +$4,773,000 | +12% | 30 Jun 2017 | 10-Q | 14 Aug 2017 | 2017 | Q2 |
| Q1 2017 | $42,678,000 | +$4,462,000 | +12% | 31 Mar 2017 | 10-Q | 15 May 2017 | 2017 | Q1 |
| Q4 2016 | $41,334,000 | +$4,098,000 | +11% | 31 Dec 2016 | 10-K | 07 Mar 2018 | 2017 | FY |
| Q3 2016 | $40,282,000 | +$4,288,000 | +12% | 30 Sep 2016 | 10-Q | 14 Nov 2016 | 2016 | Q3 |
| Q2 2016 | $39,545,000 | +$4,975,000 | +14% | 30 Jun 2016 | 10-Q | 10 Aug 2016 | 2016 | Q2 |
| Q1 2016 | $38,216,000 | +$4,598,000 | +14% | 31 Mar 2016 | 10-Q | 11 May 2016 | 2016 | Q1 |
| Q4 2015 | $37,236,000 | +$4,712,000 | +14% | 31 Dec 2015 | 10-K | 15 Mar 2017 | 2016 | FY |
| Q3 2015 | $35,994,000 | +$4,825,000 | +15% | 30 Sep 2015 | 10-Q | 10 Nov 2015 | 2015 | Q3 |
| Q2 2015 | $34,570,000 | +$4,790,000 | +16% | 30 Jun 2015 | 10-Q | 11 Aug 2015 | 2015 | Q2 |
| Q1 2015 | $33,618,000 | +$4,919,000 | +17% | 31 Mar 2015 | 10-Q | 13 May 2015 | 2015 | Q1 |
| Q4 2014 | $32,524,000 | +$5,059,000 | +18% | 31 Dec 2014 | 10-K | 09 Mar 2016 | 2015 | FY |
| Q3 2014 | $31,169,000 | +$5,046,000 | +19% | 30 Sep 2014 | 10-Q | 04 Nov 2014 | 2014 | Q3 |
| Q2 2014 | $29,780,000 | +$5,000,000 | +20% | 30 Jun 2014 | 10-Q | 12 Aug 2014 | 2014 | Q2 |
| Q1 2014 | $28,699,000 | +$5,077,000 | +21% | 31 Mar 2014 | 10-Q | 13 May 2014 | 2014 | Q1 |
| Q4 2013 | $27,465,000 | +$4,980,000 | +22% | 31 Dec 2013 | 10-K | 11 Mar 2015 | 2014 | FY |
| Q3 2013 | $26,123,000 | +$4,387,000 | +20% | 30 Sep 2013 | 10-Q | 05 Nov 2013 | 2013 | Q3 |
| Q2 2013 | $24,780,000 | +$4,381,000 | +21% | 30 Jun 2013 | 10-Q | 07 Aug 2013 | 2013 | Q2 |
| Q1 2013 | $23,622,000 | +$4,350,000 | +23% | 31 Mar 2013 | 10-Q | 09 May 2013 | 2013 | Q1 |
| Q4 2012 | $22,485,000 | +$4,279,000 | +24% | 31 Dec 2012 | 10-K | 11 Mar 2014 | 2013 | FY |
| Q3 2012 | $21,736,000 | +$4,401,000 | +25% | 30 Sep 2012 | 10-Q | 08 Nov 2012 | 2012 | Q3 |
| Q2 2012 | $20,399,000 | +$3,687,000 | +22% | 30 Jun 2012 | 10-Q | 14 Aug 2012 | 2012 | Q2 |
| Q1 2012 | $19,272,000 | 31 Mar 2012 | 10-Q | 15 May 2012 | 2012 | Q1 | ||
| Q4 2011 | $18,206,000 | +$2,366,000 | +15% | 31 Dec 2011 | 10-K | 13 Mar 2013 | 2012 | FY |
| Q3 2011 | $17,335,000 | 30 Sep 2011 | 10-Q | 10 Nov 2011 | 2011 | Q3 | ||
| Q2 2011 | $16,712,000 | 30 Jun 2011 | 10-Q | 11 Aug 2011 | 2011 | Q2 | ||
| Q4 2010 | $15,840,000 | 31 Dec 2010 | 10-K | 20 Mar 2012 | 2011 | FY |