# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#

Google Inc. <*@google.com>

Alexandre Ardhuin <alexandre.ardhuin@gmail.com>
Honza Bittner <git@honzabittner.cz>
Patrice Chalin <pchalin@gmail.com>
Maxim Dikun <dikmax@gmail.com>
Xavier Hainaux <xavier.hainaux@gmail.com>
Alexey Knyazev <lexa.knyazev@gmail.com>
Jawahar <jawahars_16@live.in>
Keisuke Kishida <kishidak@tcd.ie>
Guillermo López-Anglada <guillermo.lopez@outlook.com>
Parker Lougheed <parlough@gmail.com>
Juan Pablo Paulsen <juanpablo.paulsen@gmail.com>
Luke Pighetti <git@lukepighetti.com>
Nolan Scobie <nolan.scobie@gmail.com>
Cameron Steffen <cam.steffen94@gmail.com>
Ivan Tugay <listepo@gmail.com>
Rohan Vanheusden <rohan.vanheusden@gmail.com>
