# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#
# See python fnmatch module documentation for more information.

Aaron Jacobs <samusaaron3@gmail.com>
Aaron Leventhal <aaronlevbugs@gmail.com>
Aaron Randolph <aaron.randolph@gmail.com>
Aditya Bhargava <heuristicist@gmail.com>
Alex Gartrell <agartrell@cmu.edu>
Alex Scheele <alexscheele@gmail.com>
Alexander Sulfrian <alexander@sulfrian.net>
Alexandre Abreu <wiss1976@gmail.com>
Alexandru Chiculita <achicu@adobe.com>
Alexey Korepanov <alexkorep@gmail.com>
Ali Vathi <ali.akbar@gmail.com>
Amruth Raj <amruthraj@motorola.com>
Amruth Raj <ckqr36@motorola.com>
Anastasios Cassiotis <tom.cassiotis@gmail.com>
Andrew Brampton <me@bramp.net>
Arthur Lussos <developer0420@gmail.com>
Arun Mankuzhi <arun.m@samsung.com>
Bem Jones-Bey <bemajaniman@gmail.com>
Bem Jones-Bey <bjonesbe@adobe.com>
Ben Karel <eschew@gmail.com>
Benjamin Jemlich <pcgod99@gmail.com>
Bernard Cafarelli <voyageur@gentoo.org>
Bobby Powers <bobbypowers@gmail.com>
Brian G. Merrell <bgmerrell@gmail.com>
Brian Merrell, Novell Inc. <bgmerrell@gmail.com>
Bruno Calvignac <bruno@flock.com>
Bryan Donlan <bdonlan@gmail.com>
Byungwoo Lee <bw80.lee@samsung.com>
Caio Marcelo de Oliveira Filho <caio.de.oliveira.filho@intel.com>
Catalin Badea <badea@adobe.com>
Cem Kocagil <cem.kocagil@gmail.com>
Chamal De Silva <chamalsl@yahoo.com>
Chandra Shekar Vallala <brk376@motorola.com>
Changbin Shao <changbin.shao@intel.com>
Chaobin Zhang <zhchbin@gmail.com>
Christophe Dumez <ch.dumez@sisa.samsung.com>
Christopher Dale <chrelad@gmail.com>
Clemens Fruhwirth <clemens@endorphin.org>
Clement Scheelfeldt Skau <clementskau@gmail.com>
Clinton Staley <clintstaley@chromium.org>
Clinton Staley <clintstaley@gmail.com>
Code Aurora Forum <*@codeaurora.org>
Craig Schlenter <craig.schlenter@gmail.com>
Dai Chunyang <chunyang.dai@intel.com>
Daniel Nishi <dhnishi@gmail.com>
Daniel Trebbien <dtrebbien@gmail.com>
David Benjamin <davidben@mit.edu>
David Futcher <david.mike.futcher@gmail.com>
Devlin Cronin <rdevlin.cronin@gmail.com>
Dillon Sellars <dill.sellars@gmail.com>
Dominic Jodoin <dominic.jodoin@gmail.com>
Don Woodward <woodward@adobe.com>
Dongseong Hwang <dongseong.hwang@intel.com>
Edward Crossman <tedoc2000@gmail.com>
Ehsan Akhgari <ehsan.akhgari@gmail.com>
Eric Rescorla <ekr@rtfm.com>
Erik Hill <erikghill@gmail.com>
Erik Sjölund <erik.sjolund@gmail.com>
Eriq Augustine <eriq.augustine@gmail.com>
Etienne Laurin <etienne@atnnn.com>
Evan Peterson <evan.peterson.ep@gmail.com>
Evan Wallace <evan.exe@gmail.com>
Evangelos Foutras <evangelos@foutrelis.com>
Fabien Tassin <fta@sofaraway.org>
Felix H. Dahlke <fhd@ubercode.de>
François Beaufort <beaufort.francois@gmail.com>
Francois Kritzinger <francoisk777@gmail.com>
Gaetano Mendola <mendola@gmail.com>
Gajendra Singh <wxjg68@motorola.com>
Gao Chun <gaochun.dev@gmail.com>
Giuseppe Iuculano <giuseppe@iuculano.it>
Goutham Jagannatha <wrm364@motorola.com>
Gyuyoung Kim <gyuyoung.kim@samsung.com>
Haitao Feng <haitao.feng@intel.com>
Halton Huo <halton.huo@intel.com>
Haojian Wu <hokein.wu@gmail.com>
Hongbo Min <hongbo.min@intel.com>
Horia Olaru <horia.olaru@gmail.com>
Horia Olaru <olaru@adobe.com>
Ibrar Ahmed <ibrar.ahmad@gmail.com>
Ion Rosca <rosca@adobe.com>
J. Ryan Stinnett <jryans@chromium.org>
Jacob Mandelson <jacob@mandelson.org>
Jaime Soriano Pastor <jsorianopastor@gmail.com>
Jake Helfert <jake@helfert.us>
Jakob Weigert <jakob.j.w@googlemail.com>
James Choi <jchoi42@pha.jhu.edu>
James Vega <vega.james@gmail.com>
James Wei <james.wei@intel.com>
James Willcox <jwillcox@litl.com>
Janwar Dinata <j.dinata@gmail.com>
Jared Shumway <jaredshumway94@gmail.com>
Jared Wein <weinjared@gmail.com>
Jay Soffian <jaysoffian@gmail.com>
Jesse Miller <jesse@jmiller.biz>
Jesus Sanchez-Palencia <jesus.sanchez-palencia.fernandez.fil@intel.com>
Jin Yang <jin.a.yang@intel.com>
Jingwei Liu <kingweiliu@gmail.com>
Jinwoo Song <jinwoo7.song@samsung.com>
Joe Thomas <mhx348@motorola.com>
Joel Stanley <joel@jms.id.au>
Johannes Rudolph <johannes.rudolph@googlemail.com>
John Yani <vanuan@gmail.com>
Joone Hur <joone.hur@intel.com>
Jorge Villatoro <jorge@tomatocannon.com>
Joseph Gentle <josephg@gmail.com>
Josh Triplett <josh.triplett@intel.com>
Joshua Lock <joshua.lock@intel.com>
Joshua Roesslein <jroesslein@gmail.com>
Josué Ratelle <jorat1346@gmail.com>
Jun Jiang <jun.a.jiang@intel.com>
Junmin Zhu <junmin.zhu@intel.com>
Kamil Jiwa <kamil.jiwa@gmail.com>
Kangil Han <kangil.han@samsung.com>
Kangyuan Shu <kangyuan.shu@intel.com>
Kaspar Brand <googlecontrib@velox.ch>
Kaustubh Atrawalkar <kaustubh.ra@gmail.com>
Keene Pan <keenepan@linpus.com>
Kenneth Rohde Christiansen <kenneth.r.christiansen@intel.com>
Kevin Lee Helpingstine <sig11@reprehensible.net>
Kevin M. McCormick <mckev@amazon.com>
Kihong Kwon <kihong.kwon@samsung.com>
Kim Christensen <kimworking@gmail.com>
Kunal Thakar <kunalt@gmail.com>
Kushal Pisavadia <kushi.p@gmail.com>
Kyle Nahrgang <kpn24@drexel.edu>
Laszlo Gombos <l.gombos@samsung.com>
Laszlo Radanyi <bekkra@gmail.com>
Lauri Oherd <lauri.oherd@gmail.com>
Leith Bade <leith@leithalweapon.geek.nz>
Li Yin <li.yin@intel.com>
Lu Guanqun <guanqun.lu@gmail.com>
Luke Zarko <lukezarko@gmail.com>
Maarten Lankhorst <m.b.lankhorst@gmail.com>
Magnus Danielsson <fuzzac@gmail.com>
Mao Yujie <maojie0924@gmail.com>
Mao Yujie <yujie.mao@intel.com>
Marco Rodrigues <gothicx@gmail.com>
Mark Hahnenberg <mhahnenb@andrew.cmu.edu>
Mark Seaborn <mrs@mythic-beasts.com>
Martin Bednorz <m.s.bednorz@gmail.com>
Masahiro Yado <yado.masa@gmail.com>
Matheus Bratfisch <matheusbrat@gmail.com>
Mathias Bynens <mathias@qiwi.be>
Matt Arpidone <mma.public@gmail.com>
Matthew Robertson <matthewrobertson03@gmail.com>
Matthew Willis <appamatto@gmail.com>
Matthias Reitinger <reimarvin@gmail.com>
Max Perepelitsyn <pph34r@gmail.com>
Max Vujovic <mvujovic@adobe.com>
Michael Gilbert <floppymaster@gmail.com>
Michael Zugelder <michael@zugelder.org>
Mihai Maerean <mmaerean@adobe.com>
Mihai Tica <mihai.o.tica@gmail.com>
Mihai Tica <mitica@adobe.com>
Mike Tilburg <mtilburg@adobe.com>
Mingmin Xie <melvinxie@gmail.com>
Mitchell Rosen <mitchellwrosen@chromium.org>
Mohamed I. Hammad <ibraaaa@gmail.com>
Mohamed Mansour <m0.interactive@gmail.com>
Mrunal Kapade <mrunal.kapade@intel.com>
Myles C. Maxfield <mymax@amazon.com>
Naoki Takano <takano.naoki@gmail.com>
Naveen Bobbili <naveenbobbili@motorola.com>
Naveen Bobbili <qghc36@motorola.com>
Nayan Kumar K <qtc746@motorola.com>
Nikita Ofitserov <himikof@gmail.com>
Ningxin Hu <ningxin.hu@intel.com>
Pan Deng <pan.deng@intel.com>
Parag Radke <nrqv63@motorola.com>
Patrasciuc Sorin Cristian <cristian.patrasciuc@gmail.com>
Patrick Riordan <patrickriordan177@gmail.com>
Paul Kehrer <paul.l.kehrer@gmail.com>
Paul Lind <paul.lind@imgtec.com>
Paul Nettleship <pnettleship@gmail.com>
Paul Robinson <paulrobinson85@googlemail.com>
Paul Wicks <pwicks86@gmail.com>
Pavel Ivanov <paivanof@gmail.com>
Paweł Hajdan jr <phajdan.jr@gmail.com>
Petar Jovanovic <petarj@mips.com>
Peter Beverloo <peter@chromium.org>
Peter Bright <drpizza@quiscalusmexicanus.org>
Peter Brophy <pbrophy@adobe.com>
Peter Collingbourne <peter@pcc.me.uk>
Philippe Beauchamp <philippe.beauchamp@gmail.com>
Philippe Beaudoin <philippe.beaudoin@gmail.com>
Pierre-Antoine LaFayette <pierre.lafayette@gmail.com>
Po-Chun Chang <pochang0403@gmail.com>
Qiankun Miao <qiankun.miao@intel.com>
Radu Stavila <stavila@adobe.com>
Raman Tenneti <raman.tenneti@gmail.com>
Ramkumar Gokarnesan <ramkumar.gokarnesan@gmail.com>
Ramkumar Ramachandra <artagnon@gmail.com>
Randy Posynick <randy.posynick@gmail.com>
Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
Rene Bolldorf <rb@radix.io>
Rijubrata Bhaumik <rijubrata.bhaumik@intel.com>
Robert Bear Travis <bear.travis@gmail.com>
Robert Bear Travis <betravis@adobe.com>
Robert Goldberg <goldberg@adobe.com>
Robert Nagy <robert.nagy@gmail.com>
Robert Sesek <rsesek@bluestatic.org>
Rosen Dash <nqk836@motorola.com>
Rosen Dash <rosen.dash@gmail.com>
ruben <chromium@hybridsource.org>
Ruben Terrazas <rubentopo@gmail.com>
Ryan Norton <rnorton10@gmail.com>
Ryan Sleevi <ryan-chromium-dev@sleevi.com>
Ryuan Choi <ryuan.choi@samsung.com>
Sam Larison <qufighter@gmail.com>
Sam McDonald <sam@sammcd.com>
Sanjoy Pal <ncj674@motorola.com>
Sanjoy Pal <sanjoy.pal@samsung.com>
Sanne Wouda <sanne.wouda@gmail.com>
Sathish Kuppuswamy <sathish.kuppuswamy@intel.com>
Satoshi Matsuzaki <satoshi.matsuzaki@gmail.com>
Sean Bryant <sean@cyberwang.net>
Seo Sanghyeon <sanxiyn@gmail.com>
Sergio Carlos Morales Angeles <carloschilazo@gmail.com>
Sergiy Byelozyorov <rryk.ua@gmail.com>
Seshadri Mahalingam <seshadri.mahalingam@gmail.com>
Sevan Janiyan <venture37@geeklan.co.uk>
ShankarGanesh K <blr.bmlab@gmail.com>
Shez Baig <sbaig1@bloomberg.net>
Shiliu Wang <aofdwsl@gmail.com>
Shouqun Liu <shouqun.liu@intel.com>
Shreyas VA <v.a.shreyas@gmail.com>
Simon Arlott <simon.arlott@gmail.com>
Song YeWen <ffmpeg@gmail.com>
Stephen Searles <stephen.searles@gmail.com>
Steven Pennington <spenn@engr.uvic.ca>
Sudarsana Babu Nagineni <sudarsana.nagineni@intel.com>
Sungguk Lim <limasdf@gmail.com>
Sungmann Cho <sungmann.cho@gmail.com>
Sylvain Zimmer <sylvinus@gmail.com>
Szymon Piechowicz <szymonpiechowicz@o2.pl>
Taylor Price <trprice@gmail.com>
Ted Vessenes <tedvessenes@gmail.com>
Teodora Novkovic <teodora.petrovic@gmail.com>
Thiago Farina <thiago.farina@gmail.com>
Tiago Vignatti <tiago.vignatti@intel.com>
Timo Reimann <ttr314@googlemail.com>
Torsten Kurbad <google@tk-webart.de>
Trevor Perrin <unsafe@trevp.net>
Umar Hansa <umar.hansa@gmail.com>
Vamshikrishna Yellenki <vamshi@motorola.com>
Vedran Šajatović <vedran.sajatovic@gmail.com>
Vernon Tang <vt@foilhead.net>
Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
Viet-Trung Luu <viettrungluu@gmail.com>
Vinay Anantharaman <vinaya@adobe.com>
Vipul Bhasin <vipul.bhasin@gmail.com>
Vivek Galatage <vivek.vg@samsung.com>
Will Hirsch <chromium@willhirsch.co.uk>
Xinchao He <hexinchao@gmail.com>
Xu Samuel <samuel.xu@intel.com>
Yael Aharon <yael.aharon@intel.com>
Yair Yogev <progame@chromium.org>
Yandex LLC <*@yandex-team.ru>
Yang Gu <yang.gu@intel.com>
Yarin Kaul <yarin.kaul@gmail.com>
Yoav Zilberberg <yoav.zilberberg@gmail.com>
Yong Shin <sy3620@gmail.com>
Yongsheng Zhu <yongsheng.zhu@intel.com>
Yoshinori Sano <yoshinori.sano@gmail.com>
YoungKi Hong <simon.hong81@gmail.com>
Yumikiyo Osanai <yumios.art@gmail.com>
Yuri Gorobets <yuri.gorobets@gmail.com>
Zheng Chuang <zhengchuangscu@gmail.com>
方觉 (Fang Jue) <fangjue23303@gmail.com>

Comodo CA Limited
Google Inc. <*@google.com>
NVIDIA Corporation <*@nvidia.com>
Opera Software ASA <*@opera.com>
The Chromium Authors <*@chromium.org>
Torchmobile Inc.
