# Use this reviewer by default.
# gnl-eng@google.com (Googlers only)

# People who can approve changes for submission
#

alexchau@google.com
andraskloczl@google.com
patmanning@google.com
petrcermak@google.com
pbdr@google.com
kideckel@google.com
stevenckng@google.com
ydixit@google.com
boadway@google.com
alinazaidi@google.com
adamcohen@google.com
hyunyoungs@google.com
mrcasey@google.com
sunnygoyal@google.com
awickham@google.com
twickham@google.com
winsonc@google.com
zakcohen@google.com
santie@google.com
vadimt@google.com
mett@google.com
jonmiranda@google.com
pinyaoting@google.com
sfufa@google.com
gwasserman@google.com
jamesoleary@google.com
joshtrask@google.com
mrenouf@google.com
mkephart@google.com
hwwang@google.com
tracyzhou@google.com
peanutbutter@google.com
xuqiu@google.com
sreyasr@google.com
thiruram@google.com

per-file FeatureFlags.java, globs = set noparent
per-file FeatureFlags.java = sunnygoyal@google.com, winsonc@google.com, zakcohen@google.com, mrcasey@google.com, adamcohen@google.com, hyunyoungs@google.com
