Britain's three-year Brexit saga took another dramatic twist on Tuesday, with the outcome still tortuously tough to predict.
In a landmark vote, MPs finally backed an EU divorce deal - only then to reject Prime Minister Boris Johnson's rushed timetable to turn it into law ahead of the country's scheduled October 31 departure date.
The decision makes that deadline almost impossible to meet, but it does not kill the deal - the first that has got a majority in parliament.
Here are the possible scenarios ahead:
Legislation passed last month stated that unless MPs backed a divorce deal by October 19, Johnson must write to EU leaders asking for Brexit to be postponed for three months to January 31, 2020.
The prime minister reluctantly sent the letter late on Saturday, and EU leaders are still considering their response.
Now that MPs have tentatively supported his agreement, but objected to it being rushed through parliament, Brussels may offer a brief delay to allow the deal space to be ratified.
Johnson told lawmakers after Tuesday's votes that he would "pause" the parliamentary process while the EU decides on an extension, and insisted Britain should still leave on October 31.
But that left open the possibility of a short "technical" delay to allow for a new parliamentary timetable to pass the legislation in the coming weeks.
European Council President Donald Tusk said before Tuesday's votes that the EU leaders' decision would "very much depend on what the British parliament decides" but added: "A no-deal Brexit will never be our decision."
Despite Johnson being adamant he will not delay Brexit for months, the EU may also offer Britain the option of a longer extension - which opposition MPs argue the premier would be compelled by law to accept.
European leaders could claim a longer delay is necessary to give the country enough time to resolve the issue.
Legislation of this type would normally take months and must be approved again by the House of Commons as well as by the upper House of Lords.
There is a real risk MPs could try to hijack its passage and attach various amendments, for example to make approval subject to negotiating a future customs union with the bloc or even to hold a new referendum.
A longer delay could also allow for a general election.
The default legal position is that Britain leaves the EU on October 31 unless the other 27 member states agree to a delay.
Business and markets across Europe fear the shock of a sudden Brexit that even the government's own assessment says would cause economic damage, raising the chances that the EU will offer an extension.
Despite EU leaders claiming they would never cause a no-deal Brexit, their decision to offer a delay must be unanimous and any one of the 27 member states could block such a move.
In that highly unlikely scenario, Britain would crash out of the bloc at the end of next week.
Johnson warned MPs ahead of the votes on Tuesday that he would pull his Brexit deal legislation and try to hold a general election if they rejected his timetable - although he did not repeat the threat afterwards.
Riding high in the polls, he has already unsuccessfully tried twice to get an early election to win back a majority in parliament, and seemed buoyed by having secured MPs' initial approval for his new Brexit deal.
But he needs the support of the main opposition Labour Party for an election to be called and it has so far resisted.
Labour says it would back an election when the threat of a "no deal" Brexit is off the table.
A second referendum?
Labour says any deal should be subject to a new referendum, and has promised to call one if it takes office.
Some MPs may try to force the issue during the passage of the Brexit deal legislation, although it is far from clear that they have the numbers to succeed.