Upgrade emulator to emu-master-dev build 8546606 am: cada9484b6

Original change: https://android-review.googlesource.com/c/platform/prebuilts/android-emulator/+/2088490

Change-Id: I645e3a99d9fdc1aec4a7130d1a642387e4cf4ef5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/darwin-x86_64/NOTICE.csv b/darwin-x86_64/NOTICE.csv
index 8685479..471caf6 100644
--- a/darwin-x86_64/NOTICE.csv
+++ b/darwin-x86_64/NOTICE.csv
@@ -23,18 +23,17 @@
 libpng, https://android.googlesource.com/platform/external/libpng/+/refs/heads/emu-master-dev/LICENSE, libpng, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/libpng/+/refs/heads/emu-master-dev
 angle-renderer, https://chromium.googlesource.com/angle/angle/LICENSE, BSD-3-Clause, lib64/gles_angle/libEGL.dylib lib64/gles_angle/libvk_swiftshader.dylib lib64/gles_angle/libGLESv2.dylib lib64/gles_angle/libswiftshader_libEGL.dylib lib64/gles_angle/libswiftshader_libGLESv2.dylib ./emulator, https://chromium.googlesource.com/angle/angle
 None, Apache-2.0, Apache-2.0, ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./emulator ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 ./mksdcard ./qemu/darwin-x86_64/qemu-system-armel-headless, 
-c-ares, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev/NOTICE, MIT, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev
-Qt 5, https://doc.qt.io/qt-5/licensing.html, LGPL-3.0-only, lib64/qt/translations/qtwebengine_locales/ar.pak lib64/qt/translations/qtwebengine_locales/sl.pak lib64/qt/libexec/qtwebengine_locales/en-US.pak lib64/qt/translations/qtwebengine_locales/ro.pak lib64/qt/plugins/imageformats/libqmacjp2.dylib lib64/qt/translations/qtwebengine_locales/ms.pak lib64/qt/libexec/qtwebengine_locales/da.pak lib64/qt/plugins/imageformats/libqicns.dylib lib64/qt/plugins/imageformats/libqico.dylib lib64/qt/libexec/qtwebengine_locales/sk.pak lib64/qt/plugins/imageformats/libqtga.dylib lib64/qt/libexec/qtwebengine_locales/id.pak lib64/qt/translations/qtwebengine_locales/bg.pak lib64/qt/lib/libQt5WebEngineCoreAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/he.pak lib64/qt/lib/libQt5QmlAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/ru.pak lib64/qt/translations/qtwebengine_locales/am.pak lib64/qt/libexec/qtwebengine_locales/hu.pak lib64/qt/translations/qtwebengine_locales/en-GB.pak lib64/qt/libexec/qtwebengine_locales/uk.pak lib64/qt/translations/qtwebengine_locales/ja.pak lib64/qt/libexec/qtwebengine_locales/fa.pak lib64/qt/translations/qtwebengine_locales/de.pak lib64/qt/libexec/qtwebengine_locales/lv.pak lib64/qt/resources/qtwebengine_resources.pak lib64/qt/libexec/qtwebengine_locales/pt-BR.pak lib64/qt/libexec/qtwebengine_locales/ru.pak lib64/qt/libexec/qtwebengine_locales/bn.pak lib64/qt/translations/qtwebengine_locales/sk.pak lib64/qt/resources/qtwebengine_resources_200p.pak lib64/qt/libexec/qtwebengine_locales/cs.pak lib64/qt/translations/qtwebengine_locales/pl.pak lib64/qt/translations/qtwebengine_locales/sw.pak lib64/qt/plugins/imageformats/libqwebp.dylib lib64/qt/libexec/qtwebengine_locales/sw.pak lib64/qt/translations/qtwebengine_locales/kn.pak lib64/qt/libexec/qtwebengine_locales/tr.pak lib64/qt/libexec/qtwebengine_devtools_resources.pak lib64/qt/libexec/qtwebengine_locales/zh-CN.pak lib64/qt/libexec/qtwebengine_locales/th.pak lib64/qt/lib/libQt5PrintSupportAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/hr.pak lib64/qt/libexec/qtwebengine_locales/sr.pak lib64/qt/translations/qtwebengine_locales/da.pak lib64/qt/translations/qtwebengine_locales/nb.pak lib64/qt/plugins/iconengines/libqsvgicon.dylib lib64/qt/libexec/qtwebengine_locales/lt.pak lib64/qt/translations/qtwebengine_locales/fi.pak lib64/qt/libexec/qtwebengine_locales/gu.pak lib64/qt/translations/qtwebengine_locales/et.pak lib64/qt/libexec/qtwebengine_locales/kn.pak lib64/qt/lib/libQt5WebChannelAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/nl.pak lib64/qt/plugins/platforms/libqcocoa.dylib lib64/qt/translations/qtwebengine_locales/ca.pak lib64/qt/translations/qtwebengine_locales/lv.pak lib64/qt/translations/qtwebengine_locales/zh-CN.pak lib64/qt/libexec/qtwebengine_locales/pt-PT.pak lib64/qt/translations/qtwebengine_locales/fil.pak lib64/qt/libexec/qtwebengine_locales/ar.pak lib64/qt/plugins/imageformats/libqwbmp.dylib lib64/qt/translations/qtwebengine_locales/ta.pak ./emulator lib64/qt/libexec/qtwebengine_locales/ro.pak lib64/qt/libexec/qtwebengine_locales/sl.pak lib64/qt/libexec/qtwebengine_locales/ca.pak lib64/qt/translations/qtwebengine_locales/vi.pak lib64/qt/lib/libQt5CoreAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/ko.pak lib64/qt/plugins/imageformats/libqjpeg.dylib lib64/qt/translations/qtwebengine_locales/th.pak lib64/qt/libexec/qtwebengine_resources_200p.pak lib64/qt/translations/qtwebengine_locales/bn.pak lib64/qt/translations/qtwebengine_locales/lt.pak lib64/qt/translations/qtwebengine_locales/fa.pak lib64/qt/lib/libQt5GuiAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/en-GB.pak lib64/qt/translations/qtwebengine_locales/te.pak lib64/qt/libexec/qtwebengine_resources.pak lib64/qt/translations/qtwebengine_locales/es.pak lib64/qt/translations/qtwebengine_locales/sv.pak lib64/qt/translations/qtwebengine_locales/pt-BR.pak lib64/qt/libexec/qtwebengine_locales/ja.pak lib64/qt/plugins/imageformats/libqsvg.dylib lib64/qt/resources/icudtl.dat lib64/qt/libexec/qtwebengine_locales/sv.pak lib64/qt/translations/qtwebengine_locales/zh-TW.pak lib64/qt/translations/qtwebengine_locales/cs.pak lib64/qt/libexec/icudtl.dat lib64/qt/translations/qtwebengine_locales/it.pak lib64/qt/libexec/qtwebengine_locales/ml.pak lib64/qt/translations/qtwebengine_locales/ml.pak lib64/qt/translations/qtwebengine_locales/hi.pak lib64/qt/libexec/qtwebengine_locales/ta.pak lib64/qt/translations/qtwebengine_locales/mr.pak lib64/qt/translations/qtwebengine_locales/sr.pak lib64/qt/lib/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib lib64/qt/resources/qtwebengine_resources_100p.pak lib64/qt/lib/libQt5QuickWidgetsAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/bg.pak lib64/qt/translations/qtwebengine_locales/en-US.pak lib64/qt/libexec/qtwebengine_locales/fr.pak lib64/qt/libexec/qtwebengine_locales/es-419.pak lib64/qt/libexec/qtwebengine_locales/am.pak lib64/qt/libexec/qtwebengine_locales/it.pak lib64/qt/plugins/imageformats/libqgif.dylib lib64/qt/libexec/QtWebEngineProcess lib64/qt/libexec/qtwebengine_locales/he.pak lib64/qt/lib/libQt5SvgAndroidEmu.5.12.1.dylib lib64/qt/plugins/styles/libqmacstyle.dylib lib64/qt/libexec/qtwebengine_locales/vi.pak lib64/qt/translations/qtwebengine_locales/es-419.pak lib64/qt/libexec/qtwebengine_locales/te.pak lib64/qt/libexec/qtwebengine_locales/fi.pak lib64/qt/libexec/qtwebengine_locales/el.pak lib64/qt/translations/qtwebengine_locales/tr.pak lib64/qt/libexec/qtwebengine_locales/hi.pak lib64/qt/libexec/qtwebengine_locales/pl.pak lib64/qt/lib/libQt5WidgetsAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/hu.pak lib64/qt/lib/libQt5QuickAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/uk.pak lib64/qt/libexec/qtwebengine_locales/fil.pak lib64/qt/lib/libQt5WebSocketsAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/nl.pak lib64/qt/plugins/bearer/libqgenericbearer.dylib lib64/qt/translations/qtwebengine_locales/gu.pak lib64/qt/resources/qtwebengine_devtools_resources.pak lib64/qt/libexec/qtwebengine_locales/zh-TW.pak lib64/qt/lib/libQt5DBusAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/hr.pak lib64/qt/libexec/qtwebengine_locales/ko.pak lib64/qt/libexec/qtwebengine_locales/nb.pak lib64/qt/libexec/qtwebengine_locales/de.pak lib64/qt/libexec/qtwebengine_resources_100p.pak lib64/qt/libexec/qtwebengine_locales/es.pak lib64/qt/libexec/qtwebengine_locales/ms.pak lib64/qt/libexec/qtwebengine_locales/et.pak lib64/qt/plugins/imageformats/libqmacheif.dylib lib64/qt/translations/qtwebengine_locales/pt-PT.pak lib64/qt/translations/qtwebengine_locales/id.pak lib64/qt/libexec/qtwebengine_locales/mr.pak lib64/qt/plugins/imageformats/libqtiff.dylib lib64/qt/lib/libQt5NetworkAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/el.pak lib64/qt/translations/qtwebengine_locales/fr.pak, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
 libyuv, https://android.googlesource.com/platform/external/chromium_org/third_party/libyuv/+/refs/heads/master/LICENSE, BSD-3-Clause, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./emulator ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/chromium_org/third_party/libyuv/+/refs/heads/master/
+Qt 5, https://doc.qt.io/qt-5/licensing.html, LGPL-3.0-only, lib64/qt/translations/qtwebengine_locales/ar.pak lib64/qt/translations/qtwebengine_locales/sl.pak lib64/qt/libexec/qtwebengine_locales/en-US.pak lib64/qt/translations/qtwebengine_locales/ro.pak lib64/qt/plugins/imageformats/libqmacjp2.dylib lib64/qt/translations/qtwebengine_locales/ms.pak lib64/qt/libexec/qtwebengine_locales/da.pak lib64/qt/plugins/imageformats/libqicns.dylib lib64/qt/plugins/imageformats/libqico.dylib lib64/qt/libexec/qtwebengine_locales/sk.pak lib64/qt/plugins/imageformats/libqtga.dylib lib64/qt/libexec/qtwebengine_locales/id.pak lib64/qt/translations/qtwebengine_locales/bg.pak lib64/qt/lib/libQt5WebEngineCoreAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/he.pak lib64/qt/lib/libQt5QmlAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/ru.pak lib64/qt/translations/qtwebengine_locales/am.pak lib64/qt/libexec/qtwebengine_locales/hu.pak lib64/qt/translations/qtwebengine_locales/en-GB.pak lib64/qt/libexec/qtwebengine_locales/uk.pak lib64/qt/translations/qtwebengine_locales/ja.pak lib64/qt/libexec/qtwebengine_locales/fa.pak lib64/qt/translations/qtwebengine_locales/de.pak lib64/qt/libexec/qtwebengine_locales/lv.pak lib64/qt/resources/qtwebengine_resources.pak lib64/qt/libexec/qtwebengine_locales/pt-BR.pak lib64/qt/libexec/qtwebengine_locales/ru.pak lib64/qt/libexec/qtwebengine_locales/bn.pak lib64/qt/translations/qtwebengine_locales/sk.pak lib64/qt/resources/qtwebengine_resources_200p.pak lib64/qt/libexec/qtwebengine_locales/cs.pak lib64/qt/translations/qtwebengine_locales/pl.pak lib64/qt/translations/qtwebengine_locales/sw.pak lib64/qt/plugins/imageformats/libqwebp.dylib lib64/qt/libexec/qtwebengine_locales/sw.pak lib64/qt/translations/qtwebengine_locales/kn.pak lib64/qt/libexec/qtwebengine_locales/tr.pak lib64/qt/libexec/qtwebengine_devtools_resources.pak lib64/qt/libexec/qtwebengine_locales/zh-CN.pak lib64/qt/libexec/qtwebengine_locales/th.pak lib64/qt/lib/libQt5PrintSupportAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/hr.pak lib64/qt/libexec/qtwebengine_locales/sr.pak lib64/qt/translations/qtwebengine_locales/da.pak lib64/qt/translations/qtwebengine_locales/nb.pak lib64/qt/plugins/iconengines/libqsvgicon.dylib lib64/qt/libexec/qtwebengine_locales/lt.pak lib64/qt/translations/qtwebengine_locales/fi.pak lib64/qt/libexec/qtwebengine_locales/gu.pak lib64/qt/translations/qtwebengine_locales/et.pak lib64/qt/libexec/qtwebengine_locales/kn.pak lib64/qt/lib/libQt5WebChannelAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/nl.pak lib64/qt/plugins/platforms/libqcocoa.dylib lib64/qt/translations/qtwebengine_locales/ca.pak lib64/qt/translations/qtwebengine_locales/lv.pak lib64/qt/translations/qtwebengine_locales/zh-CN.pak lib64/qt/libexec/qtwebengine_locales/pt-PT.pak lib64/qt/translations/qtwebengine_locales/fil.pak lib64/qt/libexec/qtwebengine_locales/ar.pak lib64/qt/plugins/imageformats/libqwbmp.dylib lib64/qt/translations/qtwebengine_locales/ta.pak ./emulator lib64/qt/libexec/qtwebengine_locales/ro.pak lib64/qt/libexec/qtwebengine_locales/sl.pak lib64/qt/libexec/qtwebengine_locales/ca.pak lib64/qt/translations/qtwebengine_locales/vi.pak lib64/qt/lib/libQt5CoreAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/ko.pak lib64/qt/plugins/imageformats/libqjpeg.dylib lib64/qt/translations/qtwebengine_locales/th.pak lib64/qt/libexec/qtwebengine_resources_200p.pak lib64/qt/translations/qtwebengine_locales/bn.pak lib64/qt/translations/qtwebengine_locales/lt.pak lib64/qt/translations/qtwebengine_locales/fa.pak lib64/qt/lib/libQt5GuiAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/en-GB.pak lib64/qt/translations/qtwebengine_locales/te.pak lib64/qt/libexec/qtwebengine_resources.pak lib64/qt/translations/qtwebengine_locales/es.pak lib64/qt/translations/qtwebengine_locales/sv.pak lib64/qt/translations/qtwebengine_locales/pt-BR.pak lib64/qt/libexec/qtwebengine_locales/ja.pak lib64/qt/plugins/imageformats/libqsvg.dylib lib64/qt/resources/icudtl.dat lib64/qt/libexec/qtwebengine_locales/sv.pak lib64/qt/translations/qtwebengine_locales/zh-TW.pak lib64/qt/translations/qtwebengine_locales/cs.pak lib64/qt/libexec/icudtl.dat lib64/qt/translations/qtwebengine_locales/it.pak lib64/qt/libexec/qtwebengine_locales/ml.pak lib64/qt/translations/qtwebengine_locales/ml.pak lib64/qt/translations/qtwebengine_locales/hi.pak lib64/qt/libexec/qtwebengine_locales/ta.pak lib64/qt/translations/qtwebengine_locales/mr.pak lib64/qt/translations/qtwebengine_locales/sr.pak lib64/qt/lib/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib lib64/qt/resources/qtwebengine_resources_100p.pak lib64/qt/lib/libQt5QuickWidgetsAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/bg.pak lib64/qt/translations/qtwebengine_locales/en-US.pak lib64/qt/libexec/qtwebengine_locales/fr.pak lib64/qt/libexec/qtwebengine_locales/es-419.pak lib64/qt/libexec/qtwebengine_locales/am.pak lib64/qt/libexec/qtwebengine_locales/it.pak lib64/qt/plugins/imageformats/libqgif.dylib lib64/qt/libexec/QtWebEngineProcess lib64/qt/libexec/qtwebengine_locales/he.pak lib64/qt/lib/libQt5SvgAndroidEmu.5.12.1.dylib lib64/qt/plugins/styles/libqmacstyle.dylib lib64/qt/libexec/qtwebengine_locales/vi.pak lib64/qt/translations/qtwebengine_locales/es-419.pak lib64/qt/libexec/qtwebengine_locales/te.pak lib64/qt/libexec/qtwebengine_locales/fi.pak lib64/qt/libexec/qtwebengine_locales/el.pak lib64/qt/translations/qtwebengine_locales/tr.pak lib64/qt/libexec/qtwebengine_locales/hi.pak lib64/qt/libexec/qtwebengine_locales/pl.pak lib64/qt/lib/libQt5WidgetsAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/hu.pak lib64/qt/lib/libQt5QuickAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/uk.pak lib64/qt/libexec/qtwebengine_locales/fil.pak lib64/qt/lib/libQt5WebSocketsAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/nl.pak lib64/qt/plugins/bearer/libqgenericbearer.dylib lib64/qt/translations/qtwebengine_locales/gu.pak lib64/qt/resources/qtwebengine_devtools_resources.pak lib64/qt/libexec/qtwebengine_locales/zh-TW.pak lib64/qt/lib/libQt5DBusAndroidEmu.5.12.1.dylib lib64/qt/libexec/qtwebengine_locales/hr.pak lib64/qt/libexec/qtwebengine_locales/ko.pak lib64/qt/libexec/qtwebengine_locales/nb.pak lib64/qt/libexec/qtwebengine_locales/de.pak lib64/qt/libexec/qtwebengine_resources_100p.pak lib64/qt/libexec/qtwebengine_locales/es.pak lib64/qt/libexec/qtwebengine_locales/ms.pak lib64/qt/libexec/qtwebengine_locales/et.pak lib64/qt/plugins/imageformats/libqmacheif.dylib lib64/qt/translations/qtwebengine_locales/pt-PT.pak lib64/qt/translations/qtwebengine_locales/id.pak lib64/qt/libexec/qtwebengine_locales/mr.pak lib64/qt/plugins/imageformats/libqtiff.dylib lib64/qt/lib/libQt5NetworkAndroidEmu.5.12.1.dylib lib64/qt/translations/qtwebengine_locales/el.pak lib64/qt/translations/qtwebengine_locales/fr.pak, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
 grpc++, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev/NOTICE.txt, Apache-2.0, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev
 breakpad, https://android.googlesource.com/platform/external/google-breakpad/+/refs/heads/emu-master-dev/LICENSE, BSD-3-Clause, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/google-breakpad/+/refs/heads/emu-master-dev
 qemu, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/LICENSE, GPL-2.0-only, ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./qemu/darwin-x86_64/qemu-system-i386 ./qemu-img ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev
+c-ares, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev/NOTICE, MIT, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev
 e2fs, http://www.linfo.org/e2fsprogs.html, GPL-2.0-only, bin64/resize2fs bin64/fsck.ext4 bin64/tune2fs bin64/mkfs.ext4 bin64/e2fsck ./emulator, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/e2fsprogs-1.42.13-patches.tar.xz
 bios, https://android.googlesource.com/platform/external/qemu-pc-bios/+/refs/heads/master/README, LGPL-2.0-or-later, ./emulator, https://android.googlesource.com/platform/external/qemu-pc-bios/+/refs/heads/master/
 Qt Widgets, https://doc.qt.io/qt-5.12/qtWidgets-index.html#licenses-and-attributions, LGPL-3.0-only, ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-i386 ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-aarch64 ./qemu/darwin-x86_64/qemu-system-armel, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
 glib-2.0, https://gitlab.gnome.org/GNOME/glib/blob/master/COPYING, LGPL-2.1-only, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/glib-2.38.2.tar.xz
 qemu-system, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/LICENSES/LICENSE.APACHE2, Apache-2.0, ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-aarch64 ./qemu/darwin-x86_64/qemu-system-i386 ./qemu/darwin-x86_64/qemu-system-armel ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev
-Qt WebEngineWidgets, https://doc.qt.io/qt-5.12/qtWebEngineWidgets-index.html#licenses-and-attributions, LGPL-3.0-only, ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-i386 ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-aarch64 ./qemu/darwin-x86_64/qemu-system-armel, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
 gpr, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev/NOTICE.txt, Apache-2.0, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev
 LibXml2, https://github.com/GNOME/libxml2/blob/mainline/Copyright, MIT, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 android-metrics.dylib OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/libxml2-2.9.2.tar.gz
 ffmpeg, https://github.com/FFmpeg/FFmpeg/blob/master/LICENSE.md, GPL-2.0-or-later, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/ffmpeg-3.4.5.tar.xz
@@ -42,10 +41,11 @@
 hostapd, https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/emu-master-dev/NOTICE, BSD, emugl_common.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./qemu/darwin-x86_64/qemu-system-i386 ./nimble_bridge ./qemu-img ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 OpenglRender.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/emu-master-dev
 fdt, https://android.googlesource.com/platform/external/dtc/+/refs/heads/master/README.license, BSD-2-Clause, ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./qemu/darwin-x86_64/qemu-system-i386 ./qemu-img ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-aarch64 ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/dtc/+/refs/heads/master
 libselinux, https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/third_party/libselinux/NOTICE, CC-PDDC OR UNKNOWN, emugl_common.dylib ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386 ./emulator ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64 android-metrics.dylib OpenglRender.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/darwin-x86_64/qemu-system-aarch64-headless android-emu-agents.dylib ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/third_party/libselinux
+Qt WebEngineWidgets, https://doc.qt.io/qt-5.12/qtWebEngineWidgets-index.html#licenses-and-attributions, LGPL-3.0-only, ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-i386 ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-aarch64 ./qemu/darwin-x86_64/qemu-system-armel, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
 angle, https://chromium.googlesource.com/angle/angle/LICENSE, BSD-3-Clause, OpenglRender.dylib lib64/libshadertranslator.dylib ./emulator, https://chromium.googlesource.com/angle/angle
 Qt WebSockets, https://doc.qt.io/qt-5.12/qtWebSockets-index.html#licenses-and-attributions, LGPL-3.0-only, ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-i386 ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-aarch64 ./qemu/darwin-x86_64/qemu-system-armel, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
 boringssl, https://android.googlesource.com/platform/external/boringssl/+/refs/heads/master/NOTICE, OpenSSL, ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless ./qemu/darwin-x86_64/qemu-system-i386 ./qsn android-curl.dylib ./qemu/darwin-x86_64/qemu-system-aarch64 android-metrics.dylib OpenglRender.dylib emugl_common.dylib ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-armel-headless, https://android.googlesource.com/platform/external/boringssl/+/refs/heads/master
-protobuf, BSD-3-Clause, BSD-3-Clause, emugl_common.dylib ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless libprotobuf.dylib ./qemu/darwin-x86_64/qemu-system-i386 ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64 libprotobuf-lite.dylib android-metrics.dylib OpenglRender.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-armel-headless, 
+protobuf, BSD-3-Clause, BSD-3-Clause, emugl_common.dylib ./qemu/darwin-x86_64/qemu-system-x86_64 ./qemu/darwin-x86_64/qemu-system-x86_64-headless libprotobuf.dylib ./qemu/darwin-x86_64/qemu-system-i386 ./qsn ./qemu/darwin-x86_64/qemu-system-aarch64 libprotobuf-lite.dylib android-metrics.dylib android-emu-tracing.dylib OpenglRender.dylib ./emulator-crash-service ./qemu/darwin-x86_64/qemu-system-i386-headless ./qemu/darwin-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img emulator-protos.dylib ./qemu/darwin-x86_64/qemu-system-aarch64-headless ./qemu/darwin-x86_64/qemu-system-armel-headless, 
 gtest, https://android.googlesource.com/platform/external/googletest/+/refs/heads/master/LICENSE, BSD3, ./emulator, https://android.googlesource.com/platform/external/googletest/+/refs/heads/master
 mynewt-nmble, https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/third_party/mynewt-nimble/LICENSE, Apache=2.0, ./nimble_bridge, 
 vulkan-sdk, https://vulkan.lunarg.com/software/license/vulkan-1.2.162.1-linux-license-summary.txt, Apache-2.0, lib64/vulkan/libvk_swiftshader.dylib ./emulator lib64/vulkan/libvulkan.dylib lib64/vulkan/libMoltenVK.dylib, https://vulkan.lunarg.com/sdk/home
diff --git a/darwin-x86_64/NOTICE.txt b/darwin-x86_64/NOTICE.txt
index 9c7dd89..a185159 100644
--- a/darwin-x86_64/NOTICE.txt
+++ b/darwin-x86_64/NOTICE.txt
@@ -1567,6 +1567,7 @@
 
 ===========================================================
 Notices for file(s):
+./emulator
 ./emulator-check
 ./emulator-crash-service
 ./nimble_bridge
@@ -1582,19 +1583,38 @@
 ./qsn
 OpenglRender.dylib
 emugl_common.dylib
-The notices is included for the library: c-ares
+The notices is included for the library: libyuv
 
 ===========================================================
-Copyright 1998 by the Massachusetts Institute of Technology.
- 
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided that
-the above copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation, and that
-the name of M.I.T. not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior permission.
-M.I.T. makes no representations about the suitability of this software for any
-purpose.  It is provided "as is" without express or implied warranty.
+Copyright 2011 The LibYuv Project Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+  * Neither the name of Google nor the names of its contributors may
+    be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 ===========================================================
@@ -1763,58 +1783,6 @@
 
 ===========================================================
 Notices for file(s):
-./emulator
-./emulator-check
-./emulator-crash-service
-./nimble_bridge
-./qemu-img
-./qemu/darwin-x86_64/qemu-system-aarch64
-./qemu/darwin-x86_64/qemu-system-aarch64-headless
-./qemu/darwin-x86_64/qemu-system-armel
-./qemu/darwin-x86_64/qemu-system-armel-headless
-./qemu/darwin-x86_64/qemu-system-i386
-./qemu/darwin-x86_64/qemu-system-i386-headless
-./qemu/darwin-x86_64/qemu-system-x86_64
-./qemu/darwin-x86_64/qemu-system-x86_64-headless
-./qsn
-OpenglRender.dylib
-emugl_common.dylib
-The notices is included for the library: libyuv
-
-===========================================================
-Copyright 2011 The LibYuv Project Authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-  * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
-
-  * Neither the name of Google nor the names of its contributors may
-    be used to endorse or promote products derived from this software
-    without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-===========================================================
-Notices for file(s):
 ./emulator-check
 ./emulator-crash-service
 ./nimble_bridge
@@ -1959,6 +1927,38 @@
 
 ===========================================================
 Notices for file(s):
+./emulator-check
+./emulator-crash-service
+./nimble_bridge
+./qemu-img
+./qemu/darwin-x86_64/qemu-system-aarch64
+./qemu/darwin-x86_64/qemu-system-aarch64-headless
+./qemu/darwin-x86_64/qemu-system-armel
+./qemu/darwin-x86_64/qemu-system-armel-headless
+./qemu/darwin-x86_64/qemu-system-i386
+./qemu/darwin-x86_64/qemu-system-i386-headless
+./qemu/darwin-x86_64/qemu-system-x86_64
+./qemu/darwin-x86_64/qemu-system-x86_64-headless
+./qsn
+OpenglRender.dylib
+emugl_common.dylib
+The notices is included for the library: c-ares
+
+===========================================================
+Copyright 1998 by the Massachusetts Institute of Technology.
+ 
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and that
+the name of M.I.T. not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior permission.
+M.I.T. makes no representations about the suitability of this software for any
+purpose.  It is provided "as is" without express or implied warranty.
+
+
+===========================================================
+Notices for file(s):
 ./emulator
 bin64/e2fsck
 bin64/fsck.ext4
@@ -2170,28 +2170,6 @@
 
 ===========================================================
 Notices for file(s):
-./emulator-crash-service
-./qemu/darwin-x86_64/qemu-system-aarch64
-./qemu/darwin-x86_64/qemu-system-armel
-./qemu/darwin-x86_64/qemu-system-i386
-./qemu/darwin-x86_64/qemu-system-x86_64
-The notices is included for the library: Qt WebEngineWidgets
-
-===========================================================
-Licensed under the GNU LIBRARY GENERAL PUBLIC LICENSE, Version 2 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    https://www.gnu.org/licenses/lgpl-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-===========================================================
-Notices for file(s):
 ./emulator-check
 ./emulator-crash-service
 ./nimble_bridge
@@ -2515,6 +2493,28 @@
 
 ===========================================================
 Notices for file(s):
+./emulator-crash-service
+./qemu/darwin-x86_64/qemu-system-aarch64
+./qemu/darwin-x86_64/qemu-system-armel
+./qemu/darwin-x86_64/qemu-system-i386
+./qemu/darwin-x86_64/qemu-system-x86_64
+The notices is included for the library: Qt WebEngineWidgets
+
+===========================================================
+Licensed under the GNU LIBRARY GENERAL PUBLIC LICENSE, Version 2 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    https://www.gnu.org/licenses/lgpl-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+===========================================================
+Notices for file(s):
 ./emulator
 OpenglRender.dylib
 lib64/libshadertranslator.dylib
@@ -2868,8 +2868,10 @@
 ./qemu/darwin-x86_64/qemu-system-x86_64-headless
 ./qsn
 OpenglRender.dylib
+android-emu-tracing.dylib
 android-metrics.dylib
 emugl_common.dylib
+emulator-protos.dylib
 libprotobuf-lite.dylib
 libprotobuf.dylib
 The notices is included for the library: protobuf
diff --git a/darwin-x86_64/emulator b/darwin-x86_64/emulator
index 2efd7f1..b1a2830 100755
--- a/darwin-x86_64/emulator
+++ b/darwin-x86_64/emulator
Binary files differ
diff --git a/darwin-x86_64/emulator-check b/darwin-x86_64/emulator-check
index 6c4fb42..75d0485 100755
--- a/darwin-x86_64/emulator-check
+++ b/darwin-x86_64/emulator-check
Binary files differ
diff --git a/darwin-x86_64/lib/emulated_bluetooth.proto b/darwin-x86_64/lib/emulated_bluetooth.proto
new file mode 100644
index 0000000..68429c8
--- /dev/null
+++ b/darwin-x86_64/lib/emulated_bluetooth.proto
@@ -0,0 +1,104 @@
+// Copyright (C) 2022 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Note that if you add/remove methods in this file you must update
+// the metrics sql as well ./android/scripts/gen-grpc-sql.py
+//
+// Please group deleted methods in a block including the date (MM/DD/YY)
+// it was removed. This enables us to easily keep metrics around after removal
+//
+// List of deleted methods
+// rpc iWasDeleted (03/12/12)
+// ...
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulator.bluetooth";
+
+package android.emulation.bluetooth;
+import "emulated_bluetooth_packets.proto";
+import "emulated_bluetooth_device.proto";
+
+// An Emulated Bluetooth Service exposes the emulated bluetooth chip from the
+// android emulator. It allows you to register emulated bluetooth devices and
+// control the packets that are exchanged between the device and the world.
+//
+// This service enables you to establish a "virtual network" of emulated
+// bluetooth devices that can interact with each other.
+//
+// Note: This is not yet finalized, it is likely that these definitions will
+// evolve.
+service EmulatedBluetoothService {
+    // Connect device to link layer. This will establish a direct connection
+    // to the emulated bluetooth chip and configure the following:
+    //
+    // - Each connection creates a new device and attaches it to the link layer
+    // - Link Layer packets are transmitted directly to the phy
+    //
+    // This should be used for classic connections.
+    //
+    // This is used to directly connect various android emulators together.
+    // For example a wear device can connect to an android emulator through
+    // this.
+    rpc registerClassicPhy(stream RawData) returns (stream RawData);
+
+    // Connect device to link layer. This will establish a direct connection
+    // to root canal and execute the following:
+    //
+    // - Each connection creates a new device and attaches it to the link layer
+    // - Link Layer packets are transmitted directly to the phy
+    //
+    // This should be used for BLE connections.
+    //
+    // This is used to directly connect various android emulators together.
+    // For example a wear device can connect to an android emulator through
+    // this.
+    rpc registerBlePhy(stream RawData) returns (stream RawData);
+
+    // Connect the device to the emulated bluetooth chip. The device will
+    // participate in the network. You can configure the chip to scan, advertise
+    // and setup connections with other devices that are connected to the
+    // network.
+    //
+    // This is usually used when you have a need for an emulated bluetooth chip
+    // and have a bluetooth stack that can interpret and handle the packets
+    // correctly.
+    //
+    // For example the apache nimble stack can use this endpoint as the
+    // transport layer.
+    rpc registerHCIDevice(stream HCIPacket) returns (stream HCIPacket);
+
+    // Registers an emulated bluetooth device. The emulator will reach out to
+    // the emulated device to read/write and subscribe to properties.
+    //
+    // The following gRPC error codes can be returned:
+    // -  FAILED_PRECONDITION (code 9):
+    //      - root canal is not available on this device
+    //      - unable to reach the endpoint for the GattDevice
+    // -  INTERNAL (code 13) if there was an internal emulator failure.
+    //
+    // The device will not be discoverable in case of an error.
+    rpc registerGattDevice(GattDevice) returns (RegistrationStatus);
+};
+
+message RawData {
+    // A packet of raw bytes that should be delivered.
+    bytes packet = 1;
+};
+
+message RegistrationStatus {
+    // The identity of the registered device. The emulator will provide this
+    // when executing a request for a CharacteristicValueRequest
+    CallbackIdentifier callback_device_id = 1;
+}
\ No newline at end of file
diff --git a/darwin-x86_64/lib/emulated_bluetooth_device.proto b/darwin-x86_64/lib/emulated_bluetooth_device.proto
new file mode 100644
index 0000000..3061bb5
--- /dev/null
+++ b/darwin-x86_64/lib/emulated_bluetooth_device.proto
@@ -0,0 +1,373 @@
+// Copyright (C) 2022 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// An EmulatedBluetoothService represents a bluetooth Gatt device.
+// The android emulator will connect to this service to read/write and
+// observe characteristics if the emulator establishes a connection
+// to this device.
+//
+// You will need to implement this service and register the endpoint with
+// the emulator to make this device discoverable.
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulator.bluetooth";
+
+package android.emulation.bluetooth;
+import "grpc_endpoint_description.proto";
+import "google/protobuf/empty.proto";
+
+// You can provide your own GattDevice by implementing this service
+// and registering it with the android emulator.
+//
+// The device will appear as a real bluetooth device, and you will
+// receive callbacks when the bluetooth system wants to
+// read, write or observe a characteristic.
+service GattDeviceService {
+    // A remote client has requested to read a local characteristic.
+    //
+    // Return the current observed value.
+    rpc OnCharacteristicReadRequest(CharacteristicValueRequest)
+            returns (CharacteristicValueResponse);
+
+    // A remote client has requested to write to a local characteristic.
+    //
+    // Return the current observed value.
+    rpc OnCharacteristicWriteRequest(CharacteristicValueRequest)
+            returns (CharacteristicValueResponse);
+
+    // Listens for notifications from the emulated device, the device should
+    // write to the stream with a response when a change has occurred.
+    rpc OnCharacteristicObserveRequest(CharacteristicValueRequest)
+            returns (stream CharacteristicValueResponse);
+
+    // A remote device has been connected or disconnected.
+    rpc OnConnectionStateChange(ConnectionStateChange)
+            returns (google.protobuf.Empty);
+}
+
+// A callback identifier is used by the service to identify
+// who should handle the any of the requests above.
+//
+// This is only relevant if you have a single endpoint that
+// emulates multiple devices.
+message CallbackIdentifier {
+    string identity = 1;
+}
+
+// A Device Identifier is used to uniquely identify an emulated
+// bluetooth device on the rootcanal mesh.
+message DeviceIdentifier {
+    // A string that uniquely identifies this device on the
+    // rootcanal mesh.
+    string address = 1;
+}
+
+message ConnectionStateChange {
+    enum ConnectionState {
+        CONNECTION_STATE_UNDEFINED = 0;
+        // The profile is in disconnected state
+        CONNECTION_STATE_DISCONNECTED = 1;
+        // The profile is in connected state
+        CONNECTION_STATE_CONNECTED = 2;
+    }
+
+    // The identity of the device is receiving the state change.
+    CallbackIdentifier callback_device_id = 1;
+
+    // The identity of the device that is changing state.
+    DeviceIdentifier from_device = 2;
+
+    // The current state of the device
+    ConnectionState new_state = 3;
+}
+
+// A UUID is a universally unique identifier that is guaranteed to be unique
+// across all space and all time. UUIDs can be independently created in a
+// distributed fashion. No central registry of assigned UUIDs is required. A
+// UUID is a 128-bit value.
+//
+// To reduce the burden of storing and transferring 128-bit UUID values, a range
+// of UUID values has been pre-allocated for assignment to often-used,
+// registered purposes.
+//
+// The first UUID in this pre-allocated range is known as
+// the Bluetooth Base UUID and has the value 00000000-0000-1000-8000-
+// 00805F9B34FB, from Assigned Numbers. UUID values in the pre-allocated
+// range have aliases that are represented as 16-bit or 32-bit values.
+//
+// These aliases are often called 16-bit and 32-bit UUIDs, but each actually
+// represents a 128-bit UUID value.
+//
+// The full 128-bit value of a 16-bit or 32-bit
+// UUID may be computed by a simple arithmetic operation:
+//
+// 128_bit_value = 16_bit_value * 2^96 + Bluetooth_Base_UUID
+// 128_bit_value = 32_bit_value * 2^96 + Bluetooth_Base_UUID
+//
+// A 16-bit UUID may be converted to 32-bit UUID format by zero-extending the
+// 16-bit value to 32-bits. An equivalent method is to add the 16-bit UUID value
+// to a zero-valued 32-bit UUID.
+//
+// Note: Two 16-bit UUIDs may be compared
+// directly, as may two 32-bit UUIDs or two 128-bit UUIDs. If two UUIDs of
+// differing sizes are to be compared, the shorter UUID must be converted to the
+// longer UUID format before comparison.
+message Uuid {
+    oneof short_or_long {
+        // The shortened bluetooth uuid, either 16/32 bit.
+        uint32 id = 1;
+
+        // The first 8 hex digits of the guid, if you are using
+        // 128 bit guid.  These are the least significant bits.
+        uint64 lsb = 2;
+    }
+
+    // The next 8 hex digits of the guid, ignored if the lsb value is not set.
+    // These are the most significant bits.
+    int64 msb = 3;
+}
+
+// Data exchanged to read/write bluetooth characteristics
+message CharacteristicValueRequest {
+    // The identity of the device we are making this request to. The gRPC
+    // service for the emulated device must route the request to the actual
+    // device that emulates this identity.
+    //
+    // This is needed if you wish to emulate multipe devices on a single
+    // gRPC endpoint.
+    CallbackIdentifier callback_device_id = 1;
+
+    // The identity of the device that is making this request.
+    DeviceIdentifier from_device = 2;
+
+    // The specific callback id for which this request is. This is the
+    // callback_id used to register the given characteristic. If the value
+    // was not set it will be the uuid of the characteristic.
+    Uuid callback_id = 3;
+
+    // The raw data in the request. The application developer will
+    // need to parse the data and handle it properly.
+    bytes data = 4;
+}
+
+// Data exchanged to read/write bluetooth characteristics
+message CharacteristicValueResponse {
+    enum GattStatus {
+        GATT_STATUS_UNSPECIFIED = 0;
+        // A GATT operation completed successfully
+        GATT_STATUS_SUCCESS = 1;
+        // A GATT operation failed
+        GATT_STATUS_FAILURE = 2;
+    }
+
+    // The status of the request to be sent to the remote devices
+    GattStatus status = 1;
+
+    // The data of interest, this should contain the raw data according
+    // to the bluetooth specification for the requested charactersic uuid.
+    bytes data = 2;
+}
+
+message GattCharacteristic {
+    // The Characteristic Properties bit field determines how the Characteristic
+    // Value can be used, or how the characteristic descriptors can be accessed.
+
+    // Properties Value Description.
+    enum Properties {
+        PROPERTY_UNSPECIFIED = 0;
+
+        // If set, permits broadcasts of the Characteristic
+        // Value using Server Characteristic Configuration Descriptor. If set,
+        // the Server Characteristic Configuration Descriptor shall exist.
+        PROPERTY_BROADCAST = 0x01;
+
+        // If set, permits reads of the Characteristic Value using procedures
+        // defined in Section 4.8
+        PROPERTY_READ = 0x02;
+
+        // If set, permit writes of the Characteristic Value without response
+        // using procedures defined in Section 4.9.1.
+        PROPERTY_WRITE_NO_RESPONSE = 0x04;
+
+        // If set, permits writes of the Characteristic Value with response
+        // using procedures defined in Section 4.9.3 or Section 4.9.4.
+        PROPERTY_WRITE = 0x08;
+
+        // If set, permits notifications of a Characteristic Value without
+        // acknowledgment using the procedure defined in Section 4.10. If
+        // set, the Client Characteristic Configuration Descriptor shall exist.
+        PROPERTY_NOTIFY = 0x10;
+
+        // If set, permits indications of a Characteristic Value with
+        // acknowledgment using the procedure defined in Section 4.11. If set,
+        // the Client Characteristic Configuration Descriptor shall exist.
+        PROPERTY_INDICATE = 0x20;
+
+        // If set, permits signed writes to the Characteristic Value using the
+        // procedure defined in Section 4.9.2.
+        PROPERTY_SIGNED_WRITE = 0x40;
+
+        // If set, additional characteristic properties are defined in the
+        // Characteristic Extended Properties Descriptor defined in Section
+        // 3.3.3.1. If set, the Characteristic Extended Properties Descriptor
+        PROPERTY_EXTENDED_PROPS = 0x80;
+    }
+
+    // An attribute has a set of permission values associated with it. The
+    // permissions associated with an attribute specifies that it may be read
+    // and/or written. The permissions associated with the attribute specifies
+    // the security level required for read and/or write access, as well as
+    // notification and/or indication. The permissions of a given attribute are
+    // defined by a higher layer specification, and are not discoverable using
+    // the Attribute protocol.
+    enum Permissions {
+        PERMISSION_UNSPECIFIED = 0;
+
+        //  Characteristic read permission
+        PERMISSION_READ = 0x01;
+
+        // Characteristic permission: Allow encrypted read operations
+        PERMISSION_READ_ENCRYPTED = 0x02;
+
+        // Characteristic permission: Allow reading with person-in-the-middle
+        // protection
+        PERMISSION_READ_ENCRYPTED_MITM = 0x04;
+
+        // Characteristic write permission
+        PERMISSION_WRITE = 0x10;
+
+        // Characteristic permission: Allow encrypted writes
+        PERMISSION_WRITE_ENCRYPTED = 0x20;
+
+        // Characteristic permission: Allow encrypted writes with
+        // person-in-the-middle protection
+        PERMISSION_WRITE_ENCRYPTED_MITM = 0x40;
+
+        // Characteristic permission: Allow signed write operations
+        PERMISSION_WRITE_SIGNED = 0x80;
+
+        // Characteristic permission: Allow signed write operations with
+        // person-in-the-middle protection
+        PERMISSION_WRITE_SIGNED_MITM = 0x100;
+    }
+
+    // The UUID identifying this characteristic, for a list of UUIDS:
+    // https://www.bluetooth.com/specifications/assigned-numbers/
+    //
+    // Or (the much easier to use) XML definitions:
+    // https://github.com/sputnikdev/bluetooth-gatt-parser/tree/master/src/main/resources/gatt/characteristic
+    //
+    // For example the uuid=0x2A19 indicates the "The current charge level of a
+    // battery."
+    Uuid uuid = 1;
+
+    // Contains a mask of the properties described in the properties enum.
+    // Property definitions are *ONLY* required during device registration.
+    uint32 properties = 2;
+
+    // Contains a mask of the permissions described in the permissions enum.
+    // Permission definitions are *ONLY* required during device registration.
+    uint32 permissions = 3;
+
+    // The callback_id that will be set whenever a bluetooth request
+    // comes in for this characteristic. Defaults to the value in uuid (field 1)
+    // if it is not set. You will only need to set this if the same uuid is
+    // defined multiple defines in your service, and can be used to disambiguate
+    // which characterisic is requested.
+    Uuid callback_id = 4;
+}
+
+// A Gatt service definition.
+message GattService {
+    enum ServiceType {
+        SERVICE_TYPE_UNSPECIFIED = 0;
+
+        // Primary service
+        SERVICE_TYPE_PRIMARY = 0x01;
+
+        // Secondary service (included by primary services)
+        SERVICE_TYPE_SECONDARY = 0x02;
+    }
+
+    // The uuid of this service. This can be a: 16, 32 or 128  bit uuid.  This
+    // is usually a well defined UUID from the bluetooth specification. For
+    // example 0x180D indicates a heart rate monitor. See
+    // https://www.bluetooth.com/specifications/assigned-numbers/service-discovery/
+    // for a list of well known uuid's.
+    Uuid uuid = 1;
+    ServiceType service_type = 2;
+    repeated GattCharacteristic characteristics = 3;
+}
+
+// A Gatt profile consists of a series of services that are offered
+// to clients. Gatt profiles are well defined in the spec. You can find
+// more information about the various profiles in the official specifications:
+// https://www.bluetooth.com/specifications/specs/
+//
+// A concrete example is the Heart Rate Monitor:
+// https://www.bluetooth.com/specifications/specs/heart-rate-service-1-0/
+message GattProfile {
+    repeated GattService services = 1;
+}
+
+// The advertisement definition, this will be used to advertise the
+// bluetooth device to android emulator. Every device that is registered
+// will be discoverable by the emulator.
+message Advertisement {
+    // The name of the device as an UTF-8 string. This is how the device will
+    // show up when android scans for devices. Only the first 29 bytes will show
+    // up on an in initial scan.
+    string device_name = 1;
+
+    enum ConnectionMode {
+        // None specified, defaults to undirected
+        CONNECTION_MODE_UNSPECIFIED = 0;
+        // Non-connectable, as per section 3.C.9.3.2
+        CONNECTION_MODE_NON_CONNECTABLE = 1;
+        // Directed-connectable, as per section 3.C.9.3.3
+        CONNECTION_MODE_DIRECTED = 2;
+        // Undirected-connectable, as per section 3.C.9.3.4
+        CONNECTION_MODE_UNDIRECTED = 3;
+    }
+
+    //  Whether the advertisement type should be connectable or non-connectable.
+    ConnectionMode connection_mode = 2;
+
+    enum DiscoveryMode {
+        // None specified, defaults to general discoverable
+        DISCOVERY_MODE_UNSPECIFIED = 0;
+        // Non-discoverable, as per section 3.C.9.2.2).
+        DISCOVERY_MODE_NON_DISCOVERABLE = 1;
+        // Limited-discoverable, as per section 3.C.9.2.3).
+        DISCOVERY_MODE_LIMITED = 2;
+        // General-discoverable, as per section 3.C.9.2.4).
+        DISCOVERY_MODE_GENERAL = 3;
+    }
+
+    DiscoveryMode discovery_mode = 3;
+}
+
+message GattDevice {
+    // The endpoint where the emulated device can be found. This endpoint should
+    // provide an implementation of the GattDeviceService and must be
+    // reachable through the provided description.
+    android.emulation.remote.Endpoint endpoint = 1;
+
+    // How this device will be advertised.
+    Advertisement advertisement = 2;
+
+    // The bluetooth profile that is made available.
+    GattProfile profile = 3;
+}
diff --git a/darwin-x86_64/lib/emulated_bluetooth_packets.proto b/darwin-x86_64/lib/emulated_bluetooth_packets.proto
new file mode 100644
index 0000000..b937baf
--- /dev/null
+++ b/darwin-x86_64/lib/emulated_bluetooth_packets.proto
@@ -0,0 +1,59 @@
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulation.bluetooth";
+option csharp_namespace = "Android.Emulation.Bluetooth";
+option objc_class_prefix = "AEB";
+option cc_enable_arenas = true;
+
+package android.emulation.bluetooth;
+
+// A packet that is exchanged between the bluetooth chip and higher layers.
+message HCIPacket {
+    enum PacketType {
+        // The packet is unspecified, and contains raw bytes.
+        // This is mainly here to protect against compatibility issues that can
+        // arise if new enum fields are ever introduced.
+        // See: https://developers.google.com/protocol-buffers/docs/style#enums
+        PACKET_TYPE_UNSPECIFIED = 0;
+
+        // HCI Command Packets: commands are issued by the HCI Driver to the
+        // Host Controller:
+        PACKET_TYPE_HCI_COMMAND = 1;
+
+        // ACL (asynchronous connectionless) packet.
+        PACKET_TYPE_ACL = 2;
+
+        // SCO (synchronous connection orientated) packet.
+        PACKET_TYPE_SCO = 3;
+
+        // HCI Event Packets.
+        PACKET_TYPE_EVENT = 4;
+
+        // Isochronous Channel, a data transmissions that are time-sensitive
+        // and synchronized rendering of these data streams across multiple
+        // receivers. See
+        // https://www.novelbits.io/bluetooth-version-5-2-le-audio/ for an
+        // overview of ISO channels.
+        PACKET_TYPE_ISO = 5;
+    }
+
+    // Indicates the type of packet contained in the packet bytes.
+    PacketType type = 1;
+
+    // The actual data that was transferred.
+    bytes packet = 2;
+}
diff --git a/darwin-x86_64/lib/emulated_bluetooth_vhci.proto b/darwin-x86_64/lib/emulated_bluetooth_vhci.proto
new file mode 100644
index 0000000..42294a0
--- /dev/null
+++ b/darwin-x86_64/lib/emulated_bluetooth_vhci.proto
@@ -0,0 +1,59 @@
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Note that if you add/remove methods in this file you must update
+// the metrics sql as well ./android/scripts/gen-grpc-sql.py
+//
+// Please group deleted methods in a block including the date (MM/DD/YY)
+// it was removed. This enables us to easily keep metrics around after removal
+//
+// List of deleted methods
+// rpc iWasDeleted (03/12/12)
+// ...
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulation.bluetooth";
+option csharp_namespace = "Android.Emulation.Bluetooth";
+option objc_class_prefix = "AEB";
+option cc_enable_arenas = true;
+
+import "emulated_bluetooth_packets.proto";
+package android.emulation.bluetooth;
+
+// This is a service which allows you to directly intercept the VHCI packets
+// that are coming and going to the device before they are delivered to
+// the rootcanal service described below.
+//
+// This service is usually not available on the emulator, and must be explictly
+// requested from the commandline.
+service VhciForwardingService {
+    // This attach directly to /dev/vhci inside the android guest if available
+    //
+    // - This will disable root canal.
+    // - You will have to provide your own virtual bluetooth chip.
+    //
+    // Some things to be aware of:
+    //  - Only one client can be active.
+    //  - Registering when bluetooth is active in android can result in
+    //  undefined behavior.
+    //  - If a client disconnects, rootcanal will be activated again
+    //
+    // Status codes:
+    //   -  FAILED_PRECONDITION (code 9) If another client is controlling /dev/vhci.
+    //
+    // This is an internal testing only interface, and is NOT publicly
+    // supported.
+    rpc attachVhci(stream HCIPacket) returns (stream HCIPacket);
+};
diff --git a/darwin-x86_64/lib64/libOpenglRender.dylib b/darwin-x86_64/lib64/libOpenglRender.dylib
index c1aebba..7f01db0 100755
--- a/darwin-x86_64/lib64/libOpenglRender.dylib
+++ b/darwin-x86_64/lib64/libOpenglRender.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libandroid-curl.dylib b/darwin-x86_64/lib64/libandroid-curl.dylib
index 187f1c2..82bedad 100755
--- a/darwin-x86_64/lib64/libandroid-curl.dylib
+++ b/darwin-x86_64/lib64/libandroid-curl.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libandroid-emu-agents.dylib b/darwin-x86_64/lib64/libandroid-emu-agents.dylib
index 62854e5..bf78381 100755
--- a/darwin-x86_64/lib64/libandroid-emu-agents.dylib
+++ b/darwin-x86_64/lib64/libandroid-emu-agents.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libandroid-emu-tracing.dylib b/darwin-x86_64/lib64/libandroid-emu-tracing.dylib
new file mode 100755
index 0000000..d582db9
--- /dev/null
+++ b/darwin-x86_64/lib64/libandroid-emu-tracing.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libandroid-metrics.dylib b/darwin-x86_64/lib64/libandroid-metrics.dylib
index 2bfd193..34382c3 100755
--- a/darwin-x86_64/lib64/libandroid-metrics.dylib
+++ b/darwin-x86_64/lib64/libandroid-metrics.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libemugl_common.dylib b/darwin-x86_64/lib64/libemugl_common.dylib
index 3de5746..e54065e 100755
--- a/darwin-x86_64/lib64/libemugl_common.dylib
+++ b/darwin-x86_64/lib64/libemugl_common.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libemulator-protos.dylib b/darwin-x86_64/lib64/libemulator-protos.dylib
new file mode 100755
index 0000000..d50acf1
--- /dev/null
+++ b/darwin-x86_64/lib64/libemulator-protos.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libimage_converter.dylib b/darwin-x86_64/lib64/libimage_converter.dylib
index 3c49a75..490238d 100755
--- a/darwin-x86_64/lib64/libimage_converter.dylib
+++ b/darwin-x86_64/lib64/libimage_converter.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libprotobuf-lite.3.19.3.dylib b/darwin-x86_64/lib64/libprotobuf-lite.3.19.3.dylib
index 5474512..647747b 100755
--- a/darwin-x86_64/lib64/libprotobuf-lite.3.19.3.dylib
+++ b/darwin-x86_64/lib64/libprotobuf-lite.3.19.3.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libprotobuf.3.19.3.dylib b/darwin-x86_64/lib64/libprotobuf.3.19.3.dylib
index d3e25f2..9dce54e 100755
--- a/darwin-x86_64/lib64/libprotobuf.3.19.3.dylib
+++ b/darwin-x86_64/lib64/libprotobuf.3.19.3.dylib
Binary files differ
diff --git a/darwin-x86_64/mksdcard b/darwin-x86_64/mksdcard
index 92cc7c9..bdf9938 100755
--- a/darwin-x86_64/mksdcard
+++ b/darwin-x86_64/mksdcard
Binary files differ
diff --git a/darwin-x86_64/nimble_bridge b/darwin-x86_64/nimble_bridge
index 0b19926..4582769 100755
--- a/darwin-x86_64/nimble_bridge
+++ b/darwin-x86_64/nimble_bridge
Binary files differ
diff --git a/darwin-x86_64/qemu-img b/darwin-x86_64/qemu-img
index ce71364..b0bc9aa 100755
--- a/darwin-x86_64/qemu-img
+++ b/darwin-x86_64/qemu-img
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64 b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64
index 59fa6a3..0aa7efe 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless
index da8e500..04d3abf 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-aarch64-headless
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel
index 1124827..eabb242 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel-headless
index f60d76f..17893be 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel-headless
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-armel-headless
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386 b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386
index 8bff685..53af226 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless
index ed3ae83..88e33cd 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386-headless
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64 b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64
index 734132e..60255b4 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64
Binary files differ
diff --git a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless
index eef2ba3..200e8cc 100755
--- a/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless
+++ b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-x86_64-headless
Binary files differ
diff --git a/darwin-x86_64/qsn b/darwin-x86_64/qsn
index 5040d03..7364c2b 100755
--- a/darwin-x86_64/qsn
+++ b/darwin-x86_64/qsn
Binary files differ
diff --git a/darwin-x86_64/source.properties b/darwin-x86_64/source.properties
index d397f55..00f161d 100644
--- a/darwin-x86_64/source.properties
+++ b/darwin-x86_64/source.properties
@@ -1,5 +1,5 @@
 Pkg.UserSrc=false
-Pkg.Revision=31.3.7
+Pkg.Revision=31.3.8
 Pkg.Path=emulator
 Pkg.Desc=Android Emulator
-Pkg.BuildId=8499664
\ No newline at end of file
+Pkg.BuildId=8546606
\ No newline at end of file
diff --git a/linux-x86_64/NOTICE.csv b/linux-x86_64/NOTICE.csv
index fbd2357..d1121da 100644
--- a/linux-x86_64/NOTICE.csv
+++ b/linux-x86_64/NOTICE.csv
@@ -7,7 +7,7 @@
 Qt Core, https://doc.qt.io/qt-5.12/qtCore-index.html#licenses-and-attributions, LGPL-3.0-only, ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-aarch64 ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-x86_64, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
 ext4_utils, https://android.googlesource.com/platform/system/extras/+/master/ext4_utils/NOTICE, Apache-2.0, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so android-emu-agents.so ./emulator ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless emugl_common.so ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/platform/system/extras/+/master/ext4_utils/
 grpc, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev/NOTICE.txt, Apache-2.0, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev
-tinyobjloader, https://android.googlesource.com/platform/external/tinyobjloader/+/refs/heads/master/LICENSE, MIT, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/tinyobjloader/+/refs/heads/master
+ffmpeg, https://github.com/FFmpeg/FFmpeg/blob/master/LICENSE.md, GPL-2.0-or-later, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/ffmpeg-3.4.5.tar.xz
 libjpeg, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/android/third_party/jpeg-6b/NOTICE, IJG, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/android/third_party/jpeg-6b/
 upb, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev/NOTICE.txt, Apache-2.0, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev
 dtc, https://kernel.googlesource.com/pub/scm/utils/dtc/dtc.git/+/refs/heads/master/README.license, GPL-2.0-or-later, ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64 ./qemu/linux-x86_64/qemu-system-aarch64-headless, https://kernel.googlesource.com/pub/scm/utils/dtc/dtc.git/+/refs/heads/master/
@@ -22,14 +22,14 @@
 address_sorting, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev/NOTICE.txt, Apache-2.0, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev
 libpng, https://android.googlesource.com/platform/external/libpng/+/refs/heads/emu-master-dev/LICENSE, libpng, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/libpng/+/refs/heads/emu-master-dev
 None, Apache-2.0, Apache-2.0, ./emulator, 
-c-ares, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev/NOTICE, MIT, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev
+libyuv, https://android.googlesource.com/platform/external/chromium_org/third_party/libyuv/+/refs/heads/master/LICENSE, BSD-3-Clause, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so ./emulator ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 emugl_common.so ./qemu/linux-x86_64/qemu-system-aarch64-headless ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/platform/external/chromium_org/third_party/libyuv/+/refs/heads/master/
 tcmalloc, https://chromium.googlesource.com/external/github.com/gperftools/gperftools/+/refs/heads/master/COPYING, BSD-3-Clause, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so android-curl.so android-emu-agents.so ./emulator ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless emugl_common.so ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless lib64/libtcmalloc_minimal.so.4 ./qemu/linux-x86_64/qemu-system-aarch64, https://chromium.googlesource.com/external/github.com/gperftools/gperftools/+/refs/heads/master
 Qt 5, https://doc.qt.io/qt-5/licensing.html, LGPL-3.0-only, lib64/qt/lib/libQt5WidgetsAndroidEmu.so.5 lib64/qt/plugins/imageformats/libqicns.so lib64/qt/plugins/bearer/libqconnmanbearer.so lib64/qt/lib/libX11-xcb.so.1 lib64/qt/plugins/iconengines/libqsvgicon.so lib64/qt/plugins/imageformats/libqwebp.so lib64/qt/lib/libQt5CoreAndroidEmu.so.5 lib64/qt/plugins/imageformats/libqgif.so lib64/qt/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so lib64/qt/lib/libX11-xcb.so.1.0.0 lib64/qt/lib/libxcb-xkb.so.1.0 lib64/qt/lib/libfreetype.so.6 lib64/qt/plugins/platforms/libqxcb.so lib64/qt/plugins/imageformats/libqtiff.so lib64/qt/plugins/imageformats/libqsvg.so lib64/qt/plugins/bearer/libqnmbearer.so lib64/qt/lib/libxkbcommon.so lib64/qt/lib/libQt5SvgAndroidEmu.so.5 lib64/qt/lib/libX11-xcb.so.1.0 lib64/qt/lib/libxkbcommon-x11.so.0.0.0 lib64/qt/plugins/bearer/libqgenericbearer.so lib64/qt/plugins/imageformats/libqico.so lib64/qt/lib/libQt5NetworkAndroidEmu.so.5 lib64/qt/lib/libQt5XcbQpaAndroidEmu.so.5 ./emulator lib64/qt/lib/libxkbcommon.so.0 lib64/qt/lib/libsoftokn3.so lib64/qt/lib/libQt5PrintSupportAndroidEmu.so.5 lib64/qt/lib/libfontconfig.so.1 lib64/qt/lib/libxkbcommon.so.0.0.0 lib64/qt/lib/libxkbcommon-x11.so lib64/qt/lib/libxcb-xkb.so.1 lib64/qt/lib/libQt5GuiAndroidEmu.so.5 lib64/qt/lib/libxkbcommon-x11.so.0 lib64/qt/plugins/imageformats/libqtga.so lib64/qt/lib/libxcb-xkb.so.1.0.0 lib64/qt/plugins/imageformats/libqwbmp.so lib64/qt/lib/libsqlite3.so lib64/qt/plugins/imageformats/libqjpeg.so lib64/qt/lib/libQt5DBusAndroidEmu.so.5, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
-libyuv, https://android.googlesource.com/platform/external/chromium_org/third_party/libyuv/+/refs/heads/master/LICENSE, BSD-3-Clause, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so ./emulator ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 emugl_common.so ./qemu/linux-x86_64/qemu-system-aarch64-headless ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/platform/external/chromium_org/third_party/libyuv/+/refs/heads/master/
 libc++, https://android.googlesource.com/toolchain/clang/+/refs/heads/master/LICENSE.TXT, LLVM-exception, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless ./emulator ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel lib64/libc++.so.1 ./emulator-check ./nimble_bridge lib64/libc++.so ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./mksdcard ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/toolchain/clang/+/refs/heads/master/
 breakpad, https://android.googlesource.com/platform/external/google-breakpad/+/refs/heads/emu-master-dev/LICENSE, BSD-3-Clause, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/google-breakpad/+/refs/heads/emu-master-dev
 qemu, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/LICENSE, GPL-2.0-only, ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64 ./qemu/linux-x86_64/qemu-system-aarch64-headless, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev
 mesa, https://mesa3d.org/license.html, MIT, lib64/gles_mesa/libGL.so.1 ./emulator lib64/gles_mesa/libGL.so, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/MesaLib-10.4.2.tar.bz2
+c-ares, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev/NOTICE, MIT, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/c-ares/+/refs/heads/emu-master-dev
 e2fs, http://www.linfo.org/e2fsprogs.html, GPL-2.0-only, bin64/resize2fs bin64/fsck.ext4 bin64/tune2fs bin64/mkfs.ext4 bin64/e2fsck ./emulator, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/e2fsprogs-1.42.13-patches.tar.xz
 bios, https://android.googlesource.com/platform/external/qemu-pc-bios/+/refs/heads/master/README, LGPL-2.0-or-later, ./emulator, https://android.googlesource.com/platform/external/qemu-pc-bios/+/refs/heads/master/
 Qt Widgets, https://doc.qt.io/qt-5.12/qtWidgets-index.html#licenses-and-attributions, LGPL-3.0-only, ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-aarch64 ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-x86_64, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/qt-everywhere-src-5.12.1.tar.xz
@@ -37,7 +37,7 @@
 qemu-system, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/LICENSES/LICENSE.APACHE2, Apache-2.0, ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu/linux-x86_64/qemu-system-aarch64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-x86_64-headless, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev
 gpr, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev/NOTICE.txt, Apache-2.0, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/grpc-grpc/+/refs/heads/emu-master-dev
 LibXml2, https://github.com/GNOME/libxml2/blob/mainline/Copyright, MIT, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless emugl_common.so ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/libxml2-2.9.2.tar.gz
-ffmpeg, https://github.com/FFmpeg/FFmpeg/blob/master/LICENSE.md, GPL-2.0-or-later, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/prebuilts/android-emulator-build/archive/+/refs/heads/emu-master-dev/ffmpeg-3.4.5.tar.xz
+tinyobjloader, https://android.googlesource.com/platform/external/tinyobjloader/+/refs/heads/master/LICENSE, MIT, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/tinyobjloader/+/refs/heads/master
 picosha2, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/android/third_party/picosha2/LICENSE, MIT, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless emugl_common.so ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/android/third_party/picosha2/
 hostapd, https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/emu-master-dev/NOTICE, BSD, ./emulator-crash-service ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-armel-headless OpenglRender.so ./nimble_bridge ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64-headless ./qemu/linux-x86_64/qemu-system-aarch64 emugl_common.so ./emulator-check, https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/emu-master-dev
 fdt, https://android.googlesource.com/platform/external/dtc/+/refs/heads/master/README.license, BSD-2-Clause, ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-armel ./qemu/linux-x86_64/qemu-system-i386-headless ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-x86_64 ./qemu/linux-x86_64/qemu-system-aarch64 ./qemu/linux-x86_64/qemu-system-aarch64-headless, https://android.googlesource.com/platform/external/dtc/+/refs/heads/master
@@ -45,7 +45,7 @@
 angle, https://chromium.googlesource.com/angle/angle/LICENSE, BSD-3-Clause, OpenglRender.so lib64/libshadertranslator.so ./emulator, https://chromium.googlesource.com/angle/angle
 libcurl, https://android.googlesource.com/platform/external/curl/+/refs/heads/emu-master-dev/NOTICE, curl, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so android-curl.so ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 emugl_common.so ./qemu/linux-x86_64/qemu-system-aarch64-headless ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/platform/external/curl/+/refs/heads/emu-master-dev
 boringssl, https://android.googlesource.com/platform/external/boringssl/+/refs/heads/master/NOTICE, OpenSSL, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so android-curl.so ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 emugl_common.so ./qemu/linux-x86_64/qemu-system-aarch64-headless ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64, https://android.googlesource.com/platform/external/boringssl/+/refs/heads/master
-protobuf, BSD-3-Clause, BSD-3-Clause, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 emugl_common.so ./qemu/linux-x86_64/qemu-system-aarch64-headless ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel libprotobuf.so ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64 libprotobuf-lite.so, 
+protobuf, BSD-3-Clause, BSD-3-Clause, ./goldfish-webrtc-bridge ./qemu/linux-x86_64/qemu-system-i386 ./qemu/linux-x86_64/qemu-system-i386-headless OpenglRender.so android-metrics.so ./qsn ./qemu/linux-x86_64/qemu-system-x86_64 android-emu-tracing.so ./qemu/linux-x86_64/qemu-system-aarch64-headless emugl_common.so emulator-protos.so ./emulator-crash-service ./qemu/linux-x86_64/qemu-system-armel-headless ./qemu/linux-x86_64/qemu-system-armel libprotobuf.so ./emulator-check ./nimble_bridge ./qemu-img ./qemu/linux-x86_64/qemu-system-x86_64-headless ./qemu/linux-x86_64/qemu-system-aarch64 libprotobuf-lite.so, 
 gtest, https://android.googlesource.com/platform/external/googletest/+/refs/heads/master/LICENSE, BSD3, ./emulator, https://android.googlesource.com/platform/external/googletest/+/refs/heads/master
 mynewt-nmble, https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/third_party/mynewt-nimble/LICENSE, Apache=2.0, ./nimble_bridge, 
 vulkan-sdk, https://vulkan.lunarg.com/software/license/vulkan-1.2.162.1-linux-license-summary.txt, Apache-2.0, lib64/vulkan/libvk_swiftshader.so ./emulator lib64/vulkan/libvulkan.so.1 lib64/vulkan/libvulkan.so, https://vulkan.lunarg.com/sdk/home
diff --git a/linux-x86_64/NOTICE.txt b/linux-x86_64/NOTICE.txt
index 1d08e45..e71ceb7 100644
--- a/linux-x86_64/NOTICE.txt
+++ b/linux-x86_64/NOTICE.txt
@@ -293,30 +293,23 @@
 ./qsn
 OpenglRender.so
 emugl_common.so
-The notices is included for the library: tinyobjloader
+The notices is included for the library: ffmpeg
 
 ===========================================================
-The MIT License (MIT)
 
-Copyright (c) 2012-2016 Syoyo Fujita and many contributors.
+This software uses libraries from the FFmpeg project under the LGPLv2.1
+----
+Licensed under the GNU LIBRARY GENERAL PUBLIC LICENSE, Version 2.1 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
 
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+    https://www.gnu.org/licenses/lgpl-2.1
 
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 
 ===========================================================
@@ -1545,6 +1538,7 @@
 
 ===========================================================
 Notices for file(s):
+./emulator
 ./emulator-check
 ./emulator-crash-service
 ./goldfish-webrtc-bridge
@@ -1561,19 +1555,38 @@
 ./qsn
 OpenglRender.so
 emugl_common.so
-The notices is included for the library: c-ares
+The notices is included for the library: libyuv
 
 ===========================================================
-Copyright 1998 by the Massachusetts Institute of Technology.
- 
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided that
-the above copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation, and that
-the name of M.I.T. not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior permission.
-M.I.T. makes no representations about the suitability of this software for any
-purpose.  It is provided "as is" without express or implied warranty.
+Copyright 2011 The LibYuv Project Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+  * Neither the name of Google nor the names of its contributors may
+    be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
 ===========================================================
@@ -1694,59 +1707,6 @@
 ./emulator-check
 ./emulator-crash-service
 ./goldfish-webrtc-bridge
-./nimble_bridge
-./qemu-img
-./qemu/linux-x86_64/qemu-system-aarch64
-./qemu/linux-x86_64/qemu-system-aarch64-headless
-./qemu/linux-x86_64/qemu-system-armel
-./qemu/linux-x86_64/qemu-system-armel-headless
-./qemu/linux-x86_64/qemu-system-i386
-./qemu/linux-x86_64/qemu-system-i386-headless
-./qemu/linux-x86_64/qemu-system-x86_64
-./qemu/linux-x86_64/qemu-system-x86_64-headless
-./qsn
-OpenglRender.so
-emugl_common.so
-The notices is included for the library: libyuv
-
-===========================================================
-Copyright 2011 The LibYuv Project Authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-  * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
-
-  * Neither the name of Google nor the names of its contributors may
-    be used to endorse or promote products derived from this software
-    without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-===========================================================
-Notices for file(s):
-./emulator
-./emulator-check
-./emulator-crash-service
-./goldfish-webrtc-bridge
 ./mksdcard
 ./nimble_bridge
 ./qemu-img
@@ -2125,6 +2085,39 @@
 
 ===========================================================
 Notices for file(s):
+./emulator-check
+./emulator-crash-service
+./goldfish-webrtc-bridge
+./nimble_bridge
+./qemu-img
+./qemu/linux-x86_64/qemu-system-aarch64
+./qemu/linux-x86_64/qemu-system-aarch64-headless
+./qemu/linux-x86_64/qemu-system-armel
+./qemu/linux-x86_64/qemu-system-armel-headless
+./qemu/linux-x86_64/qemu-system-i386
+./qemu/linux-x86_64/qemu-system-i386-headless
+./qemu/linux-x86_64/qemu-system-x86_64
+./qemu/linux-x86_64/qemu-system-x86_64-headless
+./qsn
+OpenglRender.so
+emugl_common.so
+The notices is included for the library: c-ares
+
+===========================================================
+Copyright 1998 by the Massachusetts Institute of Technology.
+ 
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and that
+the name of M.I.T. not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior permission.
+M.I.T. makes no representations about the suitability of this software for any
+purpose.  It is provided "as is" without express or implied warranty.
+
+
+===========================================================
+Notices for file(s):
 ./emulator
 bin64/e2fsck
 bin64/fsck.ext4
@@ -2436,23 +2429,30 @@
 ./qsn
 OpenglRender.so
 emugl_common.so
-The notices is included for the library: ffmpeg
+The notices is included for the library: tinyobjloader
 
 ===========================================================
+The MIT License (MIT)
 
-This software uses libraries from the FFmpeg project under the LGPLv2.1
-----
-Licensed under the GNU LIBRARY GENERAL PUBLIC LICENSE, Version 2.1 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
+Copyright (c) 2012-2016 Syoyo Fujita and many contributors.
 
-    https://www.gnu.org/licenses/lgpl-2.1
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
 
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
 
 
 ===========================================================
@@ -3046,8 +3046,10 @@
 ./qemu/linux-x86_64/qemu-system-x86_64-headless
 ./qsn
 OpenglRender.so
+android-emu-tracing.so
 android-metrics.so
 emugl_common.so
+emulator-protos.so
 libprotobuf-lite.so
 libprotobuf.so
 The notices is included for the library: protobuf
diff --git a/linux-x86_64/emulator b/linux-x86_64/emulator
index 2aa0341..947db34 100755
--- a/linux-x86_64/emulator
+++ b/linux-x86_64/emulator
Binary files differ
diff --git a/linux-x86_64/emulator-check b/linux-x86_64/emulator-check
index 9e3ad86..ed1a73a 100755
--- a/linux-x86_64/emulator-check
+++ b/linux-x86_64/emulator-check
Binary files differ
diff --git a/linux-x86_64/goldfish-webrtc-bridge b/linux-x86_64/goldfish-webrtc-bridge
index db1d6ec..f0f6207 100755
--- a/linux-x86_64/goldfish-webrtc-bridge
+++ b/linux-x86_64/goldfish-webrtc-bridge
Binary files differ
diff --git a/linux-x86_64/lib/emulated_bluetooth.proto b/linux-x86_64/lib/emulated_bluetooth.proto
new file mode 100644
index 0000000..68429c8
--- /dev/null
+++ b/linux-x86_64/lib/emulated_bluetooth.proto
@@ -0,0 +1,104 @@
+// Copyright (C) 2022 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Note that if you add/remove methods in this file you must update
+// the metrics sql as well ./android/scripts/gen-grpc-sql.py
+//
+// Please group deleted methods in a block including the date (MM/DD/YY)
+// it was removed. This enables us to easily keep metrics around after removal
+//
+// List of deleted methods
+// rpc iWasDeleted (03/12/12)
+// ...
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulator.bluetooth";
+
+package android.emulation.bluetooth;
+import "emulated_bluetooth_packets.proto";
+import "emulated_bluetooth_device.proto";
+
+// An Emulated Bluetooth Service exposes the emulated bluetooth chip from the
+// android emulator. It allows you to register emulated bluetooth devices and
+// control the packets that are exchanged between the device and the world.
+//
+// This service enables you to establish a "virtual network" of emulated
+// bluetooth devices that can interact with each other.
+//
+// Note: This is not yet finalized, it is likely that these definitions will
+// evolve.
+service EmulatedBluetoothService {
+    // Connect device to link layer. This will establish a direct connection
+    // to the emulated bluetooth chip and configure the following:
+    //
+    // - Each connection creates a new device and attaches it to the link layer
+    // - Link Layer packets are transmitted directly to the phy
+    //
+    // This should be used for classic connections.
+    //
+    // This is used to directly connect various android emulators together.
+    // For example a wear device can connect to an android emulator through
+    // this.
+    rpc registerClassicPhy(stream RawData) returns (stream RawData);
+
+    // Connect device to link layer. This will establish a direct connection
+    // to root canal and execute the following:
+    //
+    // - Each connection creates a new device and attaches it to the link layer
+    // - Link Layer packets are transmitted directly to the phy
+    //
+    // This should be used for BLE connections.
+    //
+    // This is used to directly connect various android emulators together.
+    // For example a wear device can connect to an android emulator through
+    // this.
+    rpc registerBlePhy(stream RawData) returns (stream RawData);
+
+    // Connect the device to the emulated bluetooth chip. The device will
+    // participate in the network. You can configure the chip to scan, advertise
+    // and setup connections with other devices that are connected to the
+    // network.
+    //
+    // This is usually used when you have a need for an emulated bluetooth chip
+    // and have a bluetooth stack that can interpret and handle the packets
+    // correctly.
+    //
+    // For example the apache nimble stack can use this endpoint as the
+    // transport layer.
+    rpc registerHCIDevice(stream HCIPacket) returns (stream HCIPacket);
+
+    // Registers an emulated bluetooth device. The emulator will reach out to
+    // the emulated device to read/write and subscribe to properties.
+    //
+    // The following gRPC error codes can be returned:
+    // -  FAILED_PRECONDITION (code 9):
+    //      - root canal is not available on this device
+    //      - unable to reach the endpoint for the GattDevice
+    // -  INTERNAL (code 13) if there was an internal emulator failure.
+    //
+    // The device will not be discoverable in case of an error.
+    rpc registerGattDevice(GattDevice) returns (RegistrationStatus);
+};
+
+message RawData {
+    // A packet of raw bytes that should be delivered.
+    bytes packet = 1;
+};
+
+message RegistrationStatus {
+    // The identity of the registered device. The emulator will provide this
+    // when executing a request for a CharacteristicValueRequest
+    CallbackIdentifier callback_device_id = 1;
+}
\ No newline at end of file
diff --git a/linux-x86_64/lib/emulated_bluetooth_device.proto b/linux-x86_64/lib/emulated_bluetooth_device.proto
new file mode 100644
index 0000000..3061bb5
--- /dev/null
+++ b/linux-x86_64/lib/emulated_bluetooth_device.proto
@@ -0,0 +1,373 @@
+// Copyright (C) 2022 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// An EmulatedBluetoothService represents a bluetooth Gatt device.
+// The android emulator will connect to this service to read/write and
+// observe characteristics if the emulator establishes a connection
+// to this device.
+//
+// You will need to implement this service and register the endpoint with
+// the emulator to make this device discoverable.
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulator.bluetooth";
+
+package android.emulation.bluetooth;
+import "grpc_endpoint_description.proto";
+import "google/protobuf/empty.proto";
+
+// You can provide your own GattDevice by implementing this service
+// and registering it with the android emulator.
+//
+// The device will appear as a real bluetooth device, and you will
+// receive callbacks when the bluetooth system wants to
+// read, write or observe a characteristic.
+service GattDeviceService {
+    // A remote client has requested to read a local characteristic.
+    //
+    // Return the current observed value.
+    rpc OnCharacteristicReadRequest(CharacteristicValueRequest)
+            returns (CharacteristicValueResponse);
+
+    // A remote client has requested to write to a local characteristic.
+    //
+    // Return the current observed value.
+    rpc OnCharacteristicWriteRequest(CharacteristicValueRequest)
+            returns (CharacteristicValueResponse);
+
+    // Listens for notifications from the emulated device, the device should
+    // write to the stream with a response when a change has occurred.
+    rpc OnCharacteristicObserveRequest(CharacteristicValueRequest)
+            returns (stream CharacteristicValueResponse);
+
+    // A remote device has been connected or disconnected.
+    rpc OnConnectionStateChange(ConnectionStateChange)
+            returns (google.protobuf.Empty);
+}
+
+// A callback identifier is used by the service to identify
+// who should handle the any of the requests above.
+//
+// This is only relevant if you have a single endpoint that
+// emulates multiple devices.
+message CallbackIdentifier {
+    string identity = 1;
+}
+
+// A Device Identifier is used to uniquely identify an emulated
+// bluetooth device on the rootcanal mesh.
+message DeviceIdentifier {
+    // A string that uniquely identifies this device on the
+    // rootcanal mesh.
+    string address = 1;
+}
+
+message ConnectionStateChange {
+    enum ConnectionState {
+        CONNECTION_STATE_UNDEFINED = 0;
+        // The profile is in disconnected state
+        CONNECTION_STATE_DISCONNECTED = 1;
+        // The profile is in connected state
+        CONNECTION_STATE_CONNECTED = 2;
+    }
+
+    // The identity of the device is receiving the state change.
+    CallbackIdentifier callback_device_id = 1;
+
+    // The identity of the device that is changing state.
+    DeviceIdentifier from_device = 2;
+
+    // The current state of the device
+    ConnectionState new_state = 3;
+}
+
+// A UUID is a universally unique identifier that is guaranteed to be unique
+// across all space and all time. UUIDs can be independently created in a
+// distributed fashion. No central registry of assigned UUIDs is required. A
+// UUID is a 128-bit value.
+//
+// To reduce the burden of storing and transferring 128-bit UUID values, a range
+// of UUID values has been pre-allocated for assignment to often-used,
+// registered purposes.
+//
+// The first UUID in this pre-allocated range is known as
+// the Bluetooth Base UUID and has the value 00000000-0000-1000-8000-
+// 00805F9B34FB, from Assigned Numbers. UUID values in the pre-allocated
+// range have aliases that are represented as 16-bit or 32-bit values.
+//
+// These aliases are often called 16-bit and 32-bit UUIDs, but each actually
+// represents a 128-bit UUID value.
+//
+// The full 128-bit value of a 16-bit or 32-bit
+// UUID may be computed by a simple arithmetic operation:
+//
+// 128_bit_value = 16_bit_value * 2^96 + Bluetooth_Base_UUID
+// 128_bit_value = 32_bit_value * 2^96 + Bluetooth_Base_UUID
+//
+// A 16-bit UUID may be converted to 32-bit UUID format by zero-extending the
+// 16-bit value to 32-bits. An equivalent method is to add the 16-bit UUID value
+// to a zero-valued 32-bit UUID.
+//
+// Note: Two 16-bit UUIDs may be compared
+// directly, as may two 32-bit UUIDs or two 128-bit UUIDs. If two UUIDs of
+// differing sizes are to be compared, the shorter UUID must be converted to the
+// longer UUID format before comparison.
+message Uuid {
+    oneof short_or_long {
+        // The shortened bluetooth uuid, either 16/32 bit.
+        uint32 id = 1;
+
+        // The first 8 hex digits of the guid, if you are using
+        // 128 bit guid.  These are the least significant bits.
+        uint64 lsb = 2;
+    }
+
+    // The next 8 hex digits of the guid, ignored if the lsb value is not set.
+    // These are the most significant bits.
+    int64 msb = 3;
+}
+
+// Data exchanged to read/write bluetooth characteristics
+message CharacteristicValueRequest {
+    // The identity of the device we are making this request to. The gRPC
+    // service for the emulated device must route the request to the actual
+    // device that emulates this identity.
+    //
+    // This is needed if you wish to emulate multipe devices on a single
+    // gRPC endpoint.
+    CallbackIdentifier callback_device_id = 1;
+
+    // The identity of the device that is making this request.
+    DeviceIdentifier from_device = 2;
+
+    // The specific callback id for which this request is. This is the
+    // callback_id used to register the given characteristic. If the value
+    // was not set it will be the uuid of the characteristic.
+    Uuid callback_id = 3;
+
+    // The raw data in the request. The application developer will
+    // need to parse the data and handle it properly.
+    bytes data = 4;
+}
+
+// Data exchanged to read/write bluetooth characteristics
+message CharacteristicValueResponse {
+    enum GattStatus {
+        GATT_STATUS_UNSPECIFIED = 0;
+        // A GATT operation completed successfully
+        GATT_STATUS_SUCCESS = 1;
+        // A GATT operation failed
+        GATT_STATUS_FAILURE = 2;
+    }
+
+    // The status of the request to be sent to the remote devices
+    GattStatus status = 1;
+
+    // The data of interest, this should contain the raw data according
+    // to the bluetooth specification for the requested charactersic uuid.
+    bytes data = 2;
+}
+
+message GattCharacteristic {
+    // The Characteristic Properties bit field determines how the Characteristic
+    // Value can be used, or how the characteristic descriptors can be accessed.
+
+    // Properties Value Description.
+    enum Properties {
+        PROPERTY_UNSPECIFIED = 0;
+
+        // If set, permits broadcasts of the Characteristic
+        // Value using Server Characteristic Configuration Descriptor. If set,
+        // the Server Characteristic Configuration Descriptor shall exist.
+        PROPERTY_BROADCAST = 0x01;
+
+        // If set, permits reads of the Characteristic Value using procedures
+        // defined in Section 4.8
+        PROPERTY_READ = 0x02;
+
+        // If set, permit writes of the Characteristic Value without response
+        // using procedures defined in Section 4.9.1.
+        PROPERTY_WRITE_NO_RESPONSE = 0x04;
+
+        // If set, permits writes of the Characteristic Value with response
+        // using procedures defined in Section 4.9.3 or Section 4.9.4.
+        PROPERTY_WRITE = 0x08;
+
+        // If set, permits notifications of a Characteristic Value without
+        // acknowledgment using the procedure defined in Section 4.10. If
+        // set, the Client Characteristic Configuration Descriptor shall exist.
+        PROPERTY_NOTIFY = 0x10;
+
+        // If set, permits indications of a Characteristic Value with
+        // acknowledgment using the procedure defined in Section 4.11. If set,
+        // the Client Characteristic Configuration Descriptor shall exist.
+        PROPERTY_INDICATE = 0x20;
+
+        // If set, permits signed writes to the Characteristic Value using the
+        // procedure defined in Section 4.9.2.
+        PROPERTY_SIGNED_WRITE = 0x40;
+
+        // If set, additional characteristic properties are defined in the
+        // Characteristic Extended Properties Descriptor defined in Section
+        // 3.3.3.1. If set, the Characteristic Extended Properties Descriptor
+        PROPERTY_EXTENDED_PROPS = 0x80;
+    }
+
+    // An attribute has a set of permission values associated with it. The
+    // permissions associated with an attribute specifies that it may be read
+    // and/or written. The permissions associated with the attribute specifies
+    // the security level required for read and/or write access, as well as
+    // notification and/or indication. The permissions of a given attribute are
+    // defined by a higher layer specification, and are not discoverable using
+    // the Attribute protocol.
+    enum Permissions {
+        PERMISSION_UNSPECIFIED = 0;
+
+        //  Characteristic read permission
+        PERMISSION_READ = 0x01;
+
+        // Characteristic permission: Allow encrypted read operations
+        PERMISSION_READ_ENCRYPTED = 0x02;
+
+        // Characteristic permission: Allow reading with person-in-the-middle
+        // protection
+        PERMISSION_READ_ENCRYPTED_MITM = 0x04;
+
+        // Characteristic write permission
+        PERMISSION_WRITE = 0x10;
+
+        // Characteristic permission: Allow encrypted writes
+        PERMISSION_WRITE_ENCRYPTED = 0x20;
+
+        // Characteristic permission: Allow encrypted writes with
+        // person-in-the-middle protection
+        PERMISSION_WRITE_ENCRYPTED_MITM = 0x40;
+
+        // Characteristic permission: Allow signed write operations
+        PERMISSION_WRITE_SIGNED = 0x80;
+
+        // Characteristic permission: Allow signed write operations with
+        // person-in-the-middle protection
+        PERMISSION_WRITE_SIGNED_MITM = 0x100;
+    }
+
+    // The UUID identifying this characteristic, for a list of UUIDS:
+    // https://www.bluetooth.com/specifications/assigned-numbers/
+    //
+    // Or (the much easier to use) XML definitions:
+    // https://github.com/sputnikdev/bluetooth-gatt-parser/tree/master/src/main/resources/gatt/characteristic
+    //
+    // For example the uuid=0x2A19 indicates the "The current charge level of a
+    // battery."
+    Uuid uuid = 1;
+
+    // Contains a mask of the properties described in the properties enum.
+    // Property definitions are *ONLY* required during device registration.
+    uint32 properties = 2;
+
+    // Contains a mask of the permissions described in the permissions enum.
+    // Permission definitions are *ONLY* required during device registration.
+    uint32 permissions = 3;
+
+    // The callback_id that will be set whenever a bluetooth request
+    // comes in for this characteristic. Defaults to the value in uuid (field 1)
+    // if it is not set. You will only need to set this if the same uuid is
+    // defined multiple defines in your service, and can be used to disambiguate
+    // which characterisic is requested.
+    Uuid callback_id = 4;
+}
+
+// A Gatt service definition.
+message GattService {
+    enum ServiceType {
+        SERVICE_TYPE_UNSPECIFIED = 0;
+
+        // Primary service
+        SERVICE_TYPE_PRIMARY = 0x01;
+
+        // Secondary service (included by primary services)
+        SERVICE_TYPE_SECONDARY = 0x02;
+    }
+
+    // The uuid of this service. This can be a: 16, 32 or 128  bit uuid.  This
+    // is usually a well defined UUID from the bluetooth specification. For
+    // example 0x180D indicates a heart rate monitor. See
+    // https://www.bluetooth.com/specifications/assigned-numbers/service-discovery/
+    // for a list of well known uuid's.
+    Uuid uuid = 1;
+    ServiceType service_type = 2;
+    repeated GattCharacteristic characteristics = 3;
+}
+
+// A Gatt profile consists of a series of services that are offered
+// to clients. Gatt profiles are well defined in the spec. You can find
+// more information about the various profiles in the official specifications:
+// https://www.bluetooth.com/specifications/specs/
+//
+// A concrete example is the Heart Rate Monitor:
+// https://www.bluetooth.com/specifications/specs/heart-rate-service-1-0/
+message GattProfile {
+    repeated GattService services = 1;
+}
+
+// The advertisement definition, this will be used to advertise the
+// bluetooth device to android emulator. Every device that is registered
+// will be discoverable by the emulator.
+message Advertisement {
+    // The name of the device as an UTF-8 string. This is how the device will
+    // show up when android scans for devices. Only the first 29 bytes will show
+    // up on an in initial scan.
+    string device_name = 1;
+
+    enum ConnectionMode {
+        // None specified, defaults to undirected
+        CONNECTION_MODE_UNSPECIFIED = 0;
+        // Non-connectable, as per section 3.C.9.3.2
+        CONNECTION_MODE_NON_CONNECTABLE = 1;
+        // Directed-connectable, as per section 3.C.9.3.3
+        CONNECTION_MODE_DIRECTED = 2;
+        // Undirected-connectable, as per section 3.C.9.3.4
+        CONNECTION_MODE_UNDIRECTED = 3;
+    }
+
+    //  Whether the advertisement type should be connectable or non-connectable.
+    ConnectionMode connection_mode = 2;
+
+    enum DiscoveryMode {
+        // None specified, defaults to general discoverable
+        DISCOVERY_MODE_UNSPECIFIED = 0;
+        // Non-discoverable, as per section 3.C.9.2.2).
+        DISCOVERY_MODE_NON_DISCOVERABLE = 1;
+        // Limited-discoverable, as per section 3.C.9.2.3).
+        DISCOVERY_MODE_LIMITED = 2;
+        // General-discoverable, as per section 3.C.9.2.4).
+        DISCOVERY_MODE_GENERAL = 3;
+    }
+
+    DiscoveryMode discovery_mode = 3;
+}
+
+message GattDevice {
+    // The endpoint where the emulated device can be found. This endpoint should
+    // provide an implementation of the GattDeviceService and must be
+    // reachable through the provided description.
+    android.emulation.remote.Endpoint endpoint = 1;
+
+    // How this device will be advertised.
+    Advertisement advertisement = 2;
+
+    // The bluetooth profile that is made available.
+    GattProfile profile = 3;
+}
diff --git a/linux-x86_64/lib/emulated_bluetooth_packets.proto b/linux-x86_64/lib/emulated_bluetooth_packets.proto
new file mode 100644
index 0000000..b937baf
--- /dev/null
+++ b/linux-x86_64/lib/emulated_bluetooth_packets.proto
@@ -0,0 +1,59 @@
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulation.bluetooth";
+option csharp_namespace = "Android.Emulation.Bluetooth";
+option objc_class_prefix = "AEB";
+option cc_enable_arenas = true;
+
+package android.emulation.bluetooth;
+
+// A packet that is exchanged between the bluetooth chip and higher layers.
+message HCIPacket {
+    enum PacketType {
+        // The packet is unspecified, and contains raw bytes.
+        // This is mainly here to protect against compatibility issues that can
+        // arise if new enum fields are ever introduced.
+        // See: https://developers.google.com/protocol-buffers/docs/style#enums
+        PACKET_TYPE_UNSPECIFIED = 0;
+
+        // HCI Command Packets: commands are issued by the HCI Driver to the
+        // Host Controller:
+        PACKET_TYPE_HCI_COMMAND = 1;
+
+        // ACL (asynchronous connectionless) packet.
+        PACKET_TYPE_ACL = 2;
+
+        // SCO (synchronous connection orientated) packet.
+        PACKET_TYPE_SCO = 3;
+
+        // HCI Event Packets.
+        PACKET_TYPE_EVENT = 4;
+
+        // Isochronous Channel, a data transmissions that are time-sensitive
+        // and synchronized rendering of these data streams across multiple
+        // receivers. See
+        // https://www.novelbits.io/bluetooth-version-5-2-le-audio/ for an
+        // overview of ISO channels.
+        PACKET_TYPE_ISO = 5;
+    }
+
+    // Indicates the type of packet contained in the packet bytes.
+    PacketType type = 1;
+
+    // The actual data that was transferred.
+    bytes packet = 2;
+}
diff --git a/linux-x86_64/lib/emulated_bluetooth_vhci.proto b/linux-x86_64/lib/emulated_bluetooth_vhci.proto
new file mode 100644
index 0000000..42294a0
--- /dev/null
+++ b/linux-x86_64/lib/emulated_bluetooth_vhci.proto
@@ -0,0 +1,59 @@
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Note that if you add/remove methods in this file you must update
+// the metrics sql as well ./android/scripts/gen-grpc-sql.py
+//
+// Please group deleted methods in a block including the date (MM/DD/YY)
+// it was removed. This enables us to easily keep metrics around after removal
+//
+// List of deleted methods
+// rpc iWasDeleted (03/12/12)
+// ...
+syntax = "proto3";
+
+option java_multiple_files = true;
+option java_package = "com.android.emulation.bluetooth";
+option csharp_namespace = "Android.Emulation.Bluetooth";
+option objc_class_prefix = "AEB";
+option cc_enable_arenas = true;
+
+import "emulated_bluetooth_packets.proto";
+package android.emulation.bluetooth;
+
+// This is a service which allows you to directly intercept the VHCI packets
+// that are coming and going to the device before they are delivered to
+// the rootcanal service described below.
+//
+// This service is usually not available on the emulator, and must be explictly
+// requested from the commandline.
+service VhciForwardingService {
+    // This attach directly to /dev/vhci inside the android guest if available
+    //
+    // - This will disable root canal.
+    // - You will have to provide your own virtual bluetooth chip.
+    //
+    // Some things to be aware of:
+    //  - Only one client can be active.
+    //  - Registering when bluetooth is active in android can result in
+    //  undefined behavior.
+    //  - If a client disconnects, rootcanal will be activated again
+    //
+    // Status codes:
+    //   -  FAILED_PRECONDITION (code 9) If another client is controlling /dev/vhci.
+    //
+    // This is an internal testing only interface, and is NOT publicly
+    // supported.
+    rpc attachVhci(stream HCIPacket) returns (stream HCIPacket);
+};
diff --git a/linux-x86_64/lib64/libOpenglRender.so b/linux-x86_64/lib64/libOpenglRender.so
index 423b989..72312f4 100644
--- a/linux-x86_64/lib64/libOpenglRender.so
+++ b/linux-x86_64/lib64/libOpenglRender.so
Binary files differ
diff --git a/linux-x86_64/lib64/libandroid-emu-agents.so b/linux-x86_64/lib64/libandroid-emu-agents.so
index 9449fae..e0b7af1 100644
--- a/linux-x86_64/lib64/libandroid-emu-agents.so
+++ b/linux-x86_64/lib64/libandroid-emu-agents.so
Binary files differ
diff --git a/linux-x86_64/lib64/libandroid-emu-tracing.so b/linux-x86_64/lib64/libandroid-emu-tracing.so
new file mode 100644
index 0000000..c631070
--- /dev/null
+++ b/linux-x86_64/lib64/libandroid-emu-tracing.so
Binary files differ
diff --git a/linux-x86_64/lib64/libandroid-metrics.so b/linux-x86_64/lib64/libandroid-metrics.so
index a4b83cb..3c31530 100644
--- a/linux-x86_64/lib64/libandroid-metrics.so
+++ b/linux-x86_64/lib64/libandroid-metrics.so
Binary files differ
diff --git a/linux-x86_64/lib64/libemugl_common.so b/linux-x86_64/lib64/libemugl_common.so
index 62bbaff..3d8049b 100644
--- a/linux-x86_64/lib64/libemugl_common.so
+++ b/linux-x86_64/lib64/libemugl_common.so
Binary files differ
diff --git a/linux-x86_64/lib64/libemulator-protos.so b/linux-x86_64/lib64/libemulator-protos.so
new file mode 100644
index 0000000..9f4d04e
--- /dev/null
+++ b/linux-x86_64/lib64/libemulator-protos.so
Binary files differ
diff --git a/linux-x86_64/nimble_bridge b/linux-x86_64/nimble_bridge
index f62e184..dda6135 100755
--- a/linux-x86_64/nimble_bridge
+++ b/linux-x86_64/nimble_bridge
Binary files differ
diff --git a/linux-x86_64/qemu-img b/linux-x86_64/qemu-img
index a3e361b..cb75072 100755
--- a/linux-x86_64/qemu-img
+++ b/linux-x86_64/qemu-img
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64 b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64
index 5615cff..4df78de 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless
index b082079..ca40582 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-aarch64-headless
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-armel b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel
index c322e3b..d38c7ec 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-armel
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-armel-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel-headless
index 2d00878..072bd7c 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-armel-headless
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-armel-headless
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386 b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386
index 5670744..cf91e71 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless
index d07876b..0b5bd38 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386-headless
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64 b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64
index 68aff77..2db96f0 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64
Binary files differ
diff --git a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless
index a4221a5..bf4684d 100755
--- a/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless
+++ b/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64-headless
Binary files differ
diff --git a/linux-x86_64/qsn b/linux-x86_64/qsn
index d796ae8..3792646 100755
--- a/linux-x86_64/qsn
+++ b/linux-x86_64/qsn
Binary files differ
diff --git a/linux-x86_64/source.properties b/linux-x86_64/source.properties
index d397f55..00f161d 100644
--- a/linux-x86_64/source.properties
+++ b/linux-x86_64/source.properties
@@ -1,5 +1,5 @@
 Pkg.UserSrc=false
-Pkg.Revision=31.3.7
+Pkg.Revision=31.3.8
 Pkg.Path=emulator
 Pkg.Desc=Android Emulator
-Pkg.BuildId=8499664
\ No newline at end of file
+Pkg.BuildId=8546606
\ No newline at end of file