# This file is needed for projects that has this directory as a separate Git
# mirror in DEPS. Without it, a lot is wiped and re-downloaded for each sync.
/__START__
/accessibility-developer-tools/
/accessibility_test_framework/lib/
/adobe/flash/binaries
/adobe/flash/symbols
/amd/
/android_build_tools/aapt2/aapt2
/android_build_tools/aapt2/lib64/*.so
/android_build_tools/art/dexlayout
/android_build_tools/art/lib/*.so
/android_build_tools/art/profman
/android_build_tools/bundletool/*.jar
/android_ndk/
/android_sdk/public/
/android_sdk/sources/
/android_protobuf/src
/android_support_test_runner/lib/
/android_system_sdk/*.jar
/android_tools/
/android_tools_internal/
/android_webview_glue/src
/androidx/lib/
/angle
/angle_dx11
/apache-portable-runtime/src
/apache-win32/bin/*.exe
/apache-win32/bin/*.dll
/apache-win32/bin/iconv/*.so
/apache-win32/modules/*.so
/apache-win32/modules/*.dll
/apache-mac/bin/httpd
/apache-mac/bin/openssl
/apache-mac/lib/*.dylib
/apache-mac/libexec/apache2/*.so
/apk-patch-size-estimator/lib/
/arcore-android-sdk/src/
/arcore-android-sdk/test-apks/arcore/*.apk
/asan
/auto/src
/bazel/desugar/Desugar.jar
/bison
/boringssl/src
/bouncycastle/lib/
/breakpad/breakpad
/byte_buddy/lib/
/cacheinvalidation/cacheinvalidation_unittests_run.xml
/cardboard-java/src
/catapult
/cct_dynamic_module/src
/ced/src
/checkstyle/*.jar
/chromeos_login_manager
/chromeos_text_input
/chromite
/cld_2/src
/cld_3/src
/colorama/src
/crc32c/src
/cros
/cros_system_api
/custom_tabs_client/src
/cygwin
/dav1d/libdav1d
/dawn
/depot_tools
/devtools-node-modules
/directxsdk
/dom_distiller_js/dist
/elfutils/src
/emoji-segmenter/src
/errorprone/lib
/espresso/lib/
/eyesfree/src
/feed/src
/ffmpeg
/flac
/flatbuffers/src
/fontconfig/src
/freetype/src
/fuchsia-sdk/sdk
/gestures/gestures
/gles1_conform
/gles2_conform
/glfw/src
/glslang/src
/gn/
/gnu_binutils/
/google_android_play_core/core-*.aar
/google_appengine_cloudstorage
/google_toolbox_for_mac/src
/googlemac
/googletest/src
/grpc/src
/gson/lib/
/gvr-android-sdk/common_library.aar
/gvr-android-sdk/test-libraries/controller_test_api.aar
/gvr-android-sdk/libgvr_shim_static_*.a
/gvr-android-sdk/src
/gvr-android-sdk/test-apks/daydream_home/*.apk
/gvr-android-sdk/test-apks/vr_services/*.apk
/gvr-android-sdk/test-apks/vr_keyboard/*.apk
/gperf
/google-truth/lib/
/guava/lib/
/hamcrest/lib/
/harfbuzz-ng/src
/hunspell_dictionaries
/icu
/icu4j/lib/
/intellij/lib/
/instrumented_libraries/scripts/*.tgz
/instrumented_libraries/scripts/out/*
/javax_inject/lib/
/jacoco/lib/
/jsoncpp/source
/jsr-305/src
/junit/src
/khronos_glcts
/leveldatabase/src
/leveldb
/libaom/source/libaom
/libc++-static/libc++.a
/libaddressinput/src
/libdrm/src
/libevdev/src
/libexif/sources
/libFuzzer/src
/libprotobuf-mutator/src
/libjingle/source
/libjpeg_turbo
/liblouis/src
/libphonenumber/dist
/libsrtp
/libsync/src
/libupnp
/libvpx/source/libvpx
/libwebm/source
/libyuv
/lighttpd
/llvm
/llvm-allocated-type
/llvm-bootstrap
/llvm-bootstrap-install
/llvm-build
/llvm-build-tools
/lss
/material_design_icons/src
/mesa/src
/mingw-w64
/minigbm/src
/minizip/src
/mkl
/mocha
/mockito/src
/nacl_sdk_binaries/
/nasm
/netty-tcnative/src
/netty4/src
/node/linux
/node/mac
/node/node_modules
/node/*.tar.gz
/node/win
/nss
/objenesis/lib/
/omaha/src/omaha
/openmax_dl/
/openh264/src
/openscreen/src
/ow2_asm/lib/
/pdfsqueeze
/pdfium
/pefile
/perfetto
/perl
/ppapi
/proguard/lib/
/protoc_javalite/protoc-gen-javalite
/psyco_win32
/pthreads-win32
/py_trace_event/src
/pyelftools
/pyftpdlib/src
/pylib
/pymox/src
/python_24
/python_26
/pywebsocket/src
/pywebsocket/src
/qemu-linux-x64
/qemu-mac-x64
/quic_trace/src
/r8/lib
/re2/src
/requests/src
/robolectric/lib/
/robolectric/robolectric
/scan-build/src
/scons-2.0.1
/sfntly/src
/shaderc/src
/skia
/smhasher/src
/snappy/src
/speex
/spirv-cross/spirv-cross
/spirv-headers/src
/SPIRV-Tools/src
/sqlite4java/lib/
/swiftshader/
/syzygy
/syzygy/binaries
/tsan/
/ub-uiautomator/lib
/usb_ids
/usrsctp/usrsctplib
/v8-i18n
/valgrind
/wayland/src
/wayland-protocols/src
/wds/src
/webdriver/pylib
/webdriver/python/selenium
/webgl
/webgl/src
/webpagereplay/
/webrtc
/widevine/cdm/chromeos
/widevine/cdm/linux
/widevine/cdm/mac
/widevine/cdm/win
/widevine/scripts
/widevine/test/license_server
/win_toolchain/.timestamps
/win_toolchain/files
/wix
/xdg-utils
/xstream/lib/
/xulrunner-sdk
/yasm/binaries
/yasm/generate_files.xml
/yasm/source/patched-yasm
/yasm/yasm.xml
