Incumbent Utah Attorney General Sean Reyes emerged Tuesday night with a healthy lead in early returns over challenger Utah County Attorney David Leavitt in their hard-hitting Republican primary.

Reyes received 54% of the vote compared with 46% for Leavitt, according to partial unofficial returns.

Officials expect that it may be days or weeks before a clear winner emerges because of delays in normal processing of by-mail votes due to COVID-19. It could take days for ballots cast as late as election day to arrive in the mail, and they will be quarantined for 24 hours before they are counted as a precaution.

A final canvass will be in three weeks.

Reyes said he was pleased with early results, and “we hope to increase our lead over the coming days.”

He added, “It is an honor as attorney general to stand watch over and defend Utah. I look forward to continuing my momentum into a November reelection victory so I can continue to serve and protect all Utahns.”

For his part, Leavitt said his campaign “was enthused by the momentum and support that built all the way to election day.”

“As we continue watching the results‚” he added, “we know our message of reforming Utah’s criminal justice system resonated with voters and that the discussion and awareness will develop as we strive to make the criminal justice system serve our state better. We look forward to the final result.”

Interestingly, Reyes was winning Salt Lake County by a narrow 51% to 49% margin, while in Leavitt’s home Utah County, the incumbent attorney general led by a wider 54.5% to 45.5%.

Leavitt — who battled and recovered from COVID-19 during the race — repeatedly said that Reyes keeps a “for sale” sign on the attorney general’s office by doing the bidding of big donors, fails to properly oversee controversial no-bid contracts and ignores Utah issues to seek fame on international human-trafficking raids.

Reyes countered that Leavitt is unqualified, proposes judicial reforms that are unrealistic and too expensive, and spent much of the past decade in Ukraine and Moldova advising their governments while Reyes was working in Utah.

When their campaign financial disclosures were filed last week, Leavitt again said they reveal Reyes is selling his office — while the incumbent said they offer evidence that Leavitt is trying to buy it with personal money.

Forms show that Reyes’ campaign raised $1.4 million during his four-year term. But just $400,000 was spent during this election year.

“The reason why I say that the attorney general’s office is for sale is because people give him huge quantities of money,” Leavitt said. “He spends very little of it on actual campaign-related events. And, at the end of the day, he’s spent it on himself or for the benefit of his friends.”

Meanwhile, forms showed Leavitt provided his campaign with $350,000 out of his own wallet, and members of his extended family gave another $39,000 — including $5,000 from his brother, former Utah Gov. Mike Leavitt.

Alan Crooks, campaign manager for Reyes, said Leavitt’s self-funding shows he “is a rich, elitist and entitled hypocrite. In 2008, he spent over $500,000 in only a five-week period trying to buy his way into an elected office [Congress]. He is on pace to spend even more in this race. He failed then, and he will fail again.”

Also jumping into their race was the Republican Attorneys General Association, which spent nearly $300,000 to campaign independently on behalf of Reyes besides giving him $125,000 directly. Leavitt has said that money bought Reyes’ support for RAGA’s partisan efforts, such as pushing for the release of President Donald Trump’s former national security adviser Michael Flynn.

Leavitt also complained that RAGA accepts money from many groups that do not disclose their own donors, providing a path for contributors to Reyes to remain anonymous.

“That’s nothing different than a money laundering organization,” Leavitt said.

He added, “It makes you wonder why an association for Republican attorneys general would pump so much money into a Republican primary. The reason is that Sean Reyes is bought and paid for by RAGA, and they know that I won’t be.”

Some questionable donations Reyes accepted also fueled attacks by Leavitt. Among controversial contributions Reyes took included $51,000 from principals of Washakie Renewable Resources — most of whom have ties to the Kingston polygamist group. Five pleaded or were found guilty on federal charges in a fraud scheme involving $1.1 billion from a government biofuel program.

In 2016, Crooks said the campaign would put the questionable donation money in escrow pending the outcome of the Washakie investigation. The campaign later refused to return the money, saying it had been spent.

Some other controversial donations Reyes accepted include $5,000 from Bristlecone Holdings, which has been criticized in the news media for a possibly fraudulent lending operation.

He also took $5,000 from the Habematolel Pomo of Upper Lake tribe in California, which had been sued by federal regulators for its payday loan operations, although the lawsuit was later withdrawn.

During the three nonelection years, analysis by The Salt Lake Tribune shows, Reyes also accepted $66,000 from multilevel marketing firms; $32,500 from high-interest lenders that offer payday or title loans; $26,000 from timeshare companies; $18,000 from tobacco or e-cigarette companies; and $5,000 from a casino.

Meanwhile, Reyes attacked reform proposals by Leavitt to reduce plea bargains and have more trials by jury — which Leavitt has called the most important issue in the race.

“Certainly criminal justice reform is an important issue, but it’s not the most important issue,” Reyes said in a debate. “And anybody who tells you that is not qualified to be the attorney general.” He also warned Leavitt’s proposals would be too expensive and would grind the system to a halt.

Reyes has been attorney general since 2013. Leavitt has been the Utah County attorney since last year and previously was the Juab County attorney. The winner will face Democratic nominee Greg Skordas in the general election.

Clarification: 7/1/20 12:48 a.m. This story was updated to reflect additional votes counted by Utah County.