# 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>
Adam Treat <adam.treat@samsung.com>
Adenilson Cavalcanti <a.cavalcanti@partner.samsung.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>
Alexis Menard <alexis.menard@intel.com>
Ali Vathi <ali.akbar@gmail.com>
Amruth Raj <amruthraj@motorola.com>
Amruth Raj <ckqr36@motorola.com>
Anastasios Cassiotis <tom.cassiotis@gmail.com>
Andrei Parvu <andrei.prv@gmail.com>
Andrei Parvu <parvu@adobe.com>
Andrew Brampton <me@bramp.net>
Antonio Gomes <a1.gomes@sisa.samsung.com>
Arthur Lussos <developer0420@gmail.com>
Arun Mankuzhi <arun.m@samsung.com>
Balazs Kelemen <b.kelemen@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>
Brendan Long <self@brendanlong.com>
Brian G. Merrell <bgmerrell@gmail.com>
Brian Merrell, Novell Inc. <bgmerrell@gmail.com>
Bruno Calvignac <bruno@flock.com>
Bruno de Oliveira Abinader <bruno.d@partner.samsung.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@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>
Craig Schlenter <craig.schlenter@gmail.com>
Dai Chunyang <chunyang.dai@intel.com>
Daniel Nishi <dhnishi@gmail.com>
Daniel Shaulov <dshaulov@ptc.com>
Daniel Trebbien <dtrebbien@gmail.com>
David Benjamin <davidben@mit.edu>
David Erceg <erceg.david@gmail.com>
David Futcher <david.mike.futcher@gmail.com>
Derek Halman <d.halman@gmail.com>
Devlin Cronin <rdevlin.cronin@gmail.com>
Dillon Sellars <dill.sellars@gmail.com>
Dominic Jodoin <dominic.jodoin@gmail.com>
Dominik Röttsches <dominik.rottsches@intel.com>
Don Woodward <woodward@adobe.com>
Dongseong Hwang <dongseong.hwang@intel.com>
Dongwoo Joshua Im <dw.im@samsung.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>
George Liaskos <geo.liaskos@gmail.com>
Giuseppe Iuculano <giuseppe@iuculano.it>
Glenn Adams <glenn@chromium.org>
Goutham Jagannatha <wrm364@motorola.com>
Grzegorz Czajkowski <g.czajkowski@samsung.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>
Hautio Kari <khautio@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 Knoll <joe.knoll@workday.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>
Kalyan Kondapally <kalyan.kondapally@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>
Krzysztof Wolanski <k.wolanski@samsung.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>
Lorenzo Stoakes <lstoakes@gmail.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>
Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
Mingmin Xie <melvinxie@gmail.com>
Mirela Budaes <mbudaes@gmail.com>
Mirela Budaes <mbudaes@adobe.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 Adolph <padolph@netflix.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>
Pavan Kumar Emani <pavan.e@samsung.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 <r.kasibhatla@samsung.com>
Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
Rene Bolldorf <rb@radix.io>
Rijubrata Bhaumik <rijubrata.bhaumik@intel.com>
Rob Buis <rob.buis@samsung.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>
Scott Blomquist <sblom@microsoft.com>
Sean Bryant <sean@cyberwang.net>
Seo Sanghyeon <sanxiyn@gmail.com>
Seokju Kwon <seokju.kwon@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>
Soren Dreijer <dreijerbit@gmail.com>
Stephen Searles <stephen.searles@gmail.com>
Steven Pennington <spenn@engr.uvic.ca>
Suchit Agrawal <a.suchit@samsung.com>
Sudarsana Babu Nagineni <sudarsana.nagineni@intel.com>
Sudarshan Parthasarathy <sudarshan.p@samsung.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>
Tim Ansell <mithro@mithis.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>
Victor Costan <costan@gmail.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>
Yang Gu <yang.gu@intel.com>
Yarin Kaul <yarin.kaul@gmail.com>
Yoav Weiss <yoav@yoav.ws>
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>
Zeno Albisser <zeno.albisser@digia.com>
Zheng Chuang <zhengchuangscu@gmail.com>
方觉 (Fang Jue) <fangjue23303@gmail.com>

Code Aurora Forum <*@codeaurora.org>
Comodo CA Limited
Google Inc. <*@google.com>
NVIDIA Corporation <*@nvidia.com>
Opera Software ASA <*@opera.com>
The Chromium Authors <*@chromium.org>
The MathWorks, Inc. <binod.pant@mathworks.com>
Torchmobile Inc.
Venture 3 Systems LLC <*@venture3systems.com>
Yandex LLC <*@yandex-team.ru>
