Contributed by Florian Hardwig
Contributed by Stephen Coles
Contributed by Jérôme Knebusch
Contributed by Andreas Kofler
Contributed by Threedotstype