Upgrade emulator to emu-master-dev build 5924900
am: cb5c21b097

Change-Id: I47b2a6e4b6f6ac5fe72f098ed1601c6929f4d0b1
diff --git a/darwin-x86_64/NOTICE.txt b/darwin-x86_64/NOTICE.txt
index 7c9b556..4485d44 100644
--- a/darwin-x86_64/NOTICE.txt
+++ b/darwin-x86_64/NOTICE.txt
@@ -12,6 +12,8 @@
 /emulator/lib64/libGLES_CM_translator.dylib
 /emulator/lib64/libGLES12Translator.dylib
 /emulator/lib64/libOpenglRender.dylib
+/emulator/lib64/emulator-studio-view.jar
+/emulator/lib64/libandroid-studio.dylib
 /emulator/lib64/libEGL_translator.dylib
 /emulator/lib64/libGLES_V2_translator.dylib
 /emulator/lib64/qt/plugins/platforms/libqcocoa.dylib
@@ -28,13 +30,137 @@
 /emulator/lib64/qt/plugins/imageformats/libqicns.dylib
 /emulator/lib64/qt/plugins/imageformats/libqtga.dylib
 /emulator/lib64/qt/plugins/imageformats/libqmacjp2.dylib
+/emulator/lib64/qt/libexec/QtWebEngineProcess
+/emulator/lib64/qt/libexec/qtwebengine_resources.pak
+/emulator/lib64/qt/libexec/icudtl.dat
+/emulator/lib64/qt/libexec/qtwebengine_resources_200p.pak
+/emulator/lib64/qt/libexec/qtwebengine_devtools_resources.pak
+/emulator/lib64/qt/libexec/qtwebengine_resources_100p.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ar.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/lt.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/tr.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/te.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/pt-PT.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/lv.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/mr.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ms.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/nl.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/bn.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/vi.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ta.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ja.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/hi.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/pt-BR.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/pl.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/sw.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/fa.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/el.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/sv.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/sr.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/es-419.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/fr.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ru.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/gu.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/id.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/fil.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/sk.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ro.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/zh-CN.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/es.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ko.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/hu.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/kn.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/fi.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/da.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/sl.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/de.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/zh-TW.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/it.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/hr.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/he.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/et.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/en-US.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/cs.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/nb.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/am.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ml.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/uk.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/bg.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/th.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/ca.pak
+/emulator/lib64/qt/libexec/translations/qtwebengine_locales/en-GB.pak
+/emulator/lib64/qt/resources/qtwebengine_resources.pak
+/emulator/lib64/qt/resources/icudtl.dat
+/emulator/lib64/qt/resources/qtwebengine_resources_200p.pak
+/emulator/lib64/qt/resources/qtwebengine_devtools_resources.pak
+/emulator/lib64/qt/resources/qtwebengine_resources_100p.pak
+/emulator/lib64/qt/lib/libQt5QmlAndroidEmu.5.12.1.dylib
 /emulator/lib64/qt/lib/libQt5SvgAndroidEmu.5.12.1.dylib
 /emulator/lib64/qt/lib/libQt5GuiAndroidEmu.5.12.1.dylib
 /emulator/lib64/qt/lib/libQt5DBusAndroidEmu.5.12.1.dylib
+/emulator/lib64/qt/lib/libQt5WebChannelAndroidEmu.5.12.1.dylib
 /emulator/lib64/qt/lib/libQt5NetworkAndroidEmu.5.12.1.dylib
+/emulator/lib64/qt/lib/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib
 /emulator/lib64/qt/lib/libQt5PrintSupportAndroidEmu.5.12.1.dylib
 /emulator/lib64/qt/lib/libQt5WidgetsAndroidEmu.5.12.1.dylib
+/emulator/lib64/qt/lib/libQt5WebSocketsAndroidEmu.5.12.1.dylib
+/emulator/lib64/qt/lib/libQt5WebEngineCoreAndroidEmu.5.12.1.dylib
 /emulator/lib64/qt/lib/libQt5CoreAndroidEmu.5.12.1.dylib
+/emulator/lib64/qt/lib/libQt5QuickWidgetsAndroidEmu.5.12.1.dylib
+/emulator/lib64/qt/lib/libQt5QuickAndroidEmu.5.12.1.dylib
+/emulator/lib64/qt/translations/qtwebengine_locales/ar.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/lt.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/tr.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/te.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/pt-PT.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/lv.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/mr.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ms.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/nl.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/bn.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/vi.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ta.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ja.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/hi.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/pt-BR.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/pl.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/sw.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/fa.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/el.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/sv.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/sr.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/es-419.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/fr.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ru.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/gu.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/id.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/fil.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/sk.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ro.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/zh-CN.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/es.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ko.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/hu.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/kn.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/fi.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/da.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/sl.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/de.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/zh-TW.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/it.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/hr.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/he.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/et.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/en-US.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/cs.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/nb.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/am.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ml.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/uk.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/bg.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/th.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/ca.pak
+/emulator/lib64/qt/translations/qtwebengine_locales/en-GB.pak
 /emulator/lib64/gles_swiftshader/libGLES_CM.dylib
 /emulator/lib64/gles_swiftshader/libEGL.dylib
 /emulator/lib64/gles_swiftshader/libGLESv2.dylib
@@ -52,14 +178,23 @@
 /emulator/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
 /emulator/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
 /emulator/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
+/emulator/lib64/vulkan/shaders/Astc_1DArray.spv
 /emulator/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
 /emulator/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
 /emulator/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
 /emulator/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
 /emulator/lib64/vulkan/shaders/Etc2RGB8_3D.spv
+/emulator/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv
+/emulator/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv
 /emulator/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
+/emulator/lib64/vulkan/shaders/Astc_3D.spv
+/emulator/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv
 /emulator/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
+/emulator/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv
 /emulator/lib64/vulkan/shaders/EacR11Unorm_3D.spv
+/emulator/lib64/vulkan/shaders/Astc_2DArray.spv
+/emulator/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv
+/emulator/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv
 /emulator/resources/poster.png
 /emulator/resources/Toren1BD.obj
 /emulator/resources/Toren1BD.posters
@@ -86,6 +221,8 @@
 /emulator/qemu/darwin-x86_64/qemu-system-x86_64
 /emulator/qemu/darwin-x86_64/qemu-system-armel
 /emulator/qemu/darwin-x86_64/qemu-system-i386-headless
+/emulator/lib/waterfall.proto
+/emulator/lib/emulator_controller.proto
 /emulator/lib/hardware-properties.ini
 /emulator/lib/advancedFeaturesCanary.ini
 /emulator/lib/emu-original-feature-flags.protobuf
diff --git a/darwin-x86_64/emulator b/darwin-x86_64/emulator
index cc9c391..62c3a80 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 04ec88a..148a9b8 100755
--- a/darwin-x86_64/emulator-check
+++ b/darwin-x86_64/emulator-check
Binary files differ
diff --git a/darwin-x86_64/emulator-headless b/darwin-x86_64/emulator-headless
index 8fbfbbb..15ff65e 100755
--- a/darwin-x86_64/emulator-headless
+++ b/darwin-x86_64/emulator-headless
Binary files differ
diff --git a/darwin-x86_64/lib/advancedFeatures.ini b/darwin-x86_64/lib/advancedFeatures.ini
index 95723fa..9c8600f 100644
--- a/darwin-x86_64/lib/advancedFeatures.ini
+++ b/darwin-x86_64/lib/advancedFeatures.ini
@@ -280,3 +280,8 @@
 # YUVCache is a guest side feature which asks the host to cache the
 # HAL_PIXEL_FORMAT_YCbCr_420_888 and HAL_PIXEL_FORMAT_YV12 frame.
 YUVCache = on
+
+# KeycodeForwarding-------------------------------------------------------------
+# KeycodeForwarding is a guest side feature which emulator host will capture the keypress
+# and forward Liunx keycode to Android system.
+KeycodeForwarding = on
\ No newline at end of file
diff --git a/darwin-x86_64/lib/advancedFeaturesCanary.ini b/darwin-x86_64/lib/advancedFeaturesCanary.ini
index 5e64d5c..24a263a 100644
--- a/darwin-x86_64/lib/advancedFeaturesCanary.ini
+++ b/darwin-x86_64/lib/advancedFeaturesCanary.ini
@@ -219,7 +219,7 @@
 DynamicPartition = on
 
 # Location UI v2----------------------------------------------------------------
-LocationUiV2 = off
+LocationUiV2 = on
 
 # SnapshotAdb-------------------------------------------------------------------
 SnapshotAdb = off
@@ -285,3 +285,8 @@
 # YUVCache is a guest side feature which asks the host to cache the
 # HAL_PIXEL_FORMAT_YCbCr_420_888 and HAL_PIXEL_FORMAT_YV12 frame.
 YUVCache = on
+
+# KeycodeForwarding-------------------------------------------------------------
+# KeycodeForwarding is a guest side feature which emulator host will capture the keypress
+# and forward Liunx keycode to Android system.
+KeycodeForwarding = on
\ No newline at end of file
diff --git a/darwin-x86_64/lib/emulator_controller.proto b/darwin-x86_64/lib/emulator_controller.proto
new file mode 100644
index 0000000..e9c3edd
--- /dev/null
+++ b/darwin-x86_64/lib/emulator_controller.proto
@@ -0,0 +1,415 @@
+// Copyright (C) 2018 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 = "android.emulation.control";
+option java_outer_classname = "";
+option objc_class_prefix = "AEC";
+
+package android.emulation.control;
+
+import "google/protobuf/empty.proto";
+
+// An EmulatorController service lets you control the emulator.
+service EmulatorController {
+    rpc setRotation(Rotation) returns (Rotation) {}
+    rpc getRotation(google.protobuf.Empty) returns (Rotation) {}
+
+    rpc setBattery(BatteryState) returns (BatteryState) {}
+    rpc getBattery(google.protobuf.Empty) returns (BatteryState) {}
+
+    rpc getGps(google.protobuf.Empty) returns (GpsState) {}
+    rpc setGps(GpsState) returns (GpsState) {}
+
+    rpc sendFingerprint(FingerprintEvent) returns (google.protobuf.Empty) {}
+    rpc sendKey(KeyboardEvent) returns (google.protobuf.Empty) {}
+
+    // Note that touch events can be used instead of mouse events if desired.
+    rpc sendTouch(TouchEvent) returns (google.protobuf.Empty) {}
+    rpc sendMouse(MouseEvent) returns (google.protobuf.Empty) {}
+    rpc sendRotary(RotaryEvent) returns (google.protobuf.Empty) {}
+
+    rpc getVmConfiguration(google.protobuf.Empty) returns (VmConfiguration) {}
+
+    rpc getScreenshot(ImageFormat) returns (Image) {}
+
+    // Returns the last 128Kb of logcat output from the emulator
+    rpc getLogcat(LogMessage) returns (LogMessage) {}
+
+    // Streams the logcat output from the emulator. The first call
+    // can retrieve up to 128Kb. This call will not return.
+    rpc streamLogcat(LogMessage) returns (stream LogMessage) {}
+
+    rpc usePhone(TelephoneOperation) returns (TelephoneResponse) {}
+
+    // The following endpoints are needed to establish the webrtc protocol
+    // Due to limitiations in Javascript we cannot make use of bidirectional
+    // endpoints See this [blog](https://grpc.io/blog/state-of-grpc-web) for
+    // details.
+
+    // This function will generate a new identifier that the client
+    // should use for further interaction. It will initiate the
+    // JSEP protocol on the server side.
+    rpc requestRtcStream(google.protobuf.Empty) returns (RtcId) {}
+
+    // Sends the given JsepMsg to the server. The RtcId in the
+    // message should point to an active stream negotiation in
+    // progress, otherwise the message will be ignored.
+    rpc sendJsepMessage(JsepMsg) returns (google.protobuf.Empty) {}
+
+    // Reads an available jsep messages for the given client id,
+    // blocking at most 5 seconds, or until one becomes available.
+    //
+    // The ice candidates for example will trickle in on this callback,
+    // as will the SDP negotation.
+    rpc receiveJsepMessage(RtcId) returns (JsepMsg) {}
+}
+
+message RtcId {
+    // The unique identifier of this connection. You will have to use the same
+    // identifier when sending/receiving messages. The server will generate a
+    // guid when receiving the start message.
+    string guid = 1;
+}
+
+message JsepMsg {
+    // The unique identifier of this connection. You will have to use the same
+    // identifier when sending/receiving messages. The server will generate a
+    // guid when receiving the start message.
+    RtcId id = 1;
+    // The JSON payload. This usually can be directly handled by the Javascript
+    // The dictionary can contain the following properties
+    //
+    // - bye:
+    //        You can hang up now. No new message expected for you.
+    //        The server has stopped the RTC stream.
+    //
+    // - start:
+    //        An RTCConfiguration dictionary providing options to
+    //        configure the new connection. This can include the
+    //        turn configuration the serve is using. This dictionary can be
+    //        passed in directly to the
+    //        [RTCPeerConnection](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection)
+    //        object.
+    //
+    // - candidate:
+    //        The WebRTC API's RTCIceCandidateInit dictionary, which
+    //        contains the information needed to fundamentally describe an
+    //        RTCIceCandidate. See
+    //        [RTCIceCandidate](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate)
+    //        and [Session
+    //        Lifetime](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Session_lifetime)
+    //        for more details.
+    //
+    // - sdp:
+    //        RTCSessionDescriptionInit dictionary containing the values
+    //        to that can be assigned to a
+    //        [RTCSessionDescription](https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescription)
+    string message = 2;
+}
+
+message LogMessage {
+    // [Output Only] The contents of the log output.
+    string contents = 1;
+    // The starting byte position of the output that was returned. This should
+    // match the start parameter sent with the request. If the serial console
+    // output exceeds the size of the buffer, older output will be overwritten
+    // by newer content and the start values will be mismatched.
+    int64 start = 2;
+    //[Output Only] The position of the next byte of content from the serial
+    // console output. Use this value in the next request as the start
+    // parameter.
+    int64 next = 3;
+}
+
+message VmConfiguration {
+    enum VmHypervisorType {
+        HV_UNKNOWN = 0;
+        HV_NONE = 1;
+        HV_KVM = 2;
+        HV_HAXM = 3;
+        HV_HVF = 4;
+        HV_WHPX = 5;
+    };
+
+    VmHypervisorType hypervisorType = 1;
+    int32 numberOfCpuCores = 2;
+    int64 ramSizeBytes = 3;
+}
+
+message RotaryEvent {
+    int32 delta = 1;
+}
+
+// The Touch interface represents a single contact point on a touch-sensitive
+// device. The contact point is commonly a finger or stylus and the device may
+// be a touchscreen or trackpad.
+message Touch {
+    // The horizontal coordinate. This is the physical location on the screen
+    // For example 0 indicates the leftmost coordinate.
+    int32 x = 1;
+
+    // The vertical coordinate. This is the physical location on the screen
+    // For example 0 indicates the top left coordinate.
+    int32 y = 2;
+
+    // The identifier is an arbitrary non-negative integer that is used to
+    // identify and track each tool independently when multiple tools are
+    // active. For example, when multiple fingers are touching the device, each
+    // finger should be assigned a distinct tracking id that is used as long as
+    // the finger remains in contact. Tracking ids may be reused when their
+    // associated tools move out of range.
+    //
+    // The emulator currently supports up to 10 concurrent touch events. The
+    // identifier should be a value from the set [0, 10]
+    int32 identifier = 3;
+
+    // Reports the physical pressure applied to the tip of the tool or the
+    // signal strength of the touch contact.
+    //
+    // The values reported must be non-zero when the tool is touching the device
+    // and zero otherwise to indicate that the touch event is completed.
+    //
+    // Make sure to deliver a pressure of 0 for the given identifier when the
+    // touch event is completed, otherwise the touch identifier will not be
+    // unregistered!
+    int32 pressure = 4;
+
+    // Optionally reports the cross-sectional area of the touch contact, or the
+    // length of the longer dimension of the touch contact.
+    int32 touch_major = 5;
+
+    // Optionally reports the length of the shorter dimension of the touch
+    // contact. This axis will be ignored if touch_major is reporting an area
+    // measurement greater than 0.
+    int32 touch_minor = 6;
+}
+
+// A TouchEvent contains a list of Touch objects that are in contact with the
+// touch surface.
+//
+// Touch events are delivered in sequence as specified in the touchList.
+//
+// TouchEvents are delivered to the emulated devices using ["Protocol
+// B"](https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt)
+message TouchEvent {
+    // The list of Touch objects, note that these do not need to be unique
+    repeated Touch touches = 1;
+
+    // The display device where the touch event occurred.
+    // Omitting or using the value 0 indicates the main display.
+    int32 device = 2;
+}
+
+// The MouseEvent interface represents events that occur due to the user
+// interacting with a pointing device (such as a mouse).
+message MouseEvent {
+    // The horizontal coordinate. This is the physical location on the screen
+    // For example 0 indicates the leftmost coordinate.
+    int32 x = 1;
+
+    // The vertical coordinate. This is the physical location on the screen
+    // For example 0 indicates the top left coordinate.
+    int32 y = 2;
+
+    // Indicates which buttons are pressed.
+    // 0: No button was pressed
+    // 1: Primary button (left)
+    // 2: Secondary button (right)
+    int32 buttons = 3;
+
+    // The display device where the mouse event occurred.
+    // Omitting or using the value 0 indicates the main display.
+    int32 device = 4;
+}
+
+// KeyboardEvent objects describe a user interaction with the keyboard; each
+// event describes a single interaction between the user and a key (or
+// combination of a key with modifier keys) on the keyboard.
+// This follows the pattern as set by
+// (javascript)[https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent]
+//
+// Note: that only keyCode, key, or text can be set and that the semantics
+// will slightly vary.
+message KeyboardEvent {
+    // Code types that the emulator can receive. Note that the emulator
+    // will do its best to translate the code to an evdev value that
+    // will be send to the emulator. This translation is based on
+    // the chromium translation tables. See
+    // https://chromium.googlesource.com/chromium/src/+/lkgr/ui/events/keycodes/dom/keycode_converter_data.inc
+    // for details on the translation.
+    enum KeyCodeType {
+        Usb = 0;
+        Evdev = 1;
+        XKB = 2;
+        Win = 3;
+        Mac = 4;
+    };
+
+    enum KeyEventType {
+        // Indicates that this keyevent should be send to the emulator
+        // as a key down event. Meaning that the key event will be
+        // translated to an EvDev event type and bit 11 (0x400) will be
+        // set before it is sent to the emulator.
+        keydown = 0;
+
+        // Indicates that the keyevent should be send to the emulator
+        // as a key up event. Meaning that the key event will be
+        // translated to an EvDev event type and
+        // sent to the emulator.
+        keyup = 1;
+
+        // Indicates that the keyevent will be send to the emulator
+        // as e key down event and immediately followed by a keyup event.
+        keypress = 2;
+    };
+
+    // Type of keycode contained in the keyCode field.
+    KeyCodeType codeType = 1;
+
+    // The type of keyboard event that should be sent to the emulator
+    KeyEventType eventType = 2;
+
+    // This property represents a physical key on the keyboard (as opposed to
+    // the character generated by pressing the key). In other words, this
+    // property is a value which isn't altered by keyboard layout or the state
+    // of the modifier keys. This value will be interpreted by
+    // the emulator depending on the KeyCodeType. The incoming key code will be
+    // translated to an evdev code type and send to the emulator.
+    // The values in key and text will be ignored.
+    int32 keyCode = 3;
+
+    // The value of the key pressed by the user, taking into consideration the
+    // state of modifier keys such as Shift as well as the keyboard locale and
+    // layout. This follows the  w3c standard used in browsers.
+    // You can find an accurate description of valid values
+    // (here)[https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values]
+    // The values in text, keyCode, eventType and codeType will be ignored and a
+    // keypress event will be delivered to the emulator.
+    string key = 4;
+
+    // Series of utf8 encoded characters to send to the emulator. Every
+    // character will be translated to an EvDev event type and send to the
+    // emulator as a keypress event. The values in keyCode, eventType, codeType
+    // and key will be ignored.
+    string text = 5;
+}
+
+message FingerprintEvent {
+    bool isTouching = 1;
+    int32 touchId = 2;
+}
+
+message GpsState {
+    bool passiveUpdate = 1;
+    double latitude = 2;
+    double longitude = 3;
+    double speed = 4;
+    double heading = 5;
+    double elevation = 6;
+    int32 satellites = 7;
+}
+
+message BatteryState {
+    enum BatteryStatus {
+        BATTERY_STATUS_UNKNOWN = 0;
+        BATTERY_STATUS_CHARGING = 1;
+        BATTERY_STATUS_DISCHARGING = 2;
+        BATTERY_STATUS_NOT_CHARGING = 3;
+        BATTERY_STATUS_FULL = 4;
+    };
+    enum BatteryCharger {
+        BATTERY_CHARGER_NONE = 0;
+        BATTERY_CHARGER_AC = 1;
+        BATTERY_CHARGER_USB = 2;
+        BATTERY_CHARGER_WIRELESS = 3;
+    };
+
+    enum BatteryHealth {
+        BATTERY_HEALTH_GOOD = 0;
+        BATTERY_HEALTH_FAILED = 1;
+        BATTERY_HEALTH_DEAD = 2;
+        BATTERY_HEALTH_OVERVOLTAGE = 3;
+        BATTERY_HEALTH_OVERHEATED = 4;
+    };
+    bool hasBattery = 1;
+    bool isPresent = 2;
+    BatteryCharger charger = 3;
+    int32 chargeLevel = 4;
+    BatteryHealth health = 5;
+    BatteryStatus status = 6;
+}
+
+message ImageStream {
+    uint32 framerate = 1;
+    ImageFormat format = 2;
+}
+
+message ImageFormat {
+    enum ImgFormat {
+        PNG = 0;
+        RAW = 1;
+        RGB888 = 2;
+        RGBA8888 = 3;
+    }
+    ImgFormat format = 1;
+    Rotation rotation = 2;
+}
+
+message Image {
+    ImageFormat format = 1;
+    uint32 width = 2;
+    uint32 height = 3;
+
+    // The organization of the pixels in the image buffer is from left to
+    // right and bottom up.
+    bytes image = 4;
+}
+
+message Rotation {
+    enum SkinRotation {
+        SKIN_ROTATION_0 = 0;
+        SKIN_ROTATION_90 = 1;
+        SKIN_ROTATION_180 = 2;
+        SKIN_ROTATION_270 = 3;
+    }
+    SkinRotation rotation = 1;
+}
+
+message TelephoneOperation {
+    enum Operation {
+        InitCall = 0;
+        AcceptCall = 1;
+        RejectCallExplicit = 2;
+        RejectCallBusy = 3;
+        DisconnectCall = 4;
+        PlaceCallOnHold = 5;
+        TakeCallOffHold = 6;
+    }
+    Operation operation = 1;
+    string number = 2;
+}
+
+message TelephoneResponse {
+    enum Response {
+        OK = 0;
+        BadOperation = 1;   // Enum out of range
+        BadNumber = 2;      // Mal-formed telephone number
+        InvalidAction = 3;  // E.g., disconnect when no call is in progress
+        ActionFailed = 4;   // Internal error
+        RadioOff = 5;       // Radio power off
+    }
+    Response response = 1;
+}
diff --git a/darwin-x86_64/lib/hardware-properties.ini b/darwin-x86_64/lib/hardware-properties.ini
index 048348f..f0b4c44 100644
--- a/darwin-x86_64/lib/hardware-properties.ini
+++ b/darwin-x86_64/lib/hardware-properties.ini
@@ -257,6 +257,12 @@
 abstract    = LCD backlight
 description = Enable/Disable LCD backlight simulation,yes-enabled,no-disabled.
 
+# VSYNC rate
+name        = hw.lcd.vsync
+type        = integer
+default     = 60
+abstract    = LCD VSYNC rate
+
 # Display sub-region
 # Indicates a reduced area of hw.lcd that is used when a foldable device
 # is in its folded configuration.
@@ -285,8 +291,7 @@
 default     = no
 abstract    = Adjust display window to folded size
 
-# The Second Display (Primary display is represented by hw.lcd.*)
-# Indicates a second display emulation support by emulator.
+# The Secondary Displays (MAX 3) (Primary display is represented by hw.lcd.*)
 name        = hw.display1.width
 type        = integer
 default     = 0
@@ -317,7 +322,6 @@
 default     = 0
 abstract    = the flag to use when the second display is initialized in the Android system.
 
-# The Third Display
 name        = hw.display2.width
 type        = integer
 default     = 0
@@ -348,6 +352,36 @@
 default     = 0
 abstract    = the flag to use when the third display is initialized in the Android system.
 
+name        = hw.display3.width
+type        = integer
+default     = 0
+abstract    = Pixel width of the fourth display
+
+name        = hw.display3.height
+type        = integer
+default     = 0
+abstract    = Pixel height of the fourth display
+
+name        = hw.display3.density
+type        = integer
+default     = 0
+abstract    = Screen density of the fourth display
+
+name        = hw.display3.xOffset
+type        = integer
+default     = -1
+abstract    = the horizontal offset of the fourth display with respect to the host QT window.
+
+name        = hw.display3.yOffset
+type        = integer
+default     = -1
+abstract    = the veritcal offset of the fourth display with respect to the host QT window.
+
+name        = hw.display3.flag
+type        = integer
+default     = 0
+abstract    = the flag touse when the fourth display is initialized in the Android system.
+
 # Hardware OpenGLES emulation support
 #
 name        = hw.gpu.enabled
@@ -629,6 +663,14 @@
 default     = <build>
 abstract    = Name of the AVD being run
 
+# Android AVD id
+# This is set automatically before launching a core.
+#
+name        = avd.id
+type        = string
+default     = <build>
+abstract    = ID of the AVD being run
+
 # Force cold boot
 # Don't use snapshots for quick booting but boot from scratch instead
 #
diff --git a/darwin-x86_64/lib/waterfall.proto b/darwin-x86_64/lib/waterfall.proto
new file mode 100644
index 0000000..cda1e26
--- /dev/null
+++ b/darwin-x86_64/lib/waterfall.proto
@@ -0,0 +1,154 @@
+// Copyright 2018 Google LLC
+//
+// 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";
+
+package waterfall;
+
+option java_package = "com.google.waterfall";
+option java_outer_classname = "WaterfallProto";
+
+import "google/protobuf/empty.proto";
+
+message Message {
+  bytes payload = 1;
+}
+
+// Keep this as lean as possible. We only care about the payload during most
+// of the duration of the session. All other fields are only useful during
+// the beginning/end of the transfer
+message Transfer {
+  // Remote path to for push/pull. Remote path lives in the server fs.
+  // There is no need to send local path, since client has this info.
+  string path = 1;
+
+  // A stream of bytes. Encoded as a tarball.
+  bytes payload = 2;
+
+  // status fields.
+  bool success = 3;
+  bytes err = 4;
+}
+
+message Cmd {
+  // Path to the binary to execute.
+  // Path should be absolute. Otherwise behavior is not specified.
+  // use /system/bin/sh -c to run in a shell.
+  // Interactive shell is not supported.
+  string path = 1;
+
+  // Args to pass to the command
+  repeated string args = 2;
+
+  // Directory to execute the command
+  string dir = 3;
+
+  // Whether to pipe stdin to the command
+  bool pipeIn = 4;
+
+  // Enviroment to use
+  map<string, string> env = 5;
+
+}
+
+message CmdProgress {
+
+  // Command to execute. Only valid for the initial message of the stream.
+  Cmd cmd = 5;
+
+  // the exit code of the command.
+  // Only populated when the gRPC stream is done.
+  // I.e. the last message before the EOF.
+  uint32 exit_code = 1;
+
+  bytes stdout = 2;
+  bytes stderr = 3;
+  bytes stdin = 4;
+}
+
+message ForwardMessage {
+  enum Kind {
+    UNSET = 0;
+    TCP = 1;
+    UDP = 2;
+    UNIX = 3;
+  }
+
+  enum Op {
+    OPEN = 0;
+    FWD = 1;
+    CLOSE = 2;
+  }
+
+  // Kind of connection to start (tcp|udp|unix)
+  Kind kind = 1;
+  Op op = 2;
+
+  // Address to open and redirect payload to.
+  string addr = 3;
+  // Data to be pushed to connection established on addr.
+  bytes payload = 4;
+  // Wheter or not to rebind the port
+  bool rebind = 5;
+}
+
+message VersionMessage {
+  string version = 1;
+}
+
+service Waterfall {
+  // Echo exists solely for test purposes.
+  rpc Echo(stream Message) returns (stream Message);
+
+  // Push file/dir from host to device.
+  rpc Push(stream Transfer) returns (Transfer);
+
+  // Pull file/dir from device to host.
+  rpc Pull(Transfer) returns (stream Transfer);
+
+  // Exec executes cmd in the device and foward stdout and stderr to client
+  // Exec expects a single initial CmdProgress message if stdin is not
+  // being redirected. Otherwise Exec will read std from the stream.
+  rpc Exec(stream CmdProgress) returns (stream CmdProgress);
+
+  // Forward forwards the stream payload to the requested socket
+  rpc Forward(stream ForwardMessage) returns (stream ForwardMessage);
+
+  // Version gets the version of the server.
+  rpc Version(google.protobuf.Empty) returns (VersionMessage);
+}
+
+message ForwardSession {
+  string src = 1;
+  string dst = 2;
+}
+
+message PortForwardRequest {
+  bool rebind = 3;
+  ForwardSession session = 4;
+}
+
+message ForwardedSessions {
+  repeated ForwardSession sessions = 1;
+}
+
+// PortForwarder service runs a port forwarding session via waterfall.
+// It allows start and stop forwarding connections when the waterfall client
+// is unable to mantains any state (e.g. the waterfall adb binary).
+service PortForwarder {
+  rpc ForwardPort(PortForwardRequest) returns (google.protobuf.Empty);
+  rpc Stop(PortForwardRequest) returns (google.protobuf.Empty);
+  rpc StopAll(google.protobuf.Empty) returns (google.protobuf.Empty);
+  rpc List(google.protobuf.Empty) returns (ForwardedSessions);
+}
diff --git a/darwin-x86_64/lib64/emulator-studio-view.jar b/darwin-x86_64/lib64/emulator-studio-view.jar
new file mode 100644
index 0000000..490cd2f
--- /dev/null
+++ b/darwin-x86_64/lib64/emulator-studio-view.jar
Binary files differ
diff --git a/darwin-x86_64/lib64/libEGL_translator.dylib b/darwin-x86_64/lib64/libEGL_translator.dylib
index 3a4b6a6..0dbf8d9 100755
--- a/darwin-x86_64/lib64/libEGL_translator.dylib
+++ b/darwin-x86_64/lib64/libEGL_translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libGLES12Translator.dylib b/darwin-x86_64/lib64/libGLES12Translator.dylib
index da7cc39..cc00137 100755
--- a/darwin-x86_64/lib64/libGLES12Translator.dylib
+++ b/darwin-x86_64/lib64/libGLES12Translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libGLES_CM_translator.dylib b/darwin-x86_64/lib64/libGLES_CM_translator.dylib
index 16b39d9..6b5e35c 100755
--- a/darwin-x86_64/lib64/libGLES_CM_translator.dylib
+++ b/darwin-x86_64/lib64/libGLES_CM_translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libGLES_V2_translator.dylib b/darwin-x86_64/lib64/libGLES_V2_translator.dylib
index b9c245f..5d7fe6d 100755
--- a/darwin-x86_64/lib64/libGLES_V2_translator.dylib
+++ b/darwin-x86_64/lib64/libGLES_V2_translator.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libOpenglRender.dylib b/darwin-x86_64/lib64/libOpenglRender.dylib
index 623300e..96cf71f 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-studio.dylib b/darwin-x86_64/lib64/libandroid-studio.dylib
new file mode 100755
index 0000000..14a38be
--- /dev/null
+++ b/darwin-x86_64/lib64/libandroid-studio.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/libemugl_common.dylib b/darwin-x86_64/lib64/libemugl_common.dylib
index 3064d10..5d22bdb 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/qt/lib/libQt5CoreAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5CoreAndroidEmu.5.12.1.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5DBusAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5DBusAndroidEmu.5.12.1.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5GuiAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5GuiAndroidEmu.5.12.1.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5NetworkAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5NetworkAndroidEmu.5.12.1.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5PrintSupportAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5PrintSupportAndroidEmu.5.12.1.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5QmlAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5QmlAndroidEmu.5.12.1.dylib
new file mode 100755
index 0000000..3ca3048
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/lib/libQt5QmlAndroidEmu.5.12.1.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5QuickAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5QuickAndroidEmu.5.12.1.dylib
new file mode 100755
index 0000000..24389aa
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/lib/libQt5QuickAndroidEmu.5.12.1.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5QuickWidgetsAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5QuickWidgetsAndroidEmu.5.12.1.dylib
new file mode 100755
index 0000000..9c593d0
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/lib/libQt5QuickWidgetsAndroidEmu.5.12.1.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5SvgAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5SvgAndroidEmu.5.12.1.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5WebChannelAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5WebChannelAndroidEmu.5.12.1.dylib
new file mode 100755
index 0000000..bb1104e
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/lib/libQt5WebChannelAndroidEmu.5.12.1.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5WebEngineCoreAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5WebEngineCoreAndroidEmu.5.12.1.dylib
new file mode 100755
index 0000000..b0855d2
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/lib/libQt5WebEngineCoreAndroidEmu.5.12.1.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib
new file mode 100755
index 0000000..cb13b9f
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/lib/libQt5WebEngineWidgetsAndroidEmu.5.12.1.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5WebSocketsAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5WebSocketsAndroidEmu.5.12.1.dylib
new file mode 100755
index 0000000..c6cb6b4
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/lib/libQt5WebSocketsAndroidEmu.5.12.1.dylib
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/lib/libQt5WidgetsAndroidEmu.5.12.1.dylib b/darwin-x86_64/lib64/qt/lib/libQt5WidgetsAndroidEmu.5.12.1.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/QtWebEngineProcess b/darwin-x86_64/lib64/qt/libexec/QtWebEngineProcess
new file mode 100755
index 0000000..e5b5038
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/QtWebEngineProcess
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/icudtl.dat b/darwin-x86_64/lib64/qt/libexec/icudtl.dat
new file mode 100755
index 0000000..4ba503b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/icudtl.dat
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/qtwebengine_devtools_resources.pak b/darwin-x86_64/lib64/qt/libexec/qtwebengine_devtools_resources.pak
new file mode 100755
index 0000000..b5ad6ea
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/qtwebengine_devtools_resources.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources.pak b/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources.pak
new file mode 100755
index 0000000..1b79524
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources_100p.pak b/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources_100p.pak
new file mode 100755
index 0000000..f88396c
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources_100p.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources_200p.pak b/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources_200p.pak
new file mode 100755
index 0000000..3c06482
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/qtwebengine_resources_200p.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/am.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/am.pak
new file mode 100755
index 0000000..0fbb126
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/am.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ar.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ar.pak
new file mode 100755
index 0000000..8fba326
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ar.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/bg.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/bg.pak
new file mode 100755
index 0000000..4305dcf
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/bg.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/bn.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/bn.pak
new file mode 100755
index 0000000..abe3a2f
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/bn.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ca.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ca.pak
new file mode 100755
index 0000000..74bd5a7
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ca.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/cs.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/cs.pak
new file mode 100755
index 0000000..d40ad0e
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/cs.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/da.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/da.pak
new file mode 100755
index 0000000..f24d869
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/da.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/de.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/de.pak
new file mode 100755
index 0000000..d93e1b4
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/de.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/el.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/el.pak
new file mode 100755
index 0000000..587a674
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/el.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/en-GB.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/en-GB.pak
new file mode 100755
index 0000000..5fd4a8b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/en-GB.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/en-US.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/en-US.pak
new file mode 100755
index 0000000..49eac4b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/en-US.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/es-419.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/es-419.pak
new file mode 100755
index 0000000..baa5e9c
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/es-419.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/es.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/es.pak
new file mode 100755
index 0000000..a4a32c9
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/es.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/et.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/et.pak
new file mode 100755
index 0000000..6266e24
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/et.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fa.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fa.pak
new file mode 100755
index 0000000..6984d74
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fa.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fi.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fi.pak
new file mode 100755
index 0000000..e85c55b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fi.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fil.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fil.pak
new file mode 100755
index 0000000..41917f7
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fil.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fr.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fr.pak
new file mode 100755
index 0000000..a4e7253
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/fr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/gu.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/gu.pak
new file mode 100755
index 0000000..c9c3ae2
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/gu.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/he.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/he.pak
new file mode 100755
index 0000000..22102da
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/he.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hi.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hi.pak
new file mode 100755
index 0000000..2b5f9b5
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hi.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hr.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hr.pak
new file mode 100755
index 0000000..3054663
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hu.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hu.pak
new file mode 100755
index 0000000..8858dd8
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/hu.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/id.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/id.pak
new file mode 100755
index 0000000..d9ac073
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/id.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/it.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/it.pak
new file mode 100755
index 0000000..9592112
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/it.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ja.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ja.pak
new file mode 100755
index 0000000..ec92507
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ja.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/kn.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/kn.pak
new file mode 100755
index 0000000..3071f68
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/kn.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ko.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ko.pak
new file mode 100755
index 0000000..5d8e77e
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ko.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/lt.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/lt.pak
new file mode 100755
index 0000000..0ccd44d
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/lt.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/lv.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/lv.pak
new file mode 100755
index 0000000..cb96bde
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/lv.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ml.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ml.pak
new file mode 100755
index 0000000..170eba5
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ml.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/mr.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/mr.pak
new file mode 100755
index 0000000..d4d3f6c
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/mr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ms.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ms.pak
new file mode 100755
index 0000000..8ae01eb
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ms.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/nb.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/nb.pak
new file mode 100755
index 0000000..61115a9
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/nb.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/nl.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/nl.pak
new file mode 100755
index 0000000..89db898
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/nl.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pl.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pl.pak
new file mode 100755
index 0000000..89ee2b8
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pl.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pt-BR.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pt-BR.pak
new file mode 100755
index 0000000..50caa69
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pt-BR.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pt-PT.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pt-PT.pak
new file mode 100755
index 0000000..c75c8a3
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/pt-PT.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ro.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ro.pak
new file mode 100755
index 0000000..5f9eda1
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ro.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ru.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ru.pak
new file mode 100755
index 0000000..d3ea6e9
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ru.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sk.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sk.pak
new file mode 100755
index 0000000..81e76f3
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sk.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sl.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sl.pak
new file mode 100755
index 0000000..d411f63
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sl.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sr.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sr.pak
new file mode 100755
index 0000000..081512d
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sv.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sv.pak
new file mode 100755
index 0000000..ede4d3d
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sv.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sw.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sw.pak
new file mode 100755
index 0000000..c50f760
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/sw.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ta.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ta.pak
new file mode 100755
index 0000000..27a0bc3
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/ta.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/te.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/te.pak
new file mode 100755
index 0000000..5258626
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/te.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/th.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/th.pak
new file mode 100755
index 0000000..485654b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/th.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/tr.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/tr.pak
new file mode 100755
index 0000000..c237822
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/tr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/uk.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/uk.pak
new file mode 100755
index 0000000..262a241
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/uk.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/vi.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/vi.pak
new file mode 100755
index 0000000..e15987a
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/vi.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/zh-CN.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/zh-CN.pak
new file mode 100755
index 0000000..e34e3e0
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/zh-CN.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/zh-TW.pak b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/zh-TW.pak
new file mode 100755
index 0000000..c6586bf
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/libexec/translations/qtwebengine_locales/zh-TW.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/iconengines/libqsvgicon.dylib b/darwin-x86_64/lib64/qt/plugins/iconengines/libqsvgicon.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqgif.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqgif.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqicns.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqicns.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqico.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqico.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqjpeg.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqjpeg.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqmacheif.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqmacheif.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqmacjp2.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqmacjp2.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqsvg.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqsvg.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqtga.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqtga.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqtiff.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqtiff.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqwbmp.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqwbmp.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/imageformats/libqwebp.dylib b/darwin-x86_64/lib64/qt/plugins/imageformats/libqwebp.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/platforms/libqcocoa.dylib b/darwin-x86_64/lib64/qt/plugins/platforms/libqcocoa.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/plugins/styles/libqmacstyle.dylib b/darwin-x86_64/lib64/qt/plugins/styles/libqmacstyle.dylib
old mode 100644
new mode 100755
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/resources/icudtl.dat b/darwin-x86_64/lib64/qt/resources/icudtl.dat
new file mode 100755
index 0000000..4ba503b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/resources/icudtl.dat
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/resources/qtwebengine_devtools_resources.pak b/darwin-x86_64/lib64/qt/resources/qtwebengine_devtools_resources.pak
new file mode 100755
index 0000000..b5ad6ea
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/resources/qtwebengine_devtools_resources.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/resources/qtwebengine_resources.pak b/darwin-x86_64/lib64/qt/resources/qtwebengine_resources.pak
new file mode 100755
index 0000000..1b79524
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/resources/qtwebengine_resources.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/resources/qtwebengine_resources_100p.pak b/darwin-x86_64/lib64/qt/resources/qtwebengine_resources_100p.pak
new file mode 100755
index 0000000..f88396c
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/resources/qtwebengine_resources_100p.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/resources/qtwebengine_resources_200p.pak b/darwin-x86_64/lib64/qt/resources/qtwebengine_resources_200p.pak
new file mode 100755
index 0000000..3c06482
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/resources/qtwebengine_resources_200p.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/am.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/am.pak
new file mode 100755
index 0000000..0fbb126
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/am.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ar.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ar.pak
new file mode 100755
index 0000000..8fba326
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ar.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/bg.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/bg.pak
new file mode 100755
index 0000000..4305dcf
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/bg.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/bn.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/bn.pak
new file mode 100755
index 0000000..abe3a2f
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/bn.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ca.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ca.pak
new file mode 100755
index 0000000..74bd5a7
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ca.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/cs.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/cs.pak
new file mode 100755
index 0000000..d40ad0e
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/cs.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/da.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/da.pak
new file mode 100755
index 0000000..f24d869
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/da.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/de.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/de.pak
new file mode 100755
index 0000000..d93e1b4
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/de.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/el.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/el.pak
new file mode 100755
index 0000000..587a674
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/el.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/en-GB.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/en-GB.pak
new file mode 100755
index 0000000..5fd4a8b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/en-GB.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/en-US.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/en-US.pak
new file mode 100755
index 0000000..49eac4b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/en-US.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/es-419.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/es-419.pak
new file mode 100755
index 0000000..baa5e9c
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/es-419.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/es.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/es.pak
new file mode 100755
index 0000000..a4a32c9
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/es.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/et.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/et.pak
new file mode 100755
index 0000000..6266e24
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/et.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fa.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fa.pak
new file mode 100755
index 0000000..6984d74
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fa.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fi.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fi.pak
new file mode 100755
index 0000000..e85c55b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fi.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fil.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fil.pak
new file mode 100755
index 0000000..41917f7
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fil.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fr.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fr.pak
new file mode 100755
index 0000000..a4e7253
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/fr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/gu.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/gu.pak
new file mode 100755
index 0000000..c9c3ae2
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/gu.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/he.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/he.pak
new file mode 100755
index 0000000..22102da
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/he.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hi.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hi.pak
new file mode 100755
index 0000000..2b5f9b5
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hi.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hr.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hr.pak
new file mode 100755
index 0000000..3054663
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hu.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hu.pak
new file mode 100755
index 0000000..8858dd8
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/hu.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/id.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/id.pak
new file mode 100755
index 0000000..d9ac073
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/id.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/it.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/it.pak
new file mode 100755
index 0000000..9592112
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/it.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ja.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ja.pak
new file mode 100755
index 0000000..ec92507
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ja.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/kn.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/kn.pak
new file mode 100755
index 0000000..3071f68
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/kn.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ko.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ko.pak
new file mode 100755
index 0000000..5d8e77e
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ko.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/lt.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/lt.pak
new file mode 100755
index 0000000..0ccd44d
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/lt.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/lv.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/lv.pak
new file mode 100755
index 0000000..cb96bde
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/lv.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ml.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ml.pak
new file mode 100755
index 0000000..170eba5
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ml.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/mr.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/mr.pak
new file mode 100755
index 0000000..d4d3f6c
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/mr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ms.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ms.pak
new file mode 100755
index 0000000..8ae01eb
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ms.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/nb.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/nb.pak
new file mode 100755
index 0000000..61115a9
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/nb.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/nl.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/nl.pak
new file mode 100755
index 0000000..89db898
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/nl.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pl.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pl.pak
new file mode 100755
index 0000000..89ee2b8
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pl.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pt-BR.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pt-BR.pak
new file mode 100755
index 0000000..50caa69
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pt-BR.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pt-PT.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pt-PT.pak
new file mode 100755
index 0000000..c75c8a3
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/pt-PT.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ro.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ro.pak
new file mode 100755
index 0000000..5f9eda1
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ro.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ru.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ru.pak
new file mode 100755
index 0000000..d3ea6e9
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ru.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sk.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sk.pak
new file mode 100755
index 0000000..81e76f3
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sk.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sl.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sl.pak
new file mode 100755
index 0000000..d411f63
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sl.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sr.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sr.pak
new file mode 100755
index 0000000..081512d
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sv.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sv.pak
new file mode 100755
index 0000000..ede4d3d
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sv.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sw.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sw.pak
new file mode 100755
index 0000000..c50f760
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/sw.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ta.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ta.pak
new file mode 100755
index 0000000..27a0bc3
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/ta.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/te.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/te.pak
new file mode 100755
index 0000000..5258626
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/te.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/th.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/th.pak
new file mode 100755
index 0000000..485654b
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/th.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/tr.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/tr.pak
new file mode 100755
index 0000000..c237822
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/tr.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/uk.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/uk.pak
new file mode 100755
index 0000000..262a241
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/uk.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/vi.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/vi.pak
new file mode 100755
index 0000000..e15987a
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/vi.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/zh-CN.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/zh-CN.pak
new file mode 100755
index 0000000..e34e3e0
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/zh-CN.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/zh-TW.pak b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/zh-TW.pak
new file mode 100755
index 0000000..c6586bf
--- /dev/null
+++ b/darwin-x86_64/lib64/qt/translations/qtwebengine_locales/zh-TW.pak
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Astc_1DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/Astc_1DArray.spv
new file mode 100644
index 0000000..c742b20
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/Astc_1DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Astc_2DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/Astc_2DArray.spv
new file mode 100644
index 0000000..4ce18b2
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/Astc_2DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Astc_3D.spv b/darwin-x86_64/lib64/vulkan/shaders/Astc_3D.spv
new file mode 100644
index 0000000..23cf0e8
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/Astc_3D.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv
new file mode 100644
index 0000000..b130ab2
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
index 6f5e62c..e0c7a2e 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv b/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv
index 0f0936d..810a59f 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv
new file mode 100644
index 0000000..1cbb4b5
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
index 7472b25..04f9d76 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv b/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv
index 2ed8d65..cb00853 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv
new file mode 100644
index 0000000..4f45430
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
index 981cc95..2b7b348 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
index 8b04a78..218b6cc 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv
new file mode 100644
index 0000000..360d866
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
index 7f678cd..0da141f 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
index 76893f8..c52df96 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv
new file mode 100644
index 0000000..f13be35
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
index 6d7a43e..cd1ac4c 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv
index 9dfea20..2457406 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv
new file mode 100644
index 0000000..620f78b
--- /dev/null
+++ b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
index 921ddd9..008fb78 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
Binary files differ
diff --git a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
index 349ec93..b69aaec 100644
--- a/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
+++ b/darwin-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
Binary files differ
diff --git a/darwin-x86_64/mksdcard b/darwin-x86_64/mksdcard
index 2b3653c..2ce9e1a 100755
--- a/darwin-x86_64/mksdcard
+++ b/darwin-x86_64/mksdcard
Binary files differ
diff --git a/darwin-x86_64/qemu-img b/darwin-x86_64/qemu-img
index 0f80071..d19cec6 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 29262f9..a913c6b 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 2ccec1c..acee829 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 34ca89a..470e8a2 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-i386 b/darwin-x86_64/qemu/darwin-x86_64/qemu-system-i386
index 65476ec..65e8fee 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 7cb4427..2348e3d 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 8b1014f..ff9579b 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 87872de..b606c6d 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/source.properties b/darwin-x86_64/source.properties
index bf26d76..ebda06c 100644
--- a/darwin-x86_64/source.properties
+++ b/darwin-x86_64/source.properties
@@ -1,5 +1,5 @@
 Pkg.UserSrc=false
-Pkg.Revision=29.1.4
+Pkg.Revision=29.2.4
 Pkg.Path=emulator
 Pkg.Desc=Android Emulator
 Pkg.Dependencies=tools#25.3
diff --git a/linux-x86_64/NOTICE.txt b/linux-x86_64/NOTICE.txt
index 49a3312..a84ca67 100644
--- a/linux-x86_64/NOTICE.txt
+++ b/linux-x86_64/NOTICE.txt
@@ -28,6 +28,7 @@
 /emulator/bin64/mkfs.ext4
 /emulator/bin64/fsck.ext4
 /emulator/bin64/e2fsck
+/emulator/lib/waterfall.proto
 /emulator/lib/emulator_controller.proto
 /emulator/lib/hardware-properties.ini
 /emulator/lib/ca-bundle.pem
@@ -46,47 +47,47 @@
 /emulator/lib/pc-bios/vgabios-stdvga.bin
 /emulator/lib/pc-bios/vgabios-cirrus.bin
 /emulator/lib/pc-bios/bios.bin
-/emulator/lib/pc-bios/keymaps/Makefile
-/emulator/lib/pc-bios/keymaps/ar
-/emulator/lib/pc-bios/keymaps/bepo
-/emulator/lib/pc-bios/keymaps/common
-/emulator/lib/pc-bios/keymaps/cz
-/emulator/lib/pc-bios/keymaps/da
-/emulator/lib/pc-bios/keymaps/de
-/emulator/lib/pc-bios/keymaps/de-ch
-/emulator/lib/pc-bios/keymaps/en-gb
-/emulator/lib/pc-bios/keymaps/en-us
-/emulator/lib/pc-bios/keymaps/es
-/emulator/lib/pc-bios/keymaps/et
-/emulator/lib/pc-bios/keymaps/fi
-/emulator/lib/pc-bios/keymaps/fo
-/emulator/lib/pc-bios/keymaps/fr
-/emulator/lib/pc-bios/keymaps/fr-be
-/emulator/lib/pc-bios/keymaps/fr-ca
-/emulator/lib/pc-bios/keymaps/fr-ch
-/emulator/lib/pc-bios/keymaps/hr
-/emulator/lib/pc-bios/keymaps/hu
-/emulator/lib/pc-bios/keymaps/is
-/emulator/lib/pc-bios/keymaps/it
-/emulator/lib/pc-bios/keymaps/ja
-/emulator/lib/pc-bios/keymaps/lt
-/emulator/lib/pc-bios/keymaps/lv
-/emulator/lib/pc-bios/keymaps/mk
-/emulator/lib/pc-bios/keymaps/modifiers
-/emulator/lib/pc-bios/keymaps/nl
-/emulator/lib/pc-bios/keymaps/nl-be
-/emulator/lib/pc-bios/keymaps/no
-/emulator/lib/pc-bios/keymaps/pl
-/emulator/lib/pc-bios/keymaps/pt
-/emulator/lib/pc-bios/keymaps/pt-br
-/emulator/lib/pc-bios/keymaps/ru
-/emulator/lib/pc-bios/keymaps/sl
-/emulator/lib/pc-bios/keymaps/sv
-/emulator/lib/pc-bios/keymaps/th
 /emulator/lib/pc-bios/keymaps/tr
+/emulator/lib/pc-bios/keymaps/th
+/emulator/lib/pc-bios/keymaps/sv
+/emulator/lib/pc-bios/keymaps/sl
+/emulator/lib/pc-bios/keymaps/ru
+/emulator/lib/pc-bios/keymaps/pt-br
+/emulator/lib/pc-bios/keymaps/pt
+/emulator/lib/pc-bios/keymaps/pl
+/emulator/lib/pc-bios/keymaps/no
+/emulator/lib/pc-bios/keymaps/nl-be
+/emulator/lib/pc-bios/keymaps/nl
+/emulator/lib/pc-bios/keymaps/modifiers
+/emulator/lib/pc-bios/keymaps/mk
+/emulator/lib/pc-bios/keymaps/lv
+/emulator/lib/pc-bios/keymaps/lt
+/emulator/lib/pc-bios/keymaps/ja
+/emulator/lib/pc-bios/keymaps/it
+/emulator/lib/pc-bios/keymaps/is
+/emulator/lib/pc-bios/keymaps/hu
+/emulator/lib/pc-bios/keymaps/hr
+/emulator/lib/pc-bios/keymaps/fr-ch
+/emulator/lib/pc-bios/keymaps/fr-ca
+/emulator/lib/pc-bios/keymaps/fr-be
+/emulator/lib/pc-bios/keymaps/fr
+/emulator/lib/pc-bios/keymaps/fo
+/emulator/lib/pc-bios/keymaps/fi
+/emulator/lib/pc-bios/keymaps/et
+/emulator/lib/pc-bios/keymaps/es
+/emulator/lib/pc-bios/keymaps/en-us
+/emulator/lib/pc-bios/keymaps/en-gb
+/emulator/lib/pc-bios/keymaps/de-ch
+/emulator/lib/pc-bios/keymaps/de
+/emulator/lib/pc-bios/keymaps/da
+/emulator/lib/pc-bios/keymaps/cz
+/emulator/lib/pc-bios/keymaps/common
+/emulator/lib/pc-bios/keymaps/bepo
+/emulator/lib/pc-bios/keymaps/ar
+/emulator/lib/pc-bios/keymaps/Makefile
+/emulator/lib64/emulator-studio-view.jar
+/emulator/lib64/libandroid-studio.so
 /emulator/lib64/libtcmalloc_minimal.so.4
-/emulator/lib64/libunwind.so.8
-/emulator/lib64/libunwind-x86_64.so.8
 /emulator/lib64/libc++.so
 /emulator/lib64/libc++.so.1
 /emulator/lib64/libemugl_common.so
@@ -100,18 +101,27 @@
 /emulator/lib64/vulkan/libvk_swiftshader.so
 /emulator/lib64/vulkan/libvulkan.so.1
 /emulator/lib64/vulkan/libvulkan.so
+/emulator/lib64/vulkan/shaders/Astc_3D.spv
 /emulator/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
 /emulator/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
 /emulator/lib64/vulkan/shaders/EacR11Snorm_3D.spv
 /emulator/lib64/vulkan/shaders/EacR11Unorm_3D.spv
 /emulator/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
 /emulator/lib64/vulkan/shaders/Etc2RGB8_3D.spv
+/emulator/lib64/vulkan/shaders/Astc_2DArray.spv
 /emulator/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
 /emulator/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
 /emulator/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
 /emulator/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
 /emulator/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
 /emulator/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
+/emulator/lib64/vulkan/shaders/Astc_1DArray.spv
+/emulator/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv
+/emulator/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv
+/emulator/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv
+/emulator/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv
+/emulator/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv
+/emulator/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv
 /emulator/lib64/gles_swiftshader/libGLESv2.so
 /emulator/lib64/gles_swiftshader/libGLES_CM.so
 /emulator/lib64/gles_swiftshader/libEGL.so
diff --git a/linux-x86_64/emulator b/linux-x86_64/emulator
index 6a6758e..567f1ee 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 f995b45..0015bf7 100755
--- a/linux-x86_64/emulator-check
+++ b/linux-x86_64/emulator-check
Binary files differ
diff --git a/linux-x86_64/emulator-headless b/linux-x86_64/emulator-headless
index 5bcfdde..59a6f4f 100755
--- a/linux-x86_64/emulator-headless
+++ b/linux-x86_64/emulator-headless
Binary files differ
diff --git a/linux-x86_64/goldfish-webrtc-bridge b/linux-x86_64/goldfish-webrtc-bridge
index 21dc22e..1195823 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/advancedFeatures.ini b/linux-x86_64/lib/advancedFeatures.ini
index 95723fa..9c8600f 100644
--- a/linux-x86_64/lib/advancedFeatures.ini
+++ b/linux-x86_64/lib/advancedFeatures.ini
@@ -280,3 +280,8 @@
 # YUVCache is a guest side feature which asks the host to cache the
 # HAL_PIXEL_FORMAT_YCbCr_420_888 and HAL_PIXEL_FORMAT_YV12 frame.
 YUVCache = on
+
+# KeycodeForwarding-------------------------------------------------------------
+# KeycodeForwarding is a guest side feature which emulator host will capture the keypress
+# and forward Liunx keycode to Android system.
+KeycodeForwarding = on
\ No newline at end of file
diff --git a/linux-x86_64/lib/advancedFeaturesCanary.ini b/linux-x86_64/lib/advancedFeaturesCanary.ini
index 5e64d5c..24a263a 100644
--- a/linux-x86_64/lib/advancedFeaturesCanary.ini
+++ b/linux-x86_64/lib/advancedFeaturesCanary.ini
@@ -219,7 +219,7 @@
 DynamicPartition = on
 
 # Location UI v2----------------------------------------------------------------
-LocationUiV2 = off
+LocationUiV2 = on
 
 # SnapshotAdb-------------------------------------------------------------------
 SnapshotAdb = off
@@ -285,3 +285,8 @@
 # YUVCache is a guest side feature which asks the host to cache the
 # HAL_PIXEL_FORMAT_YCbCr_420_888 and HAL_PIXEL_FORMAT_YV12 frame.
 YUVCache = on
+
+# KeycodeForwarding-------------------------------------------------------------
+# KeycodeForwarding is a guest side feature which emulator host will capture the keypress
+# and forward Liunx keycode to Android system.
+KeycodeForwarding = on
\ No newline at end of file
diff --git a/linux-x86_64/lib/emulator_controller.proto b/linux-x86_64/lib/emulator_controller.proto
index 14c3e2c..e9c3edd 100644
--- a/linux-x86_64/lib/emulator_controller.proto
+++ b/linux-x86_64/lib/emulator_controller.proto
@@ -33,8 +33,11 @@
     rpc getGps(google.protobuf.Empty) returns (GpsState) {}
     rpc setGps(GpsState) returns (GpsState) {}
 
-    rpc sendTouch(TouchEvent) returns (google.protobuf.Empty) {}
+    rpc sendFingerprint(FingerprintEvent) returns (google.protobuf.Empty) {}
     rpc sendKey(KeyboardEvent) returns (google.protobuf.Empty) {}
+
+    // Note that touch events can be used instead of mouse events if desired.
+    rpc sendTouch(TouchEvent) returns (google.protobuf.Empty) {}
     rpc sendMouse(MouseEvent) returns (google.protobuf.Empty) {}
     rpc sendRotary(RotaryEvent) returns (google.protobuf.Empty) {}
 
@@ -53,7 +56,7 @@
 
     // The following endpoints are needed to establish the webrtc protocol
     // Due to limitiations in Javascript we cannot make use of bidirectional
-    // endpoints See this (blog)[https://grpc.io/blog/state-of-grpc-web] for
+    // endpoints See this [blog](https://grpc.io/blog/state-of-grpc-web) for
     // details.
 
     // This function will generate a new identifier that the client
@@ -98,22 +101,22 @@
     //        configure the new connection. This can include the
     //        turn configuration the serve is using. This dictionary can be
     //        passed in directly to the
-    //        (RTCPeerConnection)[https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection]
+    //        [RTCPeerConnection](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection)
     //        object.
     //
     // - candidate:
     //        The WebRTC API's RTCIceCandidateInit dictionary, which
     //        contains the information needed to fundamentally describe an
     //        RTCIceCandidate. See
-    //        (RTCIceCandidate)[https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate]
-    //        and (Session
-    //        Lifetime)[https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Session_lifetime]
+    //        [RTCIceCandidate](https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate)
+    //        and [Session
+    //        Lifetime](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Session_lifetime)
     //        for more details.
     //
     // - sdp:
     //        RTCSessionDescriptionInit dictionary containing the values
     //        to that can be assigned to a
-    //        (RTCSessionDescription)[https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescription]
+    //        [RTCSessionDescription](https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescription)
     string message = 2;
 }
 
@@ -126,7 +129,8 @@
     // by newer content and the start values will be mismatched.
     int64 start = 2;
     //[Output Only] The position of the next byte of content from the serial
-    //console output. Use this value in the next request as the start parameter.
+    // console output. Use this value in the next request as the start
+    // parameter.
     int64 next = 3;
 }
 
@@ -149,10 +153,86 @@
     int32 delta = 1;
 }
 
-message MouseEvent {
+// The Touch interface represents a single contact point on a touch-sensitive
+// device. The contact point is commonly a finger or stylus and the device may
+// be a touchscreen or trackpad.
+message Touch {
+    // The horizontal coordinate. This is the physical location on the screen
+    // For example 0 indicates the leftmost coordinate.
     int32 x = 1;
+
+    // The vertical coordinate. This is the physical location on the screen
+    // For example 0 indicates the top left coordinate.
     int32 y = 2;
+
+    // The identifier is an arbitrary non-negative integer that is used to
+    // identify and track each tool independently when multiple tools are
+    // active. For example, when multiple fingers are touching the device, each
+    // finger should be assigned a distinct tracking id that is used as long as
+    // the finger remains in contact. Tracking ids may be reused when their
+    // associated tools move out of range.
+    //
+    // The emulator currently supports up to 10 concurrent touch events. The
+    // identifier should be a value from the set [0, 10]
+    int32 identifier = 3;
+
+    // Reports the physical pressure applied to the tip of the tool or the
+    // signal strength of the touch contact.
+    //
+    // The values reported must be non-zero when the tool is touching the device
+    // and zero otherwise to indicate that the touch event is completed.
+    //
+    // Make sure to deliver a pressure of 0 for the given identifier when the
+    // touch event is completed, otherwise the touch identifier will not be
+    // unregistered!
+    int32 pressure = 4;
+
+    // Optionally reports the cross-sectional area of the touch contact, or the
+    // length of the longer dimension of the touch contact.
+    int32 touch_major = 5;
+
+    // Optionally reports the length of the shorter dimension of the touch
+    // contact. This axis will be ignored if touch_major is reporting an area
+    // measurement greater than 0.
+    int32 touch_minor = 6;
+}
+
+// A TouchEvent contains a list of Touch objects that are in contact with the
+// touch surface.
+//
+// Touch events are delivered in sequence as specified in the touchList.
+//
+// TouchEvents are delivered to the emulated devices using ["Protocol
+// B"](https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt)
+message TouchEvent {
+    // The list of Touch objects, note that these do not need to be unique
+    repeated Touch touches = 1;
+
+    // The display device where the touch event occurred.
+    // Omitting or using the value 0 indicates the main display.
+    int32 device = 2;
+}
+
+// The MouseEvent interface represents events that occur due to the user
+// interacting with a pointing device (such as a mouse).
+message MouseEvent {
+    // The horizontal coordinate. This is the physical location on the screen
+    // For example 0 indicates the leftmost coordinate.
+    int32 x = 1;
+
+    // The vertical coordinate. This is the physical location on the screen
+    // For example 0 indicates the top left coordinate.
+    int32 y = 2;
+
+    // Indicates which buttons are pressed.
+    // 0: No button was pressed
+    // 1: Primary button (left)
+    // 2: Secondary button (right)
     int32 buttons = 3;
+
+    // The display device where the mouse event occurred.
+    // Omitting or using the value 0 indicates the main display.
+    int32 device = 4;
 }
 
 // KeyboardEvent objects describe a user interaction with the keyboard; each
@@ -167,8 +247,7 @@
     // Code types that the emulator can receive. Note that the emulator
     // will do its best to translate the code to an evdev value that
     // will be send to the emulator. This translation is based on
-    // the chromium translation tables.
-    // See
+    // the chromium translation tables. See
     // https://chromium.googlesource.com/chromium/src/+/lkgr/ui/events/keycodes/dom/keycode_converter_data.inc
     // for details on the translation.
     enum KeyCodeType {
@@ -228,7 +307,7 @@
     string text = 5;
 }
 
-message TouchEvent {
+message FingerprintEvent {
     bool isTouching = 1;
     int32 touchId = 2;
 }
diff --git a/linux-x86_64/lib/hardware-properties.ini b/linux-x86_64/lib/hardware-properties.ini
index 048348f..f0b4c44 100644
--- a/linux-x86_64/lib/hardware-properties.ini
+++ b/linux-x86_64/lib/hardware-properties.ini
@@ -257,6 +257,12 @@
 abstract    = LCD backlight
 description = Enable/Disable LCD backlight simulation,yes-enabled,no-disabled.
 
+# VSYNC rate
+name        = hw.lcd.vsync
+type        = integer
+default     = 60
+abstract    = LCD VSYNC rate
+
 # Display sub-region
 # Indicates a reduced area of hw.lcd that is used when a foldable device
 # is in its folded configuration.
@@ -285,8 +291,7 @@
 default     = no
 abstract    = Adjust display window to folded size
 
-# The Second Display (Primary display is represented by hw.lcd.*)
-# Indicates a second display emulation support by emulator.
+# The Secondary Displays (MAX 3) (Primary display is represented by hw.lcd.*)
 name        = hw.display1.width
 type        = integer
 default     = 0
@@ -317,7 +322,6 @@
 default     = 0
 abstract    = the flag to use when the second display is initialized in the Android system.
 
-# The Third Display
 name        = hw.display2.width
 type        = integer
 default     = 0
@@ -348,6 +352,36 @@
 default     = 0
 abstract    = the flag to use when the third display is initialized in the Android system.
 
+name        = hw.display3.width
+type        = integer
+default     = 0
+abstract    = Pixel width of the fourth display
+
+name        = hw.display3.height
+type        = integer
+default     = 0
+abstract    = Pixel height of the fourth display
+
+name        = hw.display3.density
+type        = integer
+default     = 0
+abstract    = Screen density of the fourth display
+
+name        = hw.display3.xOffset
+type        = integer
+default     = -1
+abstract    = the horizontal offset of the fourth display with respect to the host QT window.
+
+name        = hw.display3.yOffset
+type        = integer
+default     = -1
+abstract    = the veritcal offset of the fourth display with respect to the host QT window.
+
+name        = hw.display3.flag
+type        = integer
+default     = 0
+abstract    = the flag touse when the fourth display is initialized in the Android system.
+
 # Hardware OpenGLES emulation support
 #
 name        = hw.gpu.enabled
@@ -629,6 +663,14 @@
 default     = <build>
 abstract    = Name of the AVD being run
 
+# Android AVD id
+# This is set automatically before launching a core.
+#
+name        = avd.id
+type        = string
+default     = <build>
+abstract    = ID of the AVD being run
+
 # Force cold boot
 # Don't use snapshots for quick booting but boot from scratch instead
 #
diff --git a/linux-x86_64/lib/waterfall.proto b/linux-x86_64/lib/waterfall.proto
new file mode 100644
index 0000000..cda1e26
--- /dev/null
+++ b/linux-x86_64/lib/waterfall.proto
@@ -0,0 +1,154 @@
+// Copyright 2018 Google LLC
+//
+// 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";
+
+package waterfall;
+
+option java_package = "com.google.waterfall";
+option java_outer_classname = "WaterfallProto";
+
+import "google/protobuf/empty.proto";
+
+message Message {
+  bytes payload = 1;
+}
+
+// Keep this as lean as possible. We only care about the payload during most
+// of the duration of the session. All other fields are only useful during
+// the beginning/end of the transfer
+message Transfer {
+  // Remote path to for push/pull. Remote path lives in the server fs.
+  // There is no need to send local path, since client has this info.
+  string path = 1;
+
+  // A stream of bytes. Encoded as a tarball.
+  bytes payload = 2;
+
+  // status fields.
+  bool success = 3;
+  bytes err = 4;
+}
+
+message Cmd {
+  // Path to the binary to execute.
+  // Path should be absolute. Otherwise behavior is not specified.
+  // use /system/bin/sh -c to run in a shell.
+  // Interactive shell is not supported.
+  string path = 1;
+
+  // Args to pass to the command
+  repeated string args = 2;
+
+  // Directory to execute the command
+  string dir = 3;
+
+  // Whether to pipe stdin to the command
+  bool pipeIn = 4;
+
+  // Enviroment to use
+  map<string, string> env = 5;
+
+}
+
+message CmdProgress {
+
+  // Command to execute. Only valid for the initial message of the stream.
+  Cmd cmd = 5;
+
+  // the exit code of the command.
+  // Only populated when the gRPC stream is done.
+  // I.e. the last message before the EOF.
+  uint32 exit_code = 1;
+
+  bytes stdout = 2;
+  bytes stderr = 3;
+  bytes stdin = 4;
+}
+
+message ForwardMessage {
+  enum Kind {
+    UNSET = 0;
+    TCP = 1;
+    UDP = 2;
+    UNIX = 3;
+  }
+
+  enum Op {
+    OPEN = 0;
+    FWD = 1;
+    CLOSE = 2;
+  }
+
+  // Kind of connection to start (tcp|udp|unix)
+  Kind kind = 1;
+  Op op = 2;
+
+  // Address to open and redirect payload to.
+  string addr = 3;
+  // Data to be pushed to connection established on addr.
+  bytes payload = 4;
+  // Wheter or not to rebind the port
+  bool rebind = 5;
+}
+
+message VersionMessage {
+  string version = 1;
+}
+
+service Waterfall {
+  // Echo exists solely for test purposes.
+  rpc Echo(stream Message) returns (stream Message);
+
+  // Push file/dir from host to device.
+  rpc Push(stream Transfer) returns (Transfer);
+
+  // Pull file/dir from device to host.
+  rpc Pull(Transfer) returns (stream Transfer);
+
+  // Exec executes cmd in the device and foward stdout and stderr to client
+  // Exec expects a single initial CmdProgress message if stdin is not
+  // being redirected. Otherwise Exec will read std from the stream.
+  rpc Exec(stream CmdProgress) returns (stream CmdProgress);
+
+  // Forward forwards the stream payload to the requested socket
+  rpc Forward(stream ForwardMessage) returns (stream ForwardMessage);
+
+  // Version gets the version of the server.
+  rpc Version(google.protobuf.Empty) returns (VersionMessage);
+}
+
+message ForwardSession {
+  string src = 1;
+  string dst = 2;
+}
+
+message PortForwardRequest {
+  bool rebind = 3;
+  ForwardSession session = 4;
+}
+
+message ForwardedSessions {
+  repeated ForwardSession sessions = 1;
+}
+
+// PortForwarder service runs a port forwarding session via waterfall.
+// It allows start and stop forwarding connections when the waterfall client
+// is unable to mantains any state (e.g. the waterfall adb binary).
+service PortForwarder {
+  rpc ForwardPort(PortForwardRequest) returns (google.protobuf.Empty);
+  rpc Stop(PortForwardRequest) returns (google.protobuf.Empty);
+  rpc StopAll(google.protobuf.Empty) returns (google.protobuf.Empty);
+  rpc List(google.protobuf.Empty) returns (ForwardedSessions);
+}
diff --git a/linux-x86_64/lib64/emulator-studio-view.jar b/linux-x86_64/lib64/emulator-studio-view.jar
new file mode 100644
index 0000000..77caa3f
--- /dev/null
+++ b/linux-x86_64/lib64/emulator-studio-view.jar
Binary files differ
diff --git a/linux-x86_64/lib64/libEGL_translator.so b/linux-x86_64/lib64/libEGL_translator.so
index 94d0192..f59ee80 100644
--- a/linux-x86_64/lib64/libEGL_translator.so
+++ b/linux-x86_64/lib64/libEGL_translator.so
Binary files differ
diff --git a/linux-x86_64/lib64/libGLES12Translator.so b/linux-x86_64/lib64/libGLES12Translator.so
index 7e85135..2281c8b 100644
--- a/linux-x86_64/lib64/libGLES12Translator.so
+++ b/linux-x86_64/lib64/libGLES12Translator.so
Binary files differ
diff --git a/linux-x86_64/lib64/libGLES_CM_translator.so b/linux-x86_64/lib64/libGLES_CM_translator.so
index 20bc17a..76bca12 100644
--- a/linux-x86_64/lib64/libGLES_CM_translator.so
+++ b/linux-x86_64/lib64/libGLES_CM_translator.so
Binary files differ
diff --git a/linux-x86_64/lib64/libGLES_V2_translator.so b/linux-x86_64/lib64/libGLES_V2_translator.so
index 9c4de32..c1a84f7 100644
--- a/linux-x86_64/lib64/libGLES_V2_translator.so
+++ b/linux-x86_64/lib64/libGLES_V2_translator.so
Binary files differ
diff --git a/linux-x86_64/lib64/libOpenglRender.so b/linux-x86_64/lib64/libOpenglRender.so
index 74f31ed..7086987 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-studio.so b/linux-x86_64/lib64/libandroid-studio.so
new file mode 100644
index 0000000..850c962
--- /dev/null
+++ b/linux-x86_64/lib64/libandroid-studio.so
Binary files differ
diff --git a/linux-x86_64/lib64/libc++.so b/linux-x86_64/lib64/libc++.so
index e0af24e..b69995d 100644
--- a/linux-x86_64/lib64/libc++.so
+++ b/linux-x86_64/lib64/libc++.so
Binary files differ
diff --git a/linux-x86_64/lib64/libc++.so.1 b/linux-x86_64/lib64/libc++.so.1
index 1377224..985588a 100644
--- a/linux-x86_64/lib64/libc++.so.1
+++ b/linux-x86_64/lib64/libc++.so.1
Binary files differ
diff --git a/linux-x86_64/lib64/libemugl_common.so b/linux-x86_64/lib64/libemugl_common.so
index 6979353..472fbda 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/libunwind-x86_64.so.8 b/linux-x86_64/lib64/libunwind-x86_64.so.8
deleted file mode 100644
index feab05c..0000000
--- a/linux-x86_64/lib64/libunwind-x86_64.so.8
+++ /dev/null
Binary files differ
diff --git a/linux-x86_64/lib64/libunwind.so.8 b/linux-x86_64/lib64/libunwind.so.8
deleted file mode 100644
index a7fc91a..0000000
--- a/linux-x86_64/lib64/libunwind.so.8
+++ /dev/null
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5CoreAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5CoreAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5DBusAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5DBusAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5GuiAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5GuiAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5NetworkAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5NetworkAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5PrintSupportAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5PrintSupportAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5SvgAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5SvgAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5WidgetsAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5WidgetsAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libQt5XcbQpaAndroidEmu.so.5 b/linux-x86_64/lib64/qt/lib/libQt5XcbQpaAndroidEmu.so.5
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libfreetype.so.6 b/linux-x86_64/lib64/qt/lib/libfreetype.so.6
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libsoftokn3.so b/linux-x86_64/lib64/qt/lib/libsoftokn3.so
old mode 100644
new mode 100755
index bb34d5d..ed5d30e
--- a/linux-x86_64/lib64/qt/lib/libsoftokn3.so
+++ b/linux-x86_64/lib64/qt/lib/libsoftokn3.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libsqlite3.so b/linux-x86_64/lib64/qt/lib/libsqlite3.so
old mode 100644
new mode 100755
index 07aa7ef..12b3646
--- a/linux-x86_64/lib64/qt/lib/libsqlite3.so
+++ b/linux-x86_64/lib64/qt/lib/libsqlite3.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libxkbcommon.so b/linux-x86_64/lib64/qt/lib/libxkbcommon.so
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libxkbcommon.so.0 b/linux-x86_64/lib64/qt/lib/libxkbcommon.so.0
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/lib/libxkbcommon.so.0.0.0 b/linux-x86_64/lib64/qt/lib/libxkbcommon.so.0.0.0
old mode 100644
new mode 100755
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/iconengines/libqsvgicon.so b/linux-x86_64/lib64/qt/plugins/iconengines/libqsvgicon.so
old mode 100644
new mode 100755
index 4b4f4b2..652200f
--- a/linux-x86_64/lib64/qt/plugins/iconengines/libqsvgicon.so
+++ b/linux-x86_64/lib64/qt/plugins/iconengines/libqsvgicon.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqgif.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqgif.so
old mode 100644
new mode 100755
index be222b5..21103de
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqgif.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqgif.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqicns.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqicns.so
old mode 100644
new mode 100755
index 6358386..dbdb564
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqicns.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqicns.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqico.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqico.so
old mode 100644
new mode 100755
index 0446357..4b18bc5
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqico.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqico.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqjpeg.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqjpeg.so
old mode 100644
new mode 100755
index 9429e42..e44b5e2
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqjpeg.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqjpeg.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqsvg.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqsvg.so
old mode 100644
new mode 100755
index 4e6a228..c15cb9f
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqsvg.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqsvg.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqtga.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqtga.so
old mode 100644
new mode 100755
index 1665878..5ce49b7
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqtga.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqtga.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqtiff.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqtiff.so
old mode 100644
new mode 100755
index beac247..0ca320c
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqtiff.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqtiff.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqwbmp.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqwbmp.so
old mode 100644
new mode 100755
index eb4c1c2..bf5b3a0
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqwbmp.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqwbmp.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/imageformats/libqwebp.so b/linux-x86_64/lib64/qt/plugins/imageformats/libqwebp.so
old mode 100644
new mode 100755
index 7036786..f1a78ea
--- a/linux-x86_64/lib64/qt/plugins/imageformats/libqwebp.so
+++ b/linux-x86_64/lib64/qt/plugins/imageformats/libqwebp.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so b/linux-x86_64/lib64/qt/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
old mode 100644
new mode 100755
index 5a3c388..86afcf3
--- a/linux-x86_64/lib64/qt/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
+++ b/linux-x86_64/lib64/qt/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
Binary files differ
diff --git a/linux-x86_64/lib64/qt/plugins/platforms/libqxcb.so b/linux-x86_64/lib64/qt/plugins/platforms/libqxcb.so
old mode 100644
new mode 100755
index 81491e0..5d0c380
--- a/linux-x86_64/lib64/qt/plugins/platforms/libqxcb.so
+++ b/linux-x86_64/lib64/qt/plugins/platforms/libqxcb.so
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/libvk_swiftshader.so b/linux-x86_64/lib64/vulkan/libvk_swiftshader.so
index e617191..5120734 100644
--- a/linux-x86_64/lib64/vulkan/libvk_swiftshader.so
+++ b/linux-x86_64/lib64/vulkan/libvk_swiftshader.so
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Astc_1DArray.spv b/linux-x86_64/lib64/vulkan/shaders/Astc_1DArray.spv
new file mode 100644
index 0000000..c742b20
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/Astc_1DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Astc_2DArray.spv b/linux-x86_64/lib64/vulkan/shaders/Astc_2DArray.spv
new file mode 100644
index 0000000..4ce18b2
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/Astc_2DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Astc_3D.spv b/linux-x86_64/lib64/vulkan/shaders/Astc_3D.spv
new file mode 100644
index 0000000..23cf0e8
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/Astc_3D.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv
new file mode 100644
index 0000000..b130ab2
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_1DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
index 6f5e62c..e0c7a2e 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_2DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv b/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv
index 0f0936d..810a59f 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacR11Snorm_3D.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv
new file mode 100644
index 0000000..1cbb4b5
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_1DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
index 7472b25..04f9d76 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_2DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv b/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv
index 2ed8d65..cb00853 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacR11Unorm_3D.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv
new file mode 100644
index 0000000..4f45430
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_1DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
index 981cc95..2b7b348 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_2DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv b/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
index 8b04a78..218b6cc 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacRG11Snorm_3D.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv
new file mode 100644
index 0000000..360d866
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_1DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv b/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
index 7f678cd..0da141f 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_2DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv b/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
index 76893f8..c52df96 100644
--- a/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/EacRG11Unorm_3D.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv b/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv
new file mode 100644
index 0000000..f13be35
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_1DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv b/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
index 6d7a43e..cd1ac4c 100644
--- a/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_2DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv b/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv
index 9dfea20..2457406 100644
--- a/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/Etc2RGB8_3D.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv b/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv
new file mode 100644
index 0000000..620f78b
--- /dev/null
+++ b/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_1DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv b/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
index 921ddd9..008fb78 100644
--- a/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_2DArray.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv b/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
index 349ec93..b69aaec 100644
--- a/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
+++ b/linux-x86_64/lib64/vulkan/shaders/Etc2RGBA8_3D.spv
Binary files differ
diff --git a/linux-x86_64/lib64/vulkan/vk_swiftshader_icd.json b/linux-x86_64/lib64/vulkan/vk_swiftshader_icd.json
index 0bc0bb7..ae6d262 100644
--- a/linux-x86_64/lib64/vulkan/vk_swiftshader_icd.json
+++ b/linux-x86_64/lib64/vulkan/vk_swiftshader_icd.json
@@ -2,6 +2,6 @@
   "file_format_version": "1.0.0",

   "ICD": {

     "library_path": "./libvk_swiftshader.so",

-    "api_version": "1.0.5"

+    "api_version": "1.1.0"

   }

 }

diff --git a/linux-x86_64/mksdcard b/linux-x86_64/mksdcard
index d714a68..3386325 100755
--- a/linux-x86_64/mksdcard
+++ b/linux-x86_64/mksdcard
Binary files differ
diff --git a/linux-x86_64/qemu-img b/linux-x86_64/qemu-img
index a2bf22d..22c4e66 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 8d647bb..213230d 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 42ff907..ced7f0e 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 4cbdeb6..f1b0df3 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-i386 b/linux-x86_64/qemu/linux-x86_64/qemu-system-i386
index 1112660..33eb9de 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 df074ec..cf388b0 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 ce7be15..724cfc3 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 9b84661..4685f0f 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/source.properties b/linux-x86_64/source.properties
index bf26d76..ebda06c 100644
--- a/linux-x86_64/source.properties
+++ b/linux-x86_64/source.properties
@@ -1,5 +1,5 @@
 Pkg.UserSrc=false
-Pkg.Revision=29.1.4
+Pkg.Revision=29.2.4
 Pkg.Path=emulator
 Pkg.Desc=Android Emulator
 Pkg.Dependencies=tools#25.3