Canadian Prime Minister Justin Trudeau has been hit by gravel thrown by protesters during a campaign stop.
Trudeau called a snap election in mid-August, in the hope of gaining a majority government for his left-of-centre Liberal party.
But his campaign has been disrupted by demonstrations against Covid-19 vaccine mandates and other restrictions.
Just over a week ago, the prime minister was forced to cancel an election rally after a crowd of angry protesters ambushed the event.
Commercial air, cruise and interprovincial train passengers must also be vaccinated to travel.
Canada has one of the highest Covid vaccination rates in the world.