# This file is included by several other projects as the list of people
# approving build related projects.

# AMER
ahumesky@google.com
alexmarquez@google.com
asmundak@google.com
ccross@android.com
cparsons@google.com
dwillemsen@google.com
eakammer@google.com
jobredeaux@google.com
joeo@google.com
lamontjones@google.com
spandandas@google.com
weiwli@google.com
yudiliu@google.com
yuntaoxu@google.com

# APAC
jingwen@google.com
ruperts@google.com

# EMEA
hansson@google.com
lberki@google.com
paulduffin@google.com
