# Keep following lines sorted according to `LC_COLLATE=C sort`
*.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/
/eclipse-out
/extras
/gerrit-package-plugins
/gwt-unitCache
/infer-out
/local.properties
/plugins/cookbook-plugin/
/test_site
/tools/format
/.vscode
/.ijwb
