# 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/accessibility-test-framework-2.1.jar
/adobe/flash/binaries
/adobe/flash/symbols
/amd/
/android_protobuf/src
/android_support_test_runner/lib/*.aar
/android_support_test_runner/lib/*.jar
/android_tools/
/android_tools_internal/
/android_webview_glue/src
/angle
/angle_dx11
/apache-portable-runtime/src
/apache_velocity/lib/*.jar
/apache-win32/bin/*.exe
/apache-win32/bin/*.dll
/apache-win32/bin/iconv/*.so
/apache-win32/modules/*.so
/apache-win32/modules/*.dll
/apk-patch-size-estimator/lib/*.jar
/asan
/bidichecker
/bison
/boringssl/src
/bouncycastle/lib/*.jar
/byte_buddy/lib/*.jar
/cacheinvalidation/cacheinvalidation_unittests_run.xml
/cardboard-java/src
/catapult
/ced/src
/checkstyle/*.jar
/chromeos_login_manager
/chromeos_text_input
/chromite
/cld_2/src
/cld_3/src
/colorama/src
/cros
/cros_system_api
/custom_tabs_client/src
/cygwin
/deqp/src
/directxsdk
/dom_distiller_js/dist
/drmemory/drmemory-windows-sfx.exe
/drmemory/unpacked
/elfutils/src
/errorprone/lib
/espresso/lib/*-2.2.1-*.jar
/eyesfree/src
/ffmpeg
/findbugs
/flac
/flatbuffers/src
/fontconfig/src
/freetype/src
/gestures/gestures
/gles2_conform
/glslang/src
/glslang-angle/src
/gnu_binutils/
/google_appengine_cloudstorage
/google_toolbox_for_mac/src
/googlemac
/googletest/src
/gvr-android-sdk/common_library.aar
/gvr-android-sdk/test-libraries/controller_test_api.aar
/gvr-android-sdk/libgvr_shim_static_arm.a
/gvr-android-sdk/libgvr_shim_static_arm64.a
/gvr-android-sdk/src
/gvr-android-sdk/test-apks/daydream_home/*.apk
/gvr-android-sdk/test-apks/vr_services/*.apk
/gperf
/guava/lib/guava-20.0.jar
/hamcrest/lib/*.jar
/hunspell_dictionaries
/icu
/icu4j/lib/*.jar
/intellij/lib/*.jar
/inspector_protocol
/instrumented_libraries/scripts/*.tgz
/instrumented_libraries/scripts/out/*
/javax_inject/lib/*.jar
/jsoncpp/source
/jsr-305/src
/junit/src
/khronos_glcts
/leakcanary/src
/leveldatabase/src
/leveldb
/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
/libupnp
/libvpx/source/libvpx
/libwebm/source
/libyuv
/lighttpd
/llvm
/llvm-allocated-type
/llvm-bootstrap
/llvm-build
/lss
/mesa/src
/mingw-w64
/minigbm/src
/mkl
/mocha
/mockito/src
/nacl_sdk_binaries/
/netty-tcnative/src
/netty4/src
/node/linux
/node/mac
/node/node_modules
/node/*.tar.gz
/node/win
/nss
/objenesis/lib/*.jar
/omaha/src/omaha
/openmax_dl/
/openh264/src
/ow2_asm/lib/*.jar
/pdfsqueeze
/pdfium
/pefile
/perl
/ppapi
/psyco_win32
/pthreads-win32
/py_trace_event/src
/pyelftools
/pyftpdlib/src
/pylib
/pymox/src
/python_24
/python_26
/pywebsocket/src
/pywebsocket/src
/re2/src
/requests/src
/retrolambda/*.jar
/robolectric/lib/android-all-4.3_r2-robolectric-0.jar
/robolectric/lib/android-all-5.0.0_r2-robolectric-1.jar
/robolectric/lib/android-all-7.1.0_r7-robolectric-0.jar
/robolectric/robolectric
/scan-build/src
/scons-2.0.1
/sfntly/src
/shaderc/src
/skia
/smhasher/src
/snappy/src
/spirv-headers/src
/SPIRV-Tools/src
/spirv-tools-angle/src
/sqlite4java/lib/**/*.dll
/sqlite4java/lib/**/*.jar
/sqlite4java/lib/**/*.jnilib
/sqlite4java/lib/**/*.so
/swiftshader/
/syzygy
/syzygy/binaries
/tsan/
/ub-uiautomator/lib
/usb_ids
/usrsctp/usrsctplib
/v8-i18n
/valgrind
/vulkan-validation-layers/src
/visualmetrics
/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/*.jar
/xulrunner-sdk
/yasm/binaries
/yasm/generate_files.xml
/yasm/source/patched-yasm
/yasm/yasm.xml

