A majestic performance from Roger Federer saw him win in straight sets and progress to the semi-finals; Novak Djokovic is out, and cannot now end the year as world No 1