Uganda is bracing for a charged vote next week after a campaign mired in disarray and violence, with President Yoweri Museveni accused of seeking to hold onto power at any cost.
Candidates have been arrested, rallies banned, and dozens of protesters killed in the chaotic and bloody run-up to the January 14 election, which is going ahead despite a surging coronavirus pandemic.
Some 18 million voters are registered for the presidential and parliamentary ballot, which pits Museveni and his dominant National Resistance Movement (NRM) against a host of opposition candidates and parties.
The 76-year-old has been president since 1986, making him one of Africa's longest-serving leaders.
His campaign posters -- each in the signature yellow of the ruling party, and bearing a smiling Museveni in his folksy broad-brimmed hat -- are confidently counting down the days to his win.
"We are certain of victory," said the former rebel leader in January.
The same cannot be said for his presidential competitors, who have accused the veteran leader and his government of tilting the playing field unfairly -- and often violently -- against them.
Museveni's strongest challenger, a singer-turned-MP called Bobi Wine, has spent most of the campaign in a bulletproof vest and combat helmet, canvassing for votes from the open top of a moving car.
Security forces have used tear gas and rubber bullets to break up his rallies, and shot dead at least 54 people in two days of violence in November after Wine's arrest sparked widespread protests.
"All my personal aides and assistants have been shot at," the 38-year-old, whose real name is Robert Kyagulanyi said in a recent interview in Kampala.
"As I speak, all my campaign team -- more than 100 people -- have been arrested and are incarcerated in police stations and in military detention."
Wine said he had sent his four children to the United States for the election period over fears for their safety.
Wine has been arrested countless times on the hustings -- starting with the very day he was nominated for the presidency on November 3, sparking clashes between his supporters and police.
Patrick Amuriat, another presidential aspirant, lost his shoes during his own scuffle with police while trying to file his candidacy papers, and now addresses voters barefoot in a symbolic act of defiance.
Other opposition leaders have found their paths to pre-approved campaign events suddenly blocked by police, or arrived in clouds of tear gas to the welcome of baton-wielding riot officers.
Wine was even barred from staying in hotels as he travelled the country and forced to sleep in his car.
In another instance, he was flown 100 kilometres (60 miles) home to Kampala in an army helicopter to stop him meeting supporters.
"You can tell the security forces know this isn't an election," says Makerere University researcher and political scientist Yusuf Serunkuma.
"Would you kick around a guy you suspect could be the next commander in chief? The candidates are standing up against a thing that is immovable."
Uganda's election commission imposed special rules to curb the spread of coronavirus, ordering the campaign be "scientific" without the big rallies and crowded meet-and-greets that normally accompany election season.
But critics say the rules have been selectively applied.
Where Museveni's supporters were permitted to gather in large numbers, Wine's rallies were broken up on public health grounds.
"If you are in the NRM you will do as you please, and if you are the opposition, you must comply", said Serunkuma.
The pandemic measures also benefit Museveni, who can remain highly visible as president, cutting ribbons on new projects and reaching millions of Ugandans through state broadcasters.
Opposition candidates, meanwhile, have seen their radio slots pulled and interviews shut down by police.
And last month Uganda wrote to Google requesting that Wine's YouTube channel Ghetto TV -- one of his only reliable means of reaching voters -- be blocked on national security grounds.
The election commission also suspended campaigning in Kampala -- an opposition stronghold -- citing coronavirus concerns.
"All we are saying is, make the playing field level, and then we are willing to go by the law," said Wine.