# Global approvers - only to be used as a last resort.
asiva@google.com #{LAST_RESORT_SUGGESTION}
athom@google.com #{LAST_RESORT_SUGGESTION}
devoncarew@google.com #{LAST_RESORT_SUGGESTION}
kustermann@google.com #{LAST_RESORT_SUGGESTION}
leafp@google.com #{LAST_RESORT_SUGGESTION}
sigmund@google.com #{LAST_RESORT_SUGGESTION}
vegorov@google.com #{LAST_RESORT_SUGGESTION}
vsm@google.com #{LAST_RESORT_SUGGESTION}

# DEPS
per-file DEPS=file:/tools/OWNERS_ENG

# Changelog, AUTHORS, and .git* do not require approval.
per-file CHANGELOG.md,AUTHORS,WATCHLISTS,.gitattributes,.gitconfig,.gitignore,sdk.code-workspace=*

# Product documentation
per-file CONTRIBUTING.md,LICENSE,PATENT_GRANT,README.*,SECURITY.md,sdk_packages.yaml=file:/tools/OWNERS_PRODUCT

# Top level build files
per-file .clang-format,.gn,BUILD.gn,sdk_args.gni=file:/tools/OWNERS_BUILD

# Infrastructure files.
per-file .style.yapf,codereview.settings,PRESUBMIT.py=file:/tools/OWNERS_INFRA
