The final day of the Europa League group stage is here and we've got a rundown of each group, who has advanced and who still has work to do.
It's the final match day of the Europa League group stages and there's still plenty to be determined across Europe's other club tournament.
We're going to cruise through each group and let you know where everyone stands and the games that matter in determining who will advance to he knockout rounds. All times listed at E.T.
Group A
St Gallen vs. Swansea City | 1:00 p.m.
Valencia vs. Kuban Krasnodar | 1:00 p.m.
Valencia have won the group but the battle for second between Swansea City and Kuban is still on, though the Swans just need a point to advance. Kuban must defeat Valencia to have any hope of jumping into second place.
Group B
Dinamo Zagreb vs. Ludogorets Razgrad | 1:00 p.m.
PSV Eindhoven vs. Chornomorets | 1:00 p.m.
Ludogorets Razgrad have won the group while PSV and Chornomorets -- who play on Thursday -- are tied at seven points. With PSV holding the tiebreaker, Chronomorets must win to advance while PSV need just a point.
Group C
Standard Liege vs. Elfsborg | 1:00 p.m.
SV Salzburg vs. Esbjerg | 1:00 p.m.
SV Salzburg and Esbjerg are both through to the next round but the top spot is still up for grabs. Salzburg won the first meeting 2-1 so Esbjerg will need to win and overturn that -1 goal differential to take first place.
Group D
NK Maribor vs. Wigan Athletic | 1:00 p.m.
Zulte-Waregem vs. FK Rubin Kazan | 1:00 p.m.
Zulte-Waregem can clinch second place with a win over group winner Rubin Kazan. For Wigan to have any chance to steal second, they'll need to defeat Maribor and hope Zulte loses. Ending tied would do Wigan no good as Zulte holds the tiebreaker.
Group E
Fiorentina vs. Dnipro Dnipropetrovsk | 1:00 p.m.
Pandurii Targu-Jiu vs. Paços de Ferreira | 1:00 p.m.
Fiorentina and Dnipro meet on Wednesay with the top spot in Group E on the line. The Italians need only to win or draw to claim first while Dnipro must win to overtake them.
Group F
Eintracht Frankfurt vs. Apoel Nicosia | 1:00 p.m.
Maccabi Tel-Aviv vs. Bordeaux | 1:00 p.m.
While Eintracht have first place locked up, Maccabi need a point against Bordeaux to ensure they advance as well. A loss by Maccabi combined with an APOEL victory would create a complicated tiebreaker situation with the two teams having played two scoreless draws.
Group G
Dynamo Kiev vs. Rapid Vienna | 3:05 p.m.
FC Thun vs. Racing Genk | 3:05 p.m.
Kiev and Rapid meet for second place, while Racing Genk having already locked up the top spot. Kiev currently hold second with seven point but Rapid are just a point behind. A draw would send Kiev through, so a win is Rapid's only hope to advance.
Group H
Estoril vs. Liberec | 3:05 p.m.
SC Freiburg vs. Sevilla FC | 3:05 p.m.
Sevilla currently sit first in the group and need just a point against Freiburg to make that spot their own. Below them Liberec and Freiburg are tied on six points, but Freiburg have the tiebreaker. Liberec must win against Estoril and hope Freiburg draws or loses.
Group I
Guimaraes vs. Lyon | 3:05 p.m.
Real Betis vs. Rijeka | 3:05 p.m.
Real Betis and Lyon are both guaranteed spots in the next round, but the matter of first place is still not decided. A Lyon win secures first place but a loss or draw by the French side opens the door for Betis.
Group J
Apollon Limassol vs. Legia Warsaw | 3:05 p.m.
Lazio vs. Trabzonspor | 3:05 p.m.
Lazio meets Trabzonspor with first place in the group on the line. A Trabzonspor win secures the group's top spot for them while Lazio can take first with a win. A draw means Trabzonspor finishes in first place.
Group K
Sheriff Tiraspol vs. Tromso | 3:05 p.m.
Tottenham Hotspur vs. Anzhi Makhachkala | 3:05 p.m.
Spurs have locked up first place, Anzhi have locked up second place. Simple as that, nothing to see here.
Group L
Maccabi Haifa vs. Shakhter Karagandy | 3:05 p.m.
PAOK Salonika vs. AZ Alkmaar | 3:05 p.m.
PAOK meets AZ Alkmaar meet for first place in the group. Both teams are guaranteed to advance but after a draw in the first leg, the tiebreaker is wide open. Obviously if one teams win, they take first but a draw would force things down the tiebreaker rules sheet a bit.