# 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/androidx_browser/src
/android_sdk/public/
/android_sdk/sources/
/android_protobuf/src
/android_support_test_runner/lib/
/android_system_sdk/*.jar
/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/android_sdk_build_tools_25_0_2
/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/images
/fuchsia-sdk/sdk
/gestures/gestures
/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/
/javalang/src/
/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
/openh264/src
/openscreen/src
/openxr/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
/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
