This file contains the list of individuals with write access to the OpenTitan
repository, who are responsible for the final approval and merge of
contributions. See doc/project/committers.md for more information.

Committers are listed alphabetically by surname in the format:
* Full Name (GitHubID)

Committer list:
* Alex Bradbury (asb)
* Greg Chadwick (gregac)
* Cindy Chen (cindychip)
* Timothy Chen (tjaychen)
* Sam Elliott (lenary)
* Jon Flatley (jon-flatley)
* Srikrishna Iyer (sriyerg)
* Scott Johnson (sjgitty)
* Udi Jonnalagadda (udinator)
* Garret Kelly (gkelly)
* Eunchan Kim (eunchan)
* Rasmus Madsen (rasmus-madsen)
* Miguel Osorio (moidx)
* Dominic Rizzo (domrizz0)
* Tom Roberts (tomroberts-lowrisc)
* Michael Schaffner (msfschaffner)
* Rupert Swarbrick (rswarbrick)
* Silvestrs Timofejevs (silvestrst)
* Alphan Ulusoy (alphan)
* Pirmin Vogel (vogelpi)
* Philipp Wagner (imphil)
* Tobias Wölfel (towoe)
* Weicai Yang (weicaiyang)
* Miguel Young (mcy)
