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)
* Jon Flatley (jon-flatley)
* Srikrishna Iyer (sriyerg)
* Udi Jonnalagadda (udinator)
* Eunchan Kim (eunchan)
* Martin Lueker-Boden (martin-lueker)
* Rasmus Madsen (rasmus-madsen)
* Felix Miller (felixmiller)
* 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)
