# This file contains name to mail address mappings that are usefull
# for old svn based commits (to get nice names instead of mail in blame and
# other tools)
Adam Klein <adamk@google.com>
Adam Singer <financeCoding@gmail.com>
Ahmed Hussein <husseina@google.com>
Alan Knight <alanknight@google.com>
Alan Leung <acleung@google.com>
Alexander Aprelev <aprelev@gmail.com>
alf Filippov <alexeif@google.com>
Amin Shali <amshali@google.com>
Anders Johnsen <ajohnsen@google.com>
Anders Sandholm <sandholm@google.com>
Andrei Mouravski <amouravski@google.com>
Anton Muhin <antonm@google.com>
Asger Feldthaus <asgerf@google.com>
Ben Laurie <benl@google.com>
Ben Wells <benwells@google.com>
Bill Hesse <whesse@google.com>
Bob Nystrom <rnystrom@google.com>
Bradley Nelson <bradnelson@google.com>
Brian Wilkerson <brianwilkerson@google.com>
Carl Shapiro <cshapiro@google.com>
Charlie Reis <creis@google.com>
Chip Brown <chipb@google.com>
Chris Bracken <cbracken@google.com>
Dan Grove <dgrove@google.com>
Daniel Andersson <koda@google.com>
Daniel Tang <tangd@google.com>
Dan Rice <rice@google.com>
Dan Rubel <danrubel@google.com>
David Carlson <dcarlson@google.com>
David Chandler <drfibonacci@google.com>
Devon Carew <devoncarew@google.com>
Dominic Cooney <dominicc@google.com>
Dominic Hamon <dominich@google.com>
Douglas Stockwell <dstockwell@google.com>
Eli Brandt <eub@google.com>
Emily Fortuna <efortuna@google.com>
Eric Arnold <ericarnold@google.com>
Eric Ayers <zundel@google.com>
Erik Arvidsson <arv@google.com>
Erik Corry <erikcorry@google.com>
Erik Ernst <eernst@google.com>
Fabio Valbuena <fabiomfv@google.com>
Florian Loitsch <floitsch@google.com>
Florian Schneider <fschneider@google.com>
Florin Malita <fmalita@google.com>
Gilad Bracha <gbracha@google.com>
Gram Wheeler <gram@google.com>
Greg Bigelow <gregbglw@google.com>
Gustav Wibling <wibling@google.com>
Hannes Payer <hpayer@google.com>
Harry Roeck <hroeck@google.com>
Harry Terkelsen <het@google.com>
Ian Zerny <zerny@google.com>
Igor Sheludko <ishell@google.com>
Ivan Posva <iposva@google.com>
Jack Palevich <jackpal@google.com>
Jacob Macdonald <jakemac@google.com>
Jacob Richman <jacobr@google.com>
Jaime Wren <jwren@google.com>
Jakob Gruber <jgruber@google.com>
Jakob Kummerow <jkummerow@google.com>
Janice Leung <janicejl@google.com>
Jason Rosenberg <jbrosenberg@google.com>
Jim Hugunin <jimhug@google.com>
Joel Webber <jgw@google.com>
John Lenz <johnlenz@google.com>
John McCutchan <johnmccutchan@google.com>
John McDole <codefu@google.com>
John Messerly <jmesserly@google.com>
Johnni Winther <johnniwinther@google.com>
John Tamplin <jat@google.com>
Jørgen Fogh <jrgfogh@google.com>
Joshua Bloch <jjb@google.com>
Justin Fagnani-Bell <justinfagnani@google.com>
Karl Klose <karlklose@google.com>
Kasper Lund <kasperl@google.com>
Kathy Walrath <kathyw@google.com>
Keerti Parthasarathy <keertip@google.com>
Kelly Norton <knorton@google.com>
Kentaro Hara <haraken@google.com>
Kevin Millikin <kmillikin@google.com>
Kevin Moore <kevmoo@google.com>
Kevin Moore <kevmoo@j832.com>
Konstantin Shcheglov <scheglov@google.com>
Lars Bak <bak@google.com>
Lasse Nielsen <lrn@google.com>
Leaf Petersen <leafp@google.com>
Lukas Rytz <lry@google.com>
Luke Church <lukechurch@google.com>
Luke Church <lukeEChurch@gmail.com>
Mads Ager <ager@google.com>
Mark Lentczner <mzero@google.com>
Mark Russell <mrrussell@google.com>
Martin Kustermann <kustermann@google.com>
Mary Campione <mcampione@google.com>
Matthias Hausner <hausner@google.com>
Matt May <mmay@google.com>
Matt Shulman <mattsh@google.com>
Max Heinritz <meh@google.com>
Mehmet Akin <mdakin@google.com>
Michael Achenbach <machenbach@google.com>
Michael Lippautz <mlippautz@google.com>
Michael Starzinger <mstarzinger@google.com>
Miguel Mendez <mmendez@google.com>
Natalie Weizenbaum <nweiz@google.com>
Nathan Collins <collinsn@google.com>
Nicolas Garnier <nivco@google.com>
Nicolas Geoffray <ngeoffray@google.com>
Nicolas Sylvain <nsylvain@google.com>
Nike Igotti (Николай Иготти) <olonho@google.com>
Paul Berry <paulberry@google.com>
Paul Brauner <polux@google.com>
Pavel Podivilov <podivilov@google.com>
Peng Li <lipeng@google.com>
Pete Blois <blois@google.com>
Peter Hallam <peterhal@google.com>
Peter Rybin <prybin@google.com>
Peter von der Ahé <ahe@google.com>
Philip Rogers <pdr@google.com>
Phil Quitslund <pquitslund@google.com>
Rafael Weinstein <rafaelw@google.com>
Raja Aluri <aluri@google.com>
Rajeev Dayal <rdayal@google.com>
Regis Crelier <regis@google.com>
Rico Wind <ricow@google.com>
Rodrigo Chandía <rchandia@google.com>
Roman Shuvaev <smok@google.com>
Ryan Macnak <rmacnak@google.com>
Sam Hopkins <samhop@google.com>
Sam Rawlins <srawlins@google.com>
Sarah Zakarias <zarah@google.com>
Sasha Bermeister <sashab@google.com>
Seth Ladd <sethladd@google.com>
Shailen Tuli <shailentuli@google.com>
Shams Zakhour <shaza@google.com>
Shauvik Roy Choudhary <shauvik@google.com>
Siggi Cherem <sigmund@google.com>
Sigurd Meldgaard <sigurdm@google.com>
Siva Annamalai <asiva@google.com>
Søren Gjesse <sgjesse@google.com>
Srdjan Mitrovic <srdjan@google.com>
Stephan Herhut <herhut@google.com>
Stephen Adams <sra@google.com>
Stephen Chenney <schenney@google.com>
Steve Messick <messick@google.com>
Tayler Mandel <tmandel@google.com>
Terry Lucas <terry@google.com>
Tim Blasi <tjblasi@google.com>
Todd Turnidge <turnidge@google.com>
Tom Ball <tball@google.com>
Ty Overby <tyoverby@google.com>
Ulan Degenbaev <ulan@google.com>
Ulan Degenbaev <ulan@google.com>
Vijay Menon <vsm@google.com>
Vitaly Repeshko <vitalyr@google.com>
Vyacheslav "Slava" Egorov <vegorov@google.com>
Zach Anderson <zra@google.com>
