# Below is a list of people and organizations that have contributed
# to the Dart project. Names should be added to the list like so:
#
#   Name/Organization <email address>

Google Inc.
The V8 project authors
Arm Ltd. <*@arm.com>

Ola Martin Bini <ola.bini@gmail.com>
Michael Haubenwallner <michael.haubenwallner@gmail.com>
Ladislav Thon <ladicek@gmail.com>
John Evans <prujohn@gmail.com>
Lajos Koszti <ajnasz@ajnasz.hu>
Kevin Moore <kevmoo@j832.com>
Austin Cummings <austincummings95@gmail.com>
Alexander Aprelev <aprelev@gmail.com>
Christopher Stone <chris.stone@gmail.com>
Kevin Kellogg <kelloggk@gmail.com>
Matthew Butler <butler.matthew@gmail.com>
Andy Trevorah <a.trevorah@gmail.com>
Jingwen Ou <jingweno@gmail.com>
Chris Strom <chris.eee@gmail.com>
Adam Singer <financeCoding@gmail.com>
Chris Buckett <chrisbuckett@gmail.com>
Thiago Farina <tfarina@chromium.org>
Sami Ylönen <sami.ylonen@gmail.com>
David Gomez <irisindigo@gmail.com>
Nikolaus Graf <nik@blossom.io>
Alexandre Ardhuin <alexandre.ardhuin@gmail.com>
Victor Berchet <victor.berchet@gmail.com>
Roel Spilker <r.spilker@gmail.com>
Martin Charles <martincharles07@gmail.com>
Anders Holmgren <andersmholmgren@gmail.com>
K. Alex Gann <k.alexgann@gmail.com>
Kenneth Endfinger <kaendfinger@gmail.com>
Cristian Almstrand <cristian.almstrand@gmail.com>
Ryan Macnak <rmacnak@gmail.com>
