The head of Iran's Revolutionary Guards has declared the defeat of the "sedition" in the country, referring to a wave of anti-government protests.
Maj Gen Mohammad Ali Jafari made the announcement as tens of thousands of people attended pro-government rallies called to counter the unrest.
It began last Thursday in the city of Mashhad and has seen 21 people killed.
The protests were initially against price rises and corruption, but turned to wider anti-government sentiment.
They have been the largest since the disputed 2009 presidential election.
What was the general's announcement?
Gen Jafari said: "Today, we can say that this is the end of the 96 sedition," referring to the current year - 1396 - in the Persian calendar.
He said "security preparedness and people's vigilance" had led to the defeat of "enemies" and that the Guards had only intervened in a "limited" way in three provinces.
He added: "There were a maximum of 1,500 people in each place and the number of troublemakers did not exceed 15,000 people nationwide."
The general blamed anti-revolutionary agents, pro-monarchists and forces which he said had been "announced by [US-ex Secretary of State Hillary] Clinton to create riot, anarchy, insecurity and intrigue in Iran".
The "enemies" had tried to pose "cultural, economic and security threats against Islamic Iran", he said.
His comments echoed those by Supreme Leader Ayatollah Ali Khamenei on Tuesday, which also blamed unspecified "enemies" and which analysts believed referred to the US, Israel and Saudi Arabia.
But the general also blamed a "former official" for the protests, in a comment analysts believe referred to ex-President Mahmoud Ahmadinejad, who has been critical of government officials, in particular Judiciary Chief Sadegh Amoli Larijani, in recent weeks.
What about the rallies?
State television broadcast some of the pro-government rallies live.
Among those holding events were the cities of Kermanshah, Ilam and Gorgan.
Some marchers carried Iranian flags and images of Supreme Leader Ayatollah Ali Khamenei.
In the city of Qom, marchers chanted "death to American mercenaries". Chants elsewhere included "the blood in our veins is a gift to our leader" and "the seditionist rioters should be executed".
Are protests still going on?
There were fewer reports of unrest overnight, although it has been difficult to confirm what has been happening on the streets of many cities, and social media were still carrying videos and other posts about the protests.
State TV said shots had been fired at a bank and police station in central Isfahan province, but no casualties were reported.
There was a lower police presence in the capital, Tehran, overnight.
One unconfirmed report on Wednesday spoke of three policemen being killed in West Azerbaijan province.
The unrest has tended to begin after nightfall.
What has the US approach been?
President Donald Trump has tweeted regularly in support of the protesters and did so again on Wednesday morning.
Such respect for the people of Iran as they try to take back their corrupt government. You will see great support from the United States at the appropriate time!— Donald J. Trump (@realDonaldTrump) January 3, 2018
On Tuesday, US envoy to the UN Nikki Haley branded as "complete nonsense" Iran's suggestion that external enemies were fomenting the unrest.
She said: "The people of Iran are crying out for freedom. All freedom-loving people must stand with their cause."
Mr Trump must decide by mid-January whether to re-impose sanctions that were eased when world powers struck a deal with Iran in 2015 that curbed its nuclear programme.
The US president has regularly called the agreement a bad deal.