{"id":874161,"date":"2025-08-11T17:38:58","date_gmt":"2025-08-11T21:38:58","guid":{"rendered":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/"},"modified":"2025-08-11T17:38:58","modified_gmt":"2025-08-11T21:38:58","slug":"pubmatic-announces-second-quarter-2025-financial-results","status":"publish","type":"post","link":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/","title":{"rendered":"PubMatic Announces Second Quarter 2025 Financial Results"},"content":{"rendered":"<div class=\"mw_release\">\n<p align=\"center\">Delivered revenue and adjusted EBITDA ahead of guidance;<\/p>\n<p align=\"center\">Revenue from omnichannel video, including CTV, grew 34% year-over-year and was 41% of total revenue;<\/p>\n<p align=\"center\">CTV revenue grew over 50% year-over-year;<\/p>\n<p align=\"center\">Supply Path Optimization represented 55%+ of total activity; and<\/p>\n<p align=\"center\">Repurchased 3.5 million shares in Q2 2025, representing 7% of fully diluted shares.<\/p>\n<p align=\"justify\">NO-HEADQUARTERS\/REDWOOD CITY, Calif., Aug.  11, 2025  (GLOBE NEWSWIRE) &#8212; PubMatic, Inc. (Nasdaq: PUBM), an independent technology company delivering digital advertising\u2019s supply chain of the future, today reported financial results for the second quarter ending June\u00a030, 2025.<\/p>\n<p align=\"justify\">\u201cWe delivered a strong second quarter, with revenue and adjusted EBITDA exceeding expectations. We added new publishers, streamers and ad buyers to the platform, continued to scale Activate and commerce media, and saw significant growth in sell side targeting,\u201d said Rajeev Goel, co-founder and CEO at PubMatic. \u201cI\u2019ve seen this industry evolve for two decades, and it\u2019s clear that it\u2019s at an inflection point. The lines between SSPs and DSPs are blurring, and AI is fundamentally changing how advertising is created, transacted, and optimized. This is reshaping the programmatic ecosystem, which we believe will be to our advantage. Our end-to-end, AI-powered platform empowers publishers and ad buyers to demand more performance, control, and transparency. Our key priority is to diversify our DSP mix, advance our leadership in CTV,\u00a0and invest in the highest growth areas. I\u2019m confident we are building a stronger, more resilient business, well positioned to capture long-term growth and market share.\u201d<\/p>\n<p align=\"justify\">\n        <strong><br \/>\n          <u>Second Quarter 2025 Financial Highlights<\/u><br \/>\n        <\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt;text-align:justify\">Revenue in the second quarter of 2025 was $71.1 million, an increase of 6% over $67.3 million in the same period of 2024;<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Net dollar-based retention<sup>1<\/sup> was 102% for the trailing twelve-months ended June\u00a030, 2025, compared to 108% in the comparable trailing twelve-month period a year ago;<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">GAAP net loss was $(5.2) million with a margin of (7)%, or $(0.11) per diluted share in the second quarter, compared to GAAP net income of $2.0 million with a margin of 3%, or $0.04 per diluted share in the same period of 2024;<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Adjusted EBITDA was $14.2 million, or 20% margin, compared to $21.1 million, or a 31% margin, in the same period of 2024;<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Non-GAAP net income was $2.5 million, or $0.05 per diluted share in the second quarter, compared to Non-GAAP net income of $9.7 million, or $0.17 per diluted share in the same period of 2024;<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Net cash provided by operating activities was $14.9 million, an increase over $11.9 million in the same period of 2024;<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Total cash, cash equivalents, and marketable securities of $117.6 million as of June\u00a030, 2025 with no debt;<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Through June\u00a030, 2025, used $178.2 million to repurchase 12.2\u00a0million shares of Class A common stock, representing 24% of fully diluted shares as of the program\u2019s inception.<\/li>\n<\/ul>\n<p align=\"justify\">The section titled \u201cNon-GAAP Financial Measures\u201d below describes our usage of non-GAAP financial measures. Reconciliations between historical GAAP and non-GAAP information are contained at the end of this press release following the accompanying financial data.<\/p>\n<p align=\"justify\">\n        <strong><br \/>\n          <u>Business Highlights<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p align=\"justify\">\n        <strong>Omnichannel platform drives revenue in key secular growth areas <\/strong>\u00a0\u00a0<\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt;text-align:justify\">Revenue from CTV grew over 50% year-over-year. PubMatic recently added a major top 5 U.S. streamer, increasing market penetration to 26 of the top 30 global streamers, or 87%.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Revenue from omnichannel video, which includes CTV, grew 34% year-over-year and represented 41% of total revenue.<\/li>\n<\/ul>\n<p align=\"justify\">\n        <strong>End-to-End Platform Drives Customer Adoption, Increased Performance and Scale <\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt;text-align:justify\">In July we launched Live Sports Marketplace, allowing advertisers to access live sports inventory from FanServ, MLB, FuboTV, DirecTV, Spectrum Reach and Roku. Growth from live sports continues to climb with buyer activity in the first half of 2025 up nearly three times over the same period last year.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Supply Path Optimization represented 55%+ of total activity on our platform in Q2 2025, up from 51% a year ago, driven by Activate, CTV Marketplaces, and robust sell-side targeting capabilities.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Buying activity on Activate more than doubled sequentially in the second quarter over the first quarter, with more than 90% of campaigns achieving or exceeding client KPIs. PayPal is leveraging Activate to combine their unique transaction-based audience data from over 430 million accounts with PubMatic&#8217;s premium inventory to streamline campaign execution for advertisers across multiple formats including CTV.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Diversified\u00a0DSP mix, with growth of 20%+ year over year in ad spend from performance marketers and mid-tier DSPs. These buyers such as MNTN and tvScientific are rapidly scaling ad spend on PubMatic as they prioritize access to premium supply, addressable audiences, and full-funnel sell-side solutions. Collectively, these buyers strengthen our platform and bring better demand diversity, buyer resilience, and platform stickiness.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Trainline, Europe\u2019s leading train and coach app with 27 million active customers worldwide, leverages PubMatic\u2019s SSP, Connect and OpenWrap offerings to drive incremental, performance-based revenue at scale. This expansive integration enables Trainline to monetize both on-site inventory and offsite activations.<\/li>\n<\/ul>\n<p align=\"justify\">\n        <strong>Launched New AI-Powered Capabilities<\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt;text-align:justify\">Enhanced PubMatic Assistant, an AI-powered analytics engine, to allow publishers and buyers to access insights, troubleshoot issues, and guide campaign decisions through an intuitive, chat-based interface.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Launched predictive diagnostics to detect yield anomalies in real time and surface optimization opportunities via agentic AI workflows to improve publisher monetization with less manual effort.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Released a dynamic floor yield module, currently in beta, that uses live auction signals to adjust pricing per impression, outperforming static solutions in early testing.<\/li>\n<\/ul>\n<p align=\"justify\">\n        <strong>Owned and operated infrastructure drives operational efficiencies<\/strong>\n      <\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt;text-align:justify\">Infrastructure optimization initiatives combined with limited capex drove nearly 78 trillion impressions processed in Q2 2025, an increase of 28% over Q2 2024.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Cost of revenue per million impressions processed decreased 20% on a trailing twelve month period, as compared to the prior period.<\/li>\n<\/ul>\n<p align=\"justify\">\u201cWe delivered a strong second quarter, exceeding both revenue and adjusted EBITDA guidance as our business mix shifts toward high-margin revenue, including CTV, Activate, and sell side targeting and curation.\u201d said Steve Pantelick, CFO at PubMatic. \u201cWhile our outlook includes a reduction in ad spend from one of our top DSP partners, the underlying health of the business remains strong while we mitigate the impact. Additionally, we are optimizing resources to focus on key priorities that include: diversifying DSP mix and accelerating investment on the buy-side, growing CTV, scaling emerging revenue streams, and integrating AI across our tech stack and operations. We have a healthy balance sheet and generate positive cash flow and are confident in the long-term strategy to drive durable, accelerated growth, increased profitability, and maximized shareholder value.\u201d<\/p>\n<p>\n        <strong><br \/>\n          <u>Financial Outlook<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p align=\"justify\">Our outlook assumes that general market conditions do not significantly deteriorate as it relates to current macroeconomic and geopolitical conditions.<\/p>\n<p>Accordingly, we estimate the following for the third quarter of 2025:<\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt;text-align:justify\">Revenue to be between $61 million to $66 million, inclusive of an impact from one of our top DSP buyers.<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Adjusted EBITDA to be in the range of $7 million to $10 million, representing approximately a 13% margin at the midpoint. Adjusted EBITDA expectation assumes a negative foreign currency exchange impact predominantly from Euro and Pound Sterling expenses.<\/li>\n<\/ul>\n<p align=\"justify\">Although we provide guidance for adjusted EBITDA, we are not able to provide guidance for net income, the most directly comparable GAAP measure. Certain elements of the composition of GAAP net income, including stock-based compensation expenses, are not predictable, making it impractical for us to provide guidance on net income or to reconcile our adjusted EBITDA guidance to net income without unreasonable efforts. For the same reason, we are unable to address the probable significance of the unavailable information.<\/p>\n<p align=\"justify\">\n        <strong><br \/>\n          <u>Conference Call and Webcast details<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p align=\"justify\">PubMatic will host a conference call to discuss its financial results on Tuesday, August\u00a011, 2025 at 1:30 p.m. Pacific Time (4:30 p.m. Eastern Time). A live webcast of the call can be accessed from PubMatic\u2019s Investor Relations website at https:\/\/investors.pubmatic.com. An archived version of the webcast will be available from the same website after the call.<\/p>\n<p align=\"justify\">\n        <strong><br \/>\n          <u>Non-GAAP Financial Measures<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p align=\"justify\">In addition to our results determined in accordance with U.S. generally accepted accounting principles (GAAP), including, in particular operating income (loss), net cash provided by operating activities, and net income (loss), we believe that adjusted EBITDA, adjusted EBITDA margin, non-GAAP net income, non-GAAP net income per diluted share and free cash flow, each a non-GAAP measure, are useful in evaluating our operating performance. We define adjusted EBITDA as net income (loss) adjusted for stock-based compensation expense, depreciation and amortization, interest income, and provision for (benefit from) income taxes. Adjusted EBITDA margin represents adjusted EBITDA calculated as a percentage of revenue. We define non-GAAP net income as net income (loss) adjusted for stock-based compensation expense and adjustments for income taxes. We define non-GAAP free cash flow as net cash provided by operating activities reduced by purchases of property and equipment and capitalized software development costs.<\/p>\n<p align=\"justify\">In addition to operating income (loss) and net income (loss), we use adjusted EBITDA, non-GAAP net income, and free cash flow as measures of operational efficiency. We believe that these non-GAAP financial measures are useful to investors for period to period comparisons of our business and in understanding and evaluating our operating results for the following reasons:<\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:6pt;text-align:justify\">Adjusted EBITDA and non-GAAP net income are widely used by investors and securities analysts to measure a company\u2019s operating performance without regard to items such as stock-based compensation expense, depreciation and amortization, interest expense, and benefit from income taxes that can vary substantially from company to company depending upon their financing, capital structures and the method by which assets were acquired; and,<\/li>\n<li style=\"margin-top:6pt;text-align:justify\">Our management uses adjusted EBITDA, non-GAAP net income, and free cash flow in conjunction with GAAP financial measures for planning purposes, including the preparation of our annual operating budget, as a measure of operating performance or, in the case of free cash flow, as a measure of liquidity, and the effectiveness of our business strategies and in communications with our board of directors concerning our financial performance; and adjusted EBITDA provides consistency and comparability with our past financial performance, facilitates period-to-period comparisons of operations, and also facilitates comparisons with other peer companies, many of which use similar non-GAAP financial measures to supplement their GAAP results.<\/li>\n<\/ul>\n<p align=\"justify\">Our use of non-GAAP financial measures has limitations as an analytical tool, and you should not consider them in isolation or as a substitute for analysis of our financial results as reported under GAAP. Some of these limitations are as follows:<\/p>\n<ul type=\"disc\">\n<li style=\"margin-top:7pt;text-align:justify\">Adjusted EBITDA does not reflect: (a) changes in, or cash requirements for, our working capital needs; (b) the potentially dilutive impact of stock-based compensation; or (c) tax payments that may represent a reduction in cash available to us;<\/li>\n<li style=\"margin-top:7pt;text-align:justify\">Although depreciation and amortization expense are non-cash charges, the assets being depreciated and amortized may have to be replaced in the future, and adjusted EBITDA does not reflect cash capital expenditure requirements for such replacements or for new capital expenditure requirements; and<\/li>\n<li style=\"margin-top:7pt;text-align:justify\">Non-GAAP net income does not include: (a) the potentially dilutive impact of stock-based compensation; and (b) income tax effects for stock-based compensation<\/li>\n<\/ul>\n<p align=\"justify\">Because of these and other limitations, you should consider adjusted EBITDA, non-GAAP net income, and free cash flow along with other GAAP-based financial measures, including net income (loss) and cash flow from operating activities, and our GAAP financial results.<\/p>\n<p align=\"justify\">\n        <strong><br \/>\n          <u>Forward Looking Statements<\/u><br \/>\n        <\/strong>\n      <\/p>\n<p align=\"justify\">This press release contains \u201cforward-looking statements\u201d regarding our future business expectations, including our guidance relating to our revenue and adjusted EBITDA for the third quarter of 2025 and capex for the full year 2025, our expectations regarding our total addressable market, future market growth, and our ability to gain market share. These forward-looking statements are based on our current expectations and assumptions regarding our business, the economy and other future conditions and may differ materially from actual results due to a variety of factors including: our dependency on the overall demand for advertising and the channels we rely on; our existing customers not expanding their usage of our platform, or our failure to attract new publishers and buyers; our ability to maintain and expand access to spend from buyers and valuable ad impressions from publishers; the rejection of the use of digital advertising by consumers through opt-in, opt-out or ad-blocking technologies or other means; our failure to innovate and develop new solutions that are adopted by publishers; the war between Ukraine and Russia and the ongoing conflict between Israel and Palestine, and the related measures taken in response by the global community; the impacts of inflation, tariffs and recessionary fears as well as fiscal tightening, changes in the interest rate and currency exchange environments and continuing volatility in global capital markets; global macroeconomic uncertainty; limitations imposed on our collection, use or disclosure of data about advertisements; the lack of similar or better alternatives to the use of third-party cookies, mobile device IDs or other tracking technologies if such uses are restricted; any failure to scale our platform infrastructure to support anticipated growth and transaction volume; liabilities or fines due to publishers, buyers, and data providers not obtaining consents from consumers for us to process their personal data; any failure to comply with laws and regulations related to data privacy, data protection, information security, and consumer protection; and our ability to manage our growth. Moreover, we operate in a competitive and rapidly changing market, and new risks may emerge from time to time. For more information about risks and uncertainties associated with our business, please refer to the \u201cManagement\u2019s Discussion and Analysis of Financial Condition and Results of Operations\u201d and \u201cRisk Factors\u201d sections of our SEC filings, including but not limited to, our annual report on Form 10-K and quarterly reports on Form 10-Q, copies of which are available on our investor relations website at https:\/\/investors.pubmatic.com and on the SEC website at www.sec.gov. Additional information will also be set forth in our Quarterly Report on Form 10-Q for the quarter ended June\u00a030, 2025. All information in this press release is as of August\u00a011, 2025. We undertake no obligation to update any forward-looking statement, whether as a result of new information, future developments or otherwise, except as may be required by law.<\/p>\n<p align=\"justify\">\n        <strong>About PubMatic<\/strong>\n      <\/p>\n<p align=\"justify\">PubMatic is an independent technology company maximizing customer value by delivering digital advertising\u2019s supply chain of the future. PubMatic\u2019s sell-side platform empowers the world\u2019s leading digital content creators across the open internet to control access to their inventory and increase monetization by enabling marketers to drive return on investment and reach addressable audiences across ad formats and devices. Since 2006, PubMatic\u2019s infrastructure-driven approach has allowed for the efficient processing and utilization of data in real time. By delivering scalable and flexible programmatic innovation, PubMatic improves outcomes for its customers while championing a vibrant and transparent digital advertising supply chain.<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"8\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"8\" style=\"text-align: center;vertical-align: middle\">\n            <strong>CONDENSED CONSOLIDATED BALANCE SHEETS<\/strong><br \/>\n            <br \/>\n            <strong>(In thousands)<\/strong><br \/>\n            <br \/>\n            <strong>(unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td colspan=\"3\">\u00a0<\/td>\n<td>\u00a0<\/td>\n<td colspan=\"3\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>June 30,<\/strong><br \/>\n            <br \/>\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>December 31,<\/strong><br \/>\n            <br \/>\n            <strong>2024<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>ASSETS<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Current assets<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:73%;width:73%;min-width:73%;vertical-align: bottom\">Cash and cash equivalents<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">90,476<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">100,452<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Marketable securities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">27,089<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">40,135<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Accounts receivable, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">383,403<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">424,814<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Prepaid expenses and other current assets<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,994<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">10,145<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Total current assets<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">512,962<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">575,546<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Property, equipment and software, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">51,584<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">58,522<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating lease right-of-use assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">41,888<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">44,402<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Acquisition-related intangible assets, net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,494<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,284<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Goodwill<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">29,577<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">29,577<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Deferred tax assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">33,889<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">24,864<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other assets, non-current<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,826<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,324<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">TOTAL ASSETS<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">675,220<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">739,519<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>LIABILITIES AND STOCKHOLDERS&#8217; EQUITY<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Current liabilities<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Accounts payable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">361,369<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">386,602<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Accrued liabilities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">20,983<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">26,365<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating lease liabilities, current<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,391<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">5,843<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Total current liabilities<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">388,743<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">418,810<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Operating lease liabilities, non-current<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">38,857<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">39,538<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Other liabilities, non-current<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,336<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,908<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">TOTAL LIABILITIES<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">431,936<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">462,256<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Stockholders&#8217; equity<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Common stock<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Treasury stock<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(190,687<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(146,796<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Additional paid-in capital<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">299,113<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">275,304<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Accumulated other comprehensive income (loss)<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">161<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(636<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Retained earnings<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">134,691<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">149,385<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">TOTAL STOCKHOLDERS\u2019 EQUITY<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">243,284<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">277,263<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">TOTAL LIABILITIES AND STOCKHOLDERS&#8217; EQUITY<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">675,220<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">739,519<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"16\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"16\" style=\"text-align: center;vertical-align: middle\">\n            <strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS<\/strong><br \/>\n            <br \/>\n            <strong>(In thousands, except per share data)<\/strong><br \/>\n            <br \/>\n            <strong>(unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended June 30,<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six Months Ended June 30,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:45%;width:45%;min-width:45%;vertical-align: top\">Revenue<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">71,095<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">67,267<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">134,920<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">133,968<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Cost of revenue<sup>(1)<\/sup><\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">26,612<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">25,160<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">52,200<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">50,584<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Gross profit<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">44,483<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">42,107<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">82,720<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">83,384<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Operating expenses:<sup>(1)<\/sup><\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Technology and development<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,116<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8,659<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17,888<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,619<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Sales and marketing<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">25,200<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,095<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">51,999<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">47,910<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">General and administrative<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">15,628<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14,338<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">30,197<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">28,365<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Total operating expenses<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,944<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">46,092<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">100,084<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">92,894<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Operating loss<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,461<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,985<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(17,364<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(9,510<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Interest income<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,379<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,340<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,972<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,904<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Other income (expense), net<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,988<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,028<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,002<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,286<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Income (loss) before income taxes<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(6,070<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,383<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(17,394<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(320<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Provision for (benefit from) income taxes<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(862<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">412<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,700<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">163<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Net income (loss)<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,208<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,971<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,694<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(483<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Basic and diluted net income (loss) per share of Class A and Class B stock<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.11<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.04<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.31<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.01<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Weighted-average shares used to compute net income (loss) per share attributable to common stockholders:<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: double black 3pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Basic<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">47,185<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,780<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">47,763<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,910<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">47,185<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">55,577<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">47,763<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,910<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        <sup>(1)<\/sup>Stock-based compensation expense includes the following:<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"16\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"16\" style=\"text-align: center;vertical-align: middle\">\n            <strong>STOCK-BASED COMPENSATION EXPENSE<\/strong><br \/>\n            <br \/>\n            <strong>(In thousands)<\/strong><br \/>\n            <br \/>\n            <strong>(unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended June 30,<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six Months Ended June 30,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong><br \/>\n            <strong><br \/>\n              <br \/>\n            <\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong><br \/>\n            <strong><br \/>\n              <br \/>\n            <\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong><br \/>\n            <strong><br \/>\n              <br \/>\n            <\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong><br \/>\n            <strong><br \/>\n              <br \/>\n            <\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:45%;width:45%;min-width:45%;vertical-align: bottom\">Cost of revenue<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">474<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">494<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">948<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">931<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;border-top: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Technology and development<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,628<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,644<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,213<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,085<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Sales and marketing<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,465<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,472<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,928<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,710<\/td>\n<td style=\"padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">General and administrative<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,234<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">4,089<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8,410<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">8,084<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Total stock-based compensation expense<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,801<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,699<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">19,499<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">18,810<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"left\">\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"8\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"8\" style=\"text-align: center;vertical-align: middle\">\n            <strong>CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS<\/strong><br \/>\n            <br \/>\n            <strong>(In thousands)<\/strong><br \/>\n            <br \/>\n            <strong>(unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six Months Ended June 30,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">\n            <strong>CASH FLOW FROM OPERATING ACTIVITIES:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:73%;width:73%;min-width:73%;vertical-align: top\">Net loss<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,694<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(483<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Adjustments to reconcile net loss to net cash provided by operating activities:<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: top\">Depreciation and amortization<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,537<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">22,548<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: top\">Stock-based compensation<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">19,499<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">18,810<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: top\">Deferred income taxes<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(9,024<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(8,732<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: top\">Accretion of discount on marketable securities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(819<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,460<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: top\">Non-cash operating lease expense<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,710<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">3,475<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: top\">Other<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(278<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 20.0px;vertical-align: top\">Changes in operating assets and liabilities:<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: top\">Accounts receivable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">41,412<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,881<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: top\">Prepaid expenses and other assets<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(340<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,397<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: top\">Accounts payable<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(25,865<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,768<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: top\">Accrued liabilities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,559<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">56<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: top\">Operating lease liabilities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,328<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,970<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 30.0px;vertical-align: top\">Other liabilities, non-current<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">275<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">277<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Net cash provided by operating activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">30,526<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,238<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">\n            <strong>CASH FLOWS FROM INVESTING ACTIVITIES:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Purchases of property and equipment<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,781<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,537<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Capitalized software development costs<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(11,180<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(11,526<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Purchases of marketable securities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(26,026<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(96,565<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Proceeds from maturities of marketable securities<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">39,859<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">103,758<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Net cash used in investing activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(128<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,870<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">\n            <strong>CASH FLOWS FROM FINANCING ACTIVITIES:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Payment of business combination indemnification claims holdback<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,148<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Proceeds from issuance of common stock for employee stock purchase plan<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,357<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,451<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Proceeds from exercise of stock options<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,174<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,274<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Principal payments on finance lease obligations<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(70<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(65<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: top\">Payments to acquire treasury stock<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(43,649<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(35,868<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Net cash used in financing activities<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(41,188<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(35,356<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">NET DECREASE IN CASH AND CASH EQUIVALENTS<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(10,790<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,988<\/td>\n<td style=\"border-top: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">Effect of foreign currency on cash<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">814<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u2014<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">CASH AND CASH EQUIVALENTS &#8211; Beginning of period<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">100,452<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">78,509<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: top\">CASH AND CASH EQUIVALENTS &#8211; End of period<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">90,476<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">73,521<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"left\">\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"16\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"16\" style=\"text-align: center;vertical-align: middle\">\n            <strong>RECONCILIATION OF GAAP TO NON-GAAP FINANCIAL MEASURES<\/strong><br \/>\n            <br \/>\n            <strong>(In thousands, except per share amounts)<\/strong><br \/>\n            <br \/>\n            <strong>(unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended June 30,<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six Months Ended June 30,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>Reconciliation of net income (loss):<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:45%;width:45%;min-width:45%;vertical-align: bottom\">Net income (loss)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,208<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,971<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,694<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(483<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Add back (deduct):<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Stock-based compensation<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,801<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,699<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">19,499<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">18,810<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Depreciation and amortization<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,861<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,336<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,537<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">22,548<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Interest income<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,379<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,340<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,972<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,904<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Provision for (benefit from) income taxes<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(862<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">412<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,700<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">163<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted EBITDA<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14,213<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">21,078<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">22,670<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,134<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Revenue<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">71,095<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">67,267<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">134,920<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">133,968<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjusted EBITDA margin<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">20<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">31<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">17<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">27<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">%<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended June 30,<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six Months Ended June 30,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>Reconciliation of net income (loss) per share:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:45%;width:45%;min-width:45%;vertical-align: bottom\">Net income (loss)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(5,208<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">1,971<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(14,694<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:10%;width:10%;min-width:10%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(483<\/td>\n<td style=\"max-width:2%;width:2%;min-width:2%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Add back (deduct):<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Stock-based compensation<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,801<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,699<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">19,499<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">18,810<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Adjustment for income taxes<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,068<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,999<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,123<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(3,885<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Non-GAAP net income<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">2,525<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,671<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">682<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14,442<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">GAAP diluted EPS<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.11<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.04<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.31<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(0.01<\/td>\n<td style=\"border-top: double black 3pt;border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Non-GAAP diluted EPS<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.05<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.17<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.01<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">0.26<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">GAAP weighted average shares outstanding\u2014diluted<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">47,185<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">55,577<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">47,763<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">49,910<\/td>\n<td style=\"border-top: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Non-GAAP weighted average shares outstanding\u2014diluted<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">50,539<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">55,577<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">51,498<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">55,291<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p align=\"justify\">Reported GAAP diluted loss per share for the three months ended June 30, 2025, and the six months ended both June 30, 2025 and 2024, were calculated using basic share count. Non-GAAP diluted earnings per share for the three months ended June 30, 2025, and the six months ended both June 30, 2025 and 2024, were calculated using diluted share count which includes approximately 3 million, 4 million, and 5 million shares, respectively, of dilutive securities related to employee stock awards. Reported GAAP and Non-GAAP diluted earnings per share for the three months ended June 30, 2024 was calculated using diluted share count which includes approximately 6 million shares of dilutive securities related to employee stock awards.<\/p>\n<table style=\"border-collapse: collapse;width:100%;border-collapse:collapse\">\n<tr>\n<td colspan=\"16\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td colspan=\"16\" style=\"text-align: center;vertical-align: middle\">\n            <strong>SUPPLEMENTAL CASH FLOW INFORMATION<\/strong><br \/>\n            <br \/>\n            <strong>COMPUTATION OF FREE CASH FLOW, A NON-GAAP MEASURE<\/strong><br \/>\n            <br \/>\n            <strong>(In thousands)<\/strong><br \/>\n            <br \/>\n            <strong>(unaudited)<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<td>\u00a0<\/td>\n<td colspan=\"7\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Three Months Ended June 30,<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"7\" style=\"border-bottom: solid black 1pt;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>Six Months Ended June 30,<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2025<\/strong>\n          <\/td>\n<td style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;border-bottom: solid black 1pt;padding-right: 0;text-align: center;vertical-align: middle;vertical-align: bottom\">\n            <strong>2024<\/strong>\n          <\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">\n            <strong>Reconciliation of cash provided by operating activities:<\/strong>\n          <\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td colspan=\"3\" style=\"border-top: solid black 1pt;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"max-width:45%;width:45%;min-width:45%;vertical-align: bottom\">Net cash provided by operating activities<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">14,905<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">11,944<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">30,526<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"max-width:11%;width:11%;min-width:11%;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">36,238<\/td>\n<td style=\"max-width:1%;width:1%;min-width:1%;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Less: Purchases of property and equipment<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,340<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(736<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(2,781<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(1,537<\/td>\n<td style=\"padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: middle;text-align: left;padding-left: 10.0px;vertical-align: bottom\">Less: Capitalized software development costs<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,300<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(4,295<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(11,180<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">(11,526<\/td>\n<td style=\"border-bottom: solid black 1pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">)<\/td>\n<\/tr>\n<tr>\n<td style=\"vertical-align: bottom\">Free cash flow<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">9,265<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">6,913<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">16,565<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">$<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;padding-right: 0;text-align: right;vertical-align: middle;vertical-align: bottom\">23,175<\/td>\n<td style=\"border-top: solid black 1pt;border-bottom: double black 3pt;padding-left: 0;text-align: left;vertical-align: middle;vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<td style=\"vertical-align: bottom\">\u00a0<\/td>\n<\/tr>\n<\/table>\n<p>\n        \n      <\/p>\n<hr \/>\n<p align=\"justify\">\n        <sup>1<\/sup> Net dollar-based retention is calculated by starting with the revenue from publishers in the trailing twelve months ended June 30, 2024 (Prior Period Revenue). We then calculate the revenue from these same publishers in the trailing twelve months ended June 30, 2025 (Current Period Revenue). Current Period Revenue includes any upsells and is net of contraction or attrition, but excludes revenue from new publishers. Our net dollar-based retention rate equals the Current Period Revenue divided by Prior Period Revenue. Net dollar-based retention rate is an important indicator of publisher satisfaction and usage of our platform, as well as potential revenue for future periods<\/p>\n<p>      <img decoding=\"async\" alt=\"\" class=\"__GNW8366DE3E__IMG\" src=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=\" \/><br \/>\n      <br \/>\n      <img decoding=\"async\" alt=\"\" src=\"https:\/\/ml.globenewswire.com\/media\/OTg4MWNiZDMtZDIxOC00NmI3LTg2YTAtYTM0YmRkM2Q3MDQyLTExMTE0MjAtMjAyNS0wOC0xMS1lbg==\/tiny\/PubMatic-Inc-.png\" \/>\n    <\/div>\n<div class=\"mw_contactinfo\">\n<pre>Investors:\r\nThe Blueshirt Group for PubMatic\r\ninvestors@pubmatic.com\r\n\r\nPress Contact:\r\nBroadsheet Communications for PubMatic\r\npubmaticteam@broadsheetcomms.com<\/pre>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Delivered revenue and adjusted EBITDA ahead of guidance; Revenue from omnichannel video, including CTV, grew 34% year-over-year and was 41% of total revenue; CTV revenue grew over 50% year-over-year; Supply Path Optimization represented 55%+ of total activity; and Repurchased 3.5 million shares in Q2 2025, representing 7% of fully diluted shares. NO-HEADQUARTERS\/REDWOOD CITY, Calif., Aug. 11, 2025 (GLOBE NEWSWIRE) &#8212; PubMatic, Inc. (Nasdaq: PUBM), an independent technology company delivering digital advertising\u2019s supply chain of the future, today reported financial results for the second quarter ending June\u00a030, 2025. \u201cWe delivered a strong second quarter, with revenue and adjusted EBITDA exceeding expectations. We added new publishers, streamers and ad buyers to the platform, continued to scale Activate and commerce media, and saw &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;PubMatic Announces Second Quarter 2025 Financial Results&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-874161","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PubMatic Announces Second Quarter 2025 Financial Results - Market Newsdesk<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PubMatic Announces Second Quarter 2025 Financial Results - Market Newsdesk\" \/>\n<meta property=\"og:description\" content=\"Delivered revenue and adjusted EBITDA ahead of guidance; Revenue from omnichannel video, including CTV, grew 34% year-over-year and was 41% of total revenue; CTV revenue grew over 50% year-over-year; Supply Path Optimization represented 55%+ of total activity; and Repurchased 3.5 million shares in Q2 2025, representing 7% of fully diluted shares. NO-HEADQUARTERS\/REDWOOD CITY, Calif., Aug. 11, 2025 (GLOBE NEWSWIRE) &#8212; PubMatic, Inc. (Nasdaq: PUBM), an independent technology company delivering digital advertising\u2019s supply chain of the future, today reported financial results for the second quarter ending June\u00a030, 2025. \u201cWe delivered a strong second quarter, with revenue and adjusted EBITDA exceeding expectations. We added new publishers, streamers and ad buyers to the platform, continued to scale Activate and commerce media, and saw &hellip; Continue reading &quot;PubMatic Announces Second Quarter 2025 Financial Results&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Market Newsdesk\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-11T21:38:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=\" \/>\n<meta name=\"author\" content=\"Newsdesk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Newsdesk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/\"},\"author\":{\"name\":\"Newsdesk\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"headline\":\"PubMatic Announces Second Quarter 2025 Financial Results\",\"datePublished\":\"2025-08-11T21:38:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/\"},\"wordCount\":3138,\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=\",\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/\",\"name\":\"PubMatic Announces Second Quarter 2025 Financial Results - Market Newsdesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=\",\"datePublished\":\"2025-08-11T21:38:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=\",\"contentUrl\":\"https:\\\/\\\/www.globenewswire.com\\\/newsroom\\\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/pubmatic-announces-second-quarter-2025-financial-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PubMatic Announces Second Quarter 2025 Financial Results\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#website\",\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/\",\"name\":\"Market Newsdesk\",\"description\":\"Latest Business News in Real Time\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/#\\\/schema\\\/person\\\/482f27a394d4fda80ecb5499e519d979\",\"name\":\"Newsdesk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g\",\"caption\":\"Newsdesk\"},\"url\":\"https:\\\/\\\/www.marketnewsdesk.com\\\/index.php\\\/author\\\/newsdesk\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PubMatic Announces Second Quarter 2025 Financial Results - Market Newsdesk","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/","og_locale":"en_US","og_type":"article","og_title":"PubMatic Announces Second Quarter 2025 Financial Results - Market Newsdesk","og_description":"Delivered revenue and adjusted EBITDA ahead of guidance; Revenue from omnichannel video, including CTV, grew 34% year-over-year and was 41% of total revenue; CTV revenue grew over 50% year-over-year; Supply Path Optimization represented 55%+ of total activity; and Repurchased 3.5 million shares in Q2 2025, representing 7% of fully diluted shares. NO-HEADQUARTERS\/REDWOOD CITY, Calif., Aug. 11, 2025 (GLOBE NEWSWIRE) &#8212; PubMatic, Inc. (Nasdaq: PUBM), an independent technology company delivering digital advertising\u2019s supply chain of the future, today reported financial results for the second quarter ending June\u00a030, 2025. \u201cWe delivered a strong second quarter, with revenue and adjusted EBITDA exceeding expectations. We added new publishers, streamers and ad buyers to the platform, continued to scale Activate and commerce media, and saw &hellip; Continue reading \"PubMatic Announces Second Quarter 2025 Financial Results\"","og_url":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/","og_site_name":"Market Newsdesk","article_published_time":"2025-08-11T21:38:58+00:00","og_image":[{"url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=","type":"","width":"","height":""}],"author":"Newsdesk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Newsdesk","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/#article","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/"},"author":{"name":"Newsdesk","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"headline":"PubMatic Announces Second Quarter 2025 Financial Results","datePublished":"2025-08-11T21:38:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/"},"wordCount":3138,"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/","url":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/","name":"PubMatic Announces Second Quarter 2025 Financial Results - Market Newsdesk","isPartOf":{"@id":"https:\/\/www.marketnewsdesk.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/#primaryimage"},"image":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=","datePublished":"2025-08-11T21:38:58+00:00","author":{"@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979"},"breadcrumb":{"@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/#primaryimage","url":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk=","contentUrl":"https:\/\/www.globenewswire.com\/newsroom\/ti?nf=OTUxMDI1OSM3MDkyNjY3IzIwOTk4NDk="},{"@type":"BreadcrumbList","@id":"https:\/\/www.marketnewsdesk.com\/index.php\/pubmatic-announces-second-quarter-2025-financial-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.marketnewsdesk.com\/"},{"@type":"ListItem","position":2,"name":"PubMatic Announces Second Quarter 2025 Financial Results"}]},{"@type":"WebSite","@id":"https:\/\/www.marketnewsdesk.com\/#website","url":"https:\/\/www.marketnewsdesk.com\/","name":"Market Newsdesk","description":"Latest Business News in Real Time","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.marketnewsdesk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.marketnewsdesk.com\/#\/schema\/person\/482f27a394d4fda80ecb5499e519d979","name":"Newsdesk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a0d0bd5b0f0ca12a265a459b13169dac35f33776d8501eda5e68844a366f2f46?s=96&d=mm&r=g","caption":"Newsdesk"},"url":"https:\/\/www.marketnewsdesk.com\/index.php\/author\/newsdesk\/"}]}},"_links":{"self":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/874161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/comments?post=874161"}],"version-history":[{"count":0,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/posts\/874161\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/media?parent=874161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/categories?post=874161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marketnewsdesk.com\/index.php\/wp-json\/wp\/v2\/tags?post=874161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}