# Compiled python files.
*.pyc
# Files open in vi.
*.swp
# Compiled cfg files.
*.cfgc
# gclient files
.gclient*
# recipe DEPS
infra/bots/.recipe_deps
# common code
**/res/common
# TAGS
*TAGS
*tags
# Files used by bugdroid.
.bugdroid_password
services/bugdroid/bugdroid_log.txt
# Data files used by webpages_playback.py
# Eclipse project files
.project
.pydevproject
**/client_secret.json
**/client_secret_swarming.json
**/client_secret_skia-buildbots.json
**/client_secret_skia-swarming-bots.json
**/service-account.json
**/google_storage_token.data
**/gcloud_token.data
**/gcloud_token_skia-buildbots.data
**/gcloud_token_skia-swarming-bots.data
git_cookie_authdaemon/third_party
google_oauth_token.data
oauth-token.cache
# Bower and Node related directories
node_modules
bower_components
# Sublime project files
*.sublime-project
*.sublime-workspace
# IntelliJ GoLand project files
.idea
*.iml
# Generated for Go package.
pdfium/build
# Generated by the 'absent' tool
prometheus/sys/absent.rules
# Server executables/config
**/res/vul/
**/res/js/core-debug.js
**/res/js/core.js
fuzzer/res/css/fuzzer.css
fuzzer/third_party
perf/bqtoken.data
perf/res/css/perf.css
perf/res/common
perf/third_party
perf/timestamp.json
perf/local.toml
perf/client_secrets.json
perf/go/ingester/testdata/local-ingest-test/
push/third_party
push/res/common
sksysmon/third_party
sksysmon/res/common
doc/res/common
doc/res/css/docs.css
doc/third_party
alertserver/third_party
status/third_party
android_ingest/third_party
android_compile/third_party
res/imp/res
res/imp/9/res
res/imp/9/res/js
res/imp/9/bower_components
# Ignore all SQLite databases, because tests will create their own unique ones.
*.db
tracedb/local_perf.toml
fiddle/fiddle_secwrap
fiddle/res/css
prometheus/tmp
# Jupyter
.ipynb_checkpoints
# Prober
prober/allprobers.json5
proberk/allprobersk.json
# Push
push/allskiapush.json5
# AP
dist
# jsdoc
common/out
push/out
ap/out
jsdoc/out
# lottiecap
lottiecap/filmstrip.png
# promk
promk/tmp
promk/tmpconf
promk/prometheus/absent_*.yml
# kube
**/chat_config.txt
.vscode
tracedb/build
skolo/build
# Symlinks.
autoroll/res/res
status/res/res
status/res/imp/task_driver_sk-bundle.css
status/res/imp/task_driver_sk-bundle.js
gold-client/build

# gitignore template for Bazel build system
# website: https://bazel.build/

# Ignore all bazel-* symlinks. There is no full list since this can change
# based on the name of the directory bazel is cloned into.
/bazel-*