# Use this reviewer by default.
pixel-sw-exp-reviews+gerrit@google.com

# People who can approve changes for submission
asapperstein@google.com
asargent@google.com
dehboxturtle@google.com
dhnishi@google.com
edgarwang@google.com
emilychuang@google.com
jackqdyulei@google.com
lindatseng@google.com
mfritze@google.com
rafftsai@google.com
tmfang@google.com
zhfan@google.com

# Emergency approvers in case the above are not available
miket@google.com

# Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
per-file *.xml=*
