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

# People who can approve changes for submission
#

adamcohen@google.com
hyunyoungs@google.com
twickham@google.com
vadimt@google.com
winsonc@google.com
jonmiranda@google.com
alexchau@google.com
patmanning@google.com
awickham@google.com

# Launcher workspace eng team
captaincole@google.com
sunnygoyal@google.com
charlander@google.com
fbaron@google.com
fengjial@google.com
fransebas@google.com
pinyaoting@google.com
andonian@google.com
sihua@google.com

# Multitasking eng team
tracyzhou@google.com
peanutbutter@google.com
jeremysim@google.com

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