Contributed by Ali Emre Doğramacı
Contributed by Étienne Aubert Bonn
Contributed by Eliott Grunewald