# Keep following lines sorted according to `LC_COLLATE=C sort`
*.asc
*.eml
*.iml
*.pyc
*.sublime-*
*.swp
*~
.DS_Store
.gwt_work_dir
/.apt_generated
/.apt_generated_tests
/.bazel_path
/.buckd
/.classpath
/.factorypath
/.idea
/.metadata
/.project
/.settings/org.eclipse.ltk.core.refactoring.prefs
/.settings/org.eclipse.m2e.core.prefs
/.settings/org.maven.ide.eclipse.prefs
/bazel-*
/bin/
/buck-out
/eclipse-out
/extras
/gerrit-package-plugins
/gwt-unitCache
/infer-out
/local.properties
/plugins/cookbook-plugin/
/test_site
/tools/format
