<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>235694</bug_id>
          
          <creation_ts>2022-01-27 00:01:18 -0800</creation_ts>
          <short_desc>[GTK] Crash when starting DND on touchscreen</short_desc>
          <delta_ts>2022-02-04 10:54:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alice Mikhaylenko">alicem</reporter>
          <assigned_to name="Alice Mikhaylenko">alicem</assigned_to>
          <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clord</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1834433</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-01-27 00:01:18 -0800</bug_when>
    <thetext>(MiniBrowser:20): Gdk-CRITICAL **: 23:56:59.312: gdk_wayland_window_get_wl_surface: assertion &apos;GDK_IS_WAYLAND_WINDOW (window)&apos; failed
Gdk-Message: 23:56:59.314: Error 22 (Invalid argument) dispatching to Wayland display.



Thread 1 &quot;MiniBrowser&quot; hit Breakpoint 1, gdk_wayland_window_get_wl_surface (window=0x555556242250 [GdkWaylandWindow]) at ../gdk/wayland/gdkwindow-wayland.c:4882
4882	{
(gdb) bt
#0  gdk_wayland_window_get_wl_surface (window=0x555556242250 [GdkWaylandWindow]) at ../gdk/wayland/gdkwindow-wayland.c:4882
#1  0x00007ffff2336c26 in _gdk_wayland_window_drag_begin
    (window=0x5555562420b0 [GdkWaylandWindow], device=&lt;optimized out&gt;, targets=0x555555787620 = {...}, x_root=&lt;optimized out&gt;, y_root=&lt;optimized out&gt;)
    at ../gdk/wayland/gdkdnd-wayland.c:539
#2  0x00007ffff27a58fe in gtk_drag_begin_internal
    (widget=widget@entry=0x55555598d730 [WebKitWebView], out_needs_icon=out_needs_icon@entry=0x0, target_list=target_list@entry=0x5555559f6b30, actions=actions@entry=(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK), button=button@entry=1, event=event@entry=0x0, x=&lt;optimized out&gt;, y=&lt;optimized out&gt;) at ../gtk/gtkdnd.c:1828
#3  0x00007ffff27a5e60 in gtk_drag_begin_with_coordinates
    (widget=0x55555598d730 [WebKitWebView], targets=0x5555559f6b30, actions=(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK), button=1, event=0x0, x=-1, y=-1)
    at ../gtk/gtkdnd.c:1995
#4  0x00007ffff3abcb3d in WebKit::DragSource::begin(WebCore::SelectionData&amp;&amp;, WTF::OptionSet&lt;WebCore::DragOperation&gt;, WTF::RefPtr&lt;WebKit::ShareableBitmap, WTF::RawPtrTraits&lt;WebKit::ShareableBitmap&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::ShareableBitmap&gt; &gt;&amp;&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#5  0x00007ffff3acd9d6 in webkitWebViewBaseStartDrag(_WebKitWebViewBase*, WebCore::SelectionData&amp;&amp;, WTF::OptionSet&lt;WebCore::DragOperation&gt;, WTF::RefPtr&lt;WebKit::ShareableBitmap, WTF::RawPtrTraits&lt;WebKit::ShareableBitmap&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::ShareableBitmap&gt; &gt;&amp;&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#6  0x00007ffff39a4501 in WebKit::WebPageProxy::startDrag(WebCore::SelectionData&amp;&amp;, WTF::OptionSet&lt;WebCore::DragOperation&gt;, WebKit::ShareableBitmap::Handle const&amp;) ()
    at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#7  0x00007ffff3605f5a in void IPC::handleMessage&lt;Messages::WebPageProxy::StartDrag, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebCore::SelectionData&amp;&amp;, WTF::OptionSet&lt;WebCore::DragOperation&gt;, WebKit::ShareableBitmap::Handle const&amp;)&gt;(IPC::Connection&amp;, IPC::Decoder&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::SelectionData&amp;&amp;, WTF::OptionSet&lt;WebCore::DragOperation&gt;, WebKit::ShareableBitmap::Handle const&amp;)) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#8  0x00007ffff35e8e2b in WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#9  0x00007ffff38a920b in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#10 0x00007ffff3996b4f in non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) ()
    at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#11 0x00007ffff38a1775 in IPC::Connection::dispatchMessage(std::unique_ptr&lt;IPC::Decoder, std::default_delete&lt;IPC::Decoder&gt; &gt;) ()
    at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#12 0x00007ffff38a3f7b in IPC::Connection::dispatchIncomingMessages() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#13 0x00007ffff1ba3454 in WTF::RunLoop::performWork() () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.1.so.0
#14 0x00007ffff1c15c79 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.1.so.0
#15 0x00007ffff1c1673f in WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) ()
    at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.1.so.0
#16 0x00007ffff7ecf294 in g_main_dispatch (context=0x5555556086b0) at ../glib/gmain.c:3381
#17 g_main_context_dispatch (context=0x5555556086b0) at ../glib/gmain.c:4099
#18 0x00007ffff7ecf638 in g_main_context_iterate (context=context@entry=0x5555556086b0, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:4175
#19 0x00007ffff7ecf703 in g_main_context_iteration (context=context@entry=0x5555556086b0, may_block=may_block@entry=1) at ../glib/gmain.c:4240
#20 0x00007fffece47765 in g_application_run (application=0x555555663210 [GtkApplication], argc=-7484, argv=&lt;optimized out&gt;) at ../gio/gapplication.c:2569
#21 0x000055555556487c in main ()
(gdb) 


It doesn&apos;t crash in XWayland, though DND gets stuck instead. Doesn&apos;t seem to happen at all on GTK4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835917</commentid>
    <comment_count>1</comment_count>
      <attachid>450516</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-02-01 04:34:28 -0800</bug_when>
    <thetext>Created attachment 450516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835919</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-02-01 04:36:15 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835923</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-01 05:11:40 -0800</bug_when>
    <thetext>Do we have a way to detect if a PlatformMouseEvent is a touchscreen event? Maybe we can prevent the drag from starting already in the web process, in EventHandler::handleMousePressEvent() setting m_mouseDownMayStartDrag = false. Is it right to assume all synthesized events are touchscreen events?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835925</commentid>
    <comment_count>4</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-02-01 05:22:50 -0800</bug_when>
    <thetext>Hm no, it&apos;s not right, I once again forgot to check other places where it&apos;s used, outside WebKitWebView.

I guess then we can do a similar thing as for https://bugs.webkit.org/show_bug.cgi?id=235436 and have an extra parameter for webkitWebViewBaseSynthesizeMouseEvent(), and a GTK-specific PlatformWebMouseEvent field to store this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836392</commentid>
    <comment_count>5</comment_count>
      <attachid>450630</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-02-02 02:51:43 -0800</bug_when>
    <thetext>Created attachment 450630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836703</commentid>
    <comment_count>6</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-02-02 16:41:38 -0800</bug_when>
    <thetext>Random EWS failures? macOS fixed itself, now iOS fails instead...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837163</commentid>
    <comment_count>7</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2022-02-03 16:37:11 -0800</bug_when>
    <thetext>Patch looks good to me, but I would prefer if someone else who has
better touch-input-fu could also take a look and review this :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837304</commentid>
    <comment_count>8</comment_count>
      <attachid>450630</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-04 00:55:29 -0800</bug_when>
    <thetext>Comment on attachment 450630
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=450630&amp;action=review

LGTM

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:1936
&gt; +    webkitWebViewBaseSynthesizeMouseEvent(webViewBase, MouseEventType::Motion, 0, 0, x, y, modifiers, nPress, mousePointerEventType(), true);
&gt; +    webkitWebViewBaseSynthesizeMouseEvent(webViewBase, MouseEventType::Press, button, 0, x, y, modifiers, nPress, mousePointerEventType(), true);
&gt; +    webkitWebViewBaseSynthesizeMouseEvent(webViewBase, MouseEventType::Release, button, buttons, x, y, modifiers, nPress, mousePointerEventType(), true);

This would be easier to read using an enum class instead of a boolean, PlatformMouseEvent::IsTouch::Yes, for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837423</commentid>
    <comment_count>9</comment_count>
      <attachid>450898</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-02-04 07:59:29 -0800</bug_when>
    <thetext>Created attachment 450898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837430</commentid>
    <comment_count>10</comment_count>
      <attachid>450899</attachid>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-02-04 08:22:03 -0800</bug_when>
    <thetext>Created attachment 450899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837503</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-04 10:54:30 -0800</bug_when>
    <thetext>Committed r289129 (246826@main): &lt;https://commits.webkit.org/246826@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450899.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450516</attachid>
            <date>2022-02-01 04:34:28 -0800</date>
            <delta_ts>2022-02-02 02:51:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235694-20220201173529.patch</filename>
            <type>text/plain</type>
            <size>5519</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxYjgyZWU2YmVjOGMzZmQz
ZGNmMTczNDJiMzcyZGVjYzI2NzM4YjYuLjQyNDY1ZmQxNmYxNWExNjkwNjM5Y2QwYjQzMDhlMDZm
MGIxY2RiNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjItMDItMDEgIEFsZXhhbmRl
ciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXSBDcmFzaCB3
aGVuIHN0YXJ0aW5nIERORCBvbiB0b3VjaHNjcmVlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRHJhZy1uLWRyb3Agb24gdG91Y2ggaGFzIG5ldmVyIHdv
cmtlZCBjb3JyZWN0bHkgaW4gR1RLLCBhbmQgaXMgdXN1YWxseQorICAgICAgICBqdXN0IGRpc2Fi
bGVkLiBEbyB0aGUgc2FtZSB0aGluZyBhbmQgaWdub3JlIGl0IGZvciBzeW50aGVzaXplZCBtb3Vz
ZQorICAgICAgICBldmVudHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3QmFzZS5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZUhhbmRsZU1vdXNlRXZl
bnQpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VCdXR0b25QcmVzc2VkKToKKyAgICAgICAg
KHdlYmtpdFdlYlZpZXdCYXNlQnV0dG9uUmVsZWFzZWQpOgorICAgICAgICAod2Via2l0V2ViVmll
d0Jhc2VFbnRlcik6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZU1vdGlvbik6CisgICAgICAg
ICh3ZWJraXRXZWJWaWV3QmFzZUxlYXZlKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU3Rh
cnREcmFnKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQp
OgorCiAyMDIyLTAxLTMxICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjg4NjQ0KTogW0dUSzRdIENyaXRpY2FscyB3aGVuIHVz
aW5nIHBpbmNoIHpvb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggNDdkNjNkOTQwMzU3YWFlZDY1ZGY3YjFlNmRi
YzZjMmE2ZGMxOTkxMC4uOWJjZjVmYjY2NTQyZmE3ZjAwYzQ0NzNmOTIxMzZhMmFiMmU0YmQ0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3QmFzZS5jcHAKQEAgLTI4NCw2ICsyODQsNyBAQCBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdCYXNl
UHJpdmF0ZSB7CiAgICAgVG91Y2hFdmVudHNNYXAgdG91Y2hFdmVudHM7CiAgICAgSW50U2l6ZSBj
b250ZW50c1NpemU7CiAgICAgc3RkOjpvcHRpb25hbDxNb3Rpb25FdmVudD4gbGFzdE1vdGlvbkV2
ZW50OworICAgIGJvb2wgbGFzdE1vdXNlRXZlbnRXYXNTeW50aGVzaXplZDsKICAgICBib29sIGlz
Qmxhbms7CiAgICAgYm9vbCBzaG91bGROb3RpZnlGb2N1c0V2ZW50cyB7IHRydWUgfTsKIApAQCAt
MTE0Nyw2ICsxMTQ4LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VIYW5kbGVNb3Vz
ZUV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgR2QKICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfQogCisgICAgcHJpdi0+bGFzdE1vdXNlRXZlbnRXYXNTeW50
aGVzaXplZCA9IGZhbHNlOwogICAgIHByaXYtPnBhZ2VQcm94eS0+aGFuZGxlTW91c2VFdmVudChO
YXRpdmVXZWJNb3VzZUV2ZW50KGV2ZW50LCBjbGlja0NvdW50LCBtb3ZlbWVudERlbHRhKSk7CiB9
CiAKQEAgLTEyMDUsNiArMTIwNyw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlQnV0
dG9uUHJlc3NlZChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIGludCBjCiAgICAgaWYg
KGJ1dHRvbiA9PSBHREtfQlVUVE9OX1NFQ09OREFSWSkKICAgICAgICAgcHJpdi0+Y29udGV4dE1l
bnVFdmVudC5yZXNldChnZGtfZXZlbnRfY29weShldmVudCkpOwogCisgICAgcHJpdi0+bGFzdE1v
dXNlRXZlbnRXYXNTeW50aGVzaXplZCA9IGZhbHNlOwogICAgIHByaXYtPnBhZ2VQcm94eS0+aGFu
ZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2ZW50LCB7IGNsYW1wVG9JbnRlZ2Vy
KHgpLCBjbGFtcFRvSW50ZWdlcih5KSB9LCBjbGlja0NvdW50LCBzdGQ6Om51bGxvcHQpKTsKIH0K
IApAQCAtMTIyMSw2ICsxMjI0LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VCdXR0
b25SZWxlYXNlZChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIGludAogICAgIGF1dG8q
IHNlcXVlbmNlID0gZ3RrX2dlc3R1cmVfc2luZ2xlX2dldF9jdXJyZW50X3NlcXVlbmNlKEdUS19H
RVNUVVJFX1NJTkdMRShnZXN0dXJlKSk7CiAgICAgZ3RrX2dlc3R1cmVfc2V0X3NlcXVlbmNlX3N0
YXRlKGdlc3R1cmUsIHNlcXVlbmNlLCBHVEtfRVZFTlRfU0VRVUVOQ0VfQ0xBSU1FRCk7CiAKKyAg
ICBwcml2LT5sYXN0TW91c2VFdmVudFdhc1N5bnRoZXNpemVkID0gZmFsc2U7CiAgICAgcHJpdi0+
cGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZ3RrX2dlc3R1
cmVfZ2V0X2xhc3RfZXZlbnQoZ2VzdHVyZSwgc2VxdWVuY2UpLCB7IGNsYW1wVG9JbnRlZ2VyKHgp
LCBjbGFtcFRvSW50ZWdlcih5KSB9LCBjbGlja0NvdW50LCBzdGQ6Om51bGxvcHQpKTsKIH0KICNl
bmRpZgpAQCAtMTQ1Miw2ICsxNDU2LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VF
bnRlcihXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIGRvdWJsZSB4LCBkb3UKICAgICAg
ICAgcmV0dXJuOwogI2VuZGlmCiAKKyAgICBwcml2LT5sYXN0TW91c2VFdmVudFdhc1N5bnRoZXNp
emVkID0gZmFsc2U7CiAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2
ZVdlYk1vdXNlRXZlbnQoeyBjbGFtcFRvSW50ZWdlcih4KSwgY2xhbXBUb0ludGVnZXIoeSkgfSkp
OwogfQogCkBAIC0xNDczLDYgKzE0NzgsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmll
d0Jhc2VNb3Rpb24oV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBkb3VibGUgeAogICAg
ICAgICBtb3ZlbWVudERlbHRhID0gbW90aW9uRXZlbnQucG9zaXRpb24gLSBwcml2LT5sYXN0TW90
aW9uRXZlbnQtPnBvc2l0aW9uOwogICAgIHByaXYtPmxhc3RNb3Rpb25FdmVudCA9IFdURk1vdmUo
bW90aW9uRXZlbnQpOwogCisgICAgcHJpdi0+bGFzdE1vdXNlRXZlbnRXYXNTeW50aGVzaXplZCA9
IGZhbHNlOwogICAgIHdlYlZpZXdCYXNlLT5wcml2LT5wYWdlUHJveHktPmhhbmRsZU1vdXNlRXZl
bnQoTmF0aXZlV2ViTW91c2VFdmVudChldmVudCwgeyBjbGFtcFRvSW50ZWdlcih4KSwgY2xhbXBU
b0ludGVnZXIoeSkgfSwgMCwgbW92ZW1lbnREZWx0YSkpOwogCiAgICAgcmV0dXJuIEdES19FVkVO
VF9QUk9QQUdBVEU7CkBAIC0xNDkyLDYgKzE0OTgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJW
aWV3QmFzZUxlYXZlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgR2RrQ3Jvc3NpbmdN
bwogICAgICAgICByZXR1cm47CiAjZW5kaWYKIAorICAgIHByaXYtPmxhc3RNb3VzZUV2ZW50V2Fz
U3ludGhlc2l6ZWQgPSBmYWxzZTsKICAgICBwcml2LT5wYWdlUHJveHktPmhhbmRsZU1vdXNlRXZl
bnQoTmF0aXZlV2ViTW91c2VFdmVudCh7IC0xLCAtMSB9KSk7CiB9CiAjZW5kaWYKQEAgLTIyODYs
MTAgKzIyOTMsMTUgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldE1vdXNlSXNPdmVyU2Nyb2xs
YmFyKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgV2UKIHZvaWQgd2Via2l0V2ViVmll
d0Jhc2VTdGFydERyYWcoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBTZWxlY3Rpb25E
YXRhJiYgc2VsZWN0aW9uRGF0YSwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdPcGVyYXRp
b25NYXNrLCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiYmIGltYWdlKQogewogICAgIFdlYktpdFdl
YlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYlZpZXdCYXNlLT5wcml2OwotICAgIGlmICghcHJp
di0+ZHJhZ1NvdXJjZSkKLSAgICAgICAgcHJpdi0+ZHJhZ1NvdXJjZSA9IG1ha2VVbmlxdWU8RHJh
Z1NvdXJjZT4oR1RLX1dJREdFVCh3ZWJWaWV3QmFzZSkpOwogCi0gICAgcHJpdi0+ZHJhZ1NvdXJj
ZS0+YmVnaW4oV1RGTW92ZShzZWxlY3Rpb25EYXRhKSwgZHJhZ09wZXJhdGlvbk1hc2ssIFdURk1v
dmUoaW1hZ2UpKTsKKyAgICAvLyBEcmFnLW4tZHJvcCBkb2Vzbid0IHdvcmsgY29ycmVjdGx5IGZv
ciBzeW50aGVzaXplZCBtb3VzZQorICAgIC8vIGV2ZW50cyBjb21pbmcgZnJvbSB0b3VjaCBzY3Jl
ZW4sIGRpc2FibGUgaXQgaW5zdGVhZC4KKyAgICBpZiAoIXByaXYtPmxhc3RNb3VzZUV2ZW50V2Fz
U3ludGhlc2l6ZWQpIHsKKyAgICAgICAgaWYgKCFwcml2LT5kcmFnU291cmNlKQorICAgICAgICAg
ICAgcHJpdi0+ZHJhZ1NvdXJjZSA9IG1ha2VVbmlxdWU8RHJhZ1NvdXJjZT4oR1RLX1dJREdFVCh3
ZWJWaWV3QmFzZSkpOworCisgICAgICAgIHByaXYtPmRyYWdTb3VyY2UtPmJlZ2luKFdURk1vdmUo
c2VsZWN0aW9uRGF0YSksIGRyYWdPcGVyYXRpb25NYXNrLCBXVEZNb3ZlKGltYWdlKSk7CisgICAg
fQogCiAjaWYgIVVTRShHVEs0KQogICAgIC8vIEEgZHJhZyBzdGFydGluZyBzaG91bGQgcHJldmVu
dCBhIGRvdWJsZS1jbGljayBmcm9tIGhhcHBlbmluZy4gVGhpcyBtaWdodApAQCAtMjg4MCw2ICsy
ODkyLDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KFdlYktp
dFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgTW91c2UKICAgICAgICAgYnJlYWs7CiAgICAgfQog
CisgICAgcHJpdi0+bGFzdE1vdXNlRXZlbnRXYXNTeW50aGVzaXplZCA9IHRydWU7CiAgICAgcHJp
di0+cGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQod2ViRXZl
bnRUeXBlLCB3ZWJFdmVudEJ1dHRvbiwgd2ViRXZlbnRCdXR0b25zLCB7IHgsIHkgfSwKICAgICAg
ICAgd2lkZ2V0Um9vdENvb3JkcyhHVEtfV0lER0VUKHdlYlZpZXdCYXNlKSwgeCwgeSksIGNsaWNr
Q291bnQsIHRvV2ViS2l0TW9kaWZpZXJzKG1vZGlmaWVycyksIG1vdmVtZW50RGVsdGEsCiAgICAg
ICAgIHByaW1hcnlQb2ludGVyRm9yVHlwZShwb2ludGVyVHlwZSksIHBvaW50ZXJUeXBlLmlzTnVs
bCgpID8gbW91c2VQb2ludGVyRXZlbnRUeXBlKCkgOiBwb2ludGVyVHlwZSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450630</attachid>
            <date>2022-02-02 02:51:43 -0800</date>
            <delta_ts>2022-02-04 07:59:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235694-20220202155244.patch</filename>
            <type>text/plain</type>
            <size>20256</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc4NzVmMDg1MTllYTdl
OGIzOWM2OGUyYTFkYzc0OTY1ODc2ZjZhYy4uZWEwNzE2ZDVlNjkxYWRiMjFhY2RjOGI1MTk0MjNi
ZmE4MTg0ZmYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTAyICBBbGV4
YW5kZXIgTWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS10gQ3Jh
c2ggd2hlbiBzdGFydGluZyBETkQgb24gdG91Y2hzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAgICAgICAgU2tp
cCBkcmFncyBmb3IgdG91Y2ggZXZlbnRzIG9uIEdUSy4KKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6
aXNUb3VjaEV2ZW50IGNvbnN0KToKKwogMjAyMi0wMS0zMSAgQWxleGFuZGVyIE1pa2hheWxlbmtv
ICA8YWxleG1AZ25vbWUub3JnPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIHdpZGdldCBz
dHlsZSB0byBtYXRjaCBsaWJhZHdhaXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxYjgyZWU2YmVjOGMzZmQzZGNm
MTczNDJiMzcyZGVjYzI2NzM4YjYuLjUyNGI4NjAyYmU0Y2ZhNzcyMjlhOGY3MGVlMDdiM2NmMDQ2
YTc3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMDIgIEFsZXhhbmRlciBN
aWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXSBDcmFzaCB3aGVu
IHN0YXJ0aW5nIERORCBvbiB0b3VjaHNjcmVlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRHJhZy1uLWRyb3Agb24gdG91Y2ggaGFzIG5ldmVyIHdvcmtl
ZCBjb3JyZWN0bHkgaW4gR1RLLCBhbmQgaXMgdXN1YWxseQorICAgICAgICBqdXN0IGRpc2FibGVk
LiBEbyB0aGUgc2FtZSB0aGluZyBhbmQgaWdub3JlIGl0IGZvciBzeW50aGVzaXplZCBtb3VzZQor
ICAgICAgICBldmVudHMuCisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJLaXQyUGxhdGZvcm1Nb3VzZUV2ZW50OjpXZWJLaXQyUGxhdGZvcm1Nb3VzZUV2ZW50
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViTW91c2VFdmVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3Vz
ZUV2ZW50OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3VzZUV2ZW50Ojpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJNb3VzZUV2ZW50Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYk1vdXNlRXZlbnQ6OmlzVG91Y2hFdmVudCBjb25zdCk6CisgICAgICAgICogU2hhcmVk
L2d0ay9OYXRpdmVXZWJNb3VzZUV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmF0aXZl
V2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jh
c2VUb3VjaFJlbGVhc2UpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VUb3VjaERyYWdVcGRh
dGUpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VUb3VjaERyYWdFbmQpOgorICAgICAgICAo
d2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UG9pbnRl
ckxvY2tNYW5hZ2VyOjpoYW5kbGVNb3Rpb24pOgorCiAyMDIyLTAxLTMxICBBbGV4YW5kZXIgTWlr
aGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjg4NjQ0
KTogW0dUSzRdIENyaXRpY2FscyB3aGVuIHVzaW5nIHBpbmNoIHpvb20KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5jcHAKaW5kZXggZjRiOGM4NzhkYjAwYTgwYjdkMDY0Y2IyNTE2YzA1
MzNmMWYzYWRmNS4uYWU4MTBkNGM5YWVhMjBmNTA0MDcyNjdlMGY2ZTM5NTVhYTQ3NTExNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTk3NSw2ICs5NzUsMTEgQEAg
Ym9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0
ZSYgc3RhdGUsIE9wdGlvblNldDxEcmEKICAgICBpZiAoIXN0YXRlLnNvdXJjZSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisjaWYgUExBVEZPUk0oR1RLKQorICAgIGlmIChkcmFnRXZlbnQuaXNU
b3VjaEV2ZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorCiAgICAgUmVmPEZy
YW1lPiBwcm90ZWN0b3Ioc3JjKTsKICAgICBhdXRvIGhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVz
dWx0Rm9yRHJhZ1N0YXJ0KHNyYywgKnN0YXRlLnNvdXJjZSwgZHJhZ09yaWdpbik7CiAgICAgaWYg
KCFoaXRUZXN0UmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1Nb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNl
RXZlbnQuaAppbmRleCA1ZmJlMzIyMGE4Mjg3YmZkZDJiMWU2MzQ3MjA3Mjk5NjljYTczNmFmLi41
YjUyNzRkYzZmOTI4NzAxODdhOWZiMzEwMmNjNWNiODJmMmZmZmNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaApAQCAtODcsNiArODcsMTAgQEAgY29u
c3QgZG91YmxlIEZvcmNlQXRGb3JjZUNsaWNrID0gMjsKICAgICAgICAgYm9vbCBkaWRBY3RpdmF0
ZVdlYlZpZXcoKSBjb25zdCB7IHJldHVybiBtX2RpZEFjdGl2YXRlV2ViVmlldzsgfQogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShHVEspCisgICAgICAgIGJvb2wgaXNUb3VjaEV2ZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9pc1RvdWNoRXZlbnQ7IH0KKyNlbmRpZgorCiAgICAgcHJvdGVjdGVkOgogICAg
ICAgICBNb3VzZUJ1dHRvbiBtX2J1dHRvbiB7IE5vQnV0dG9uIH07CiAgICAgICAgIFN5bnRoZXRp
Y0NsaWNrVHlwZSBtX3N5bnRoZXRpY0NsaWNrVHlwZSB7IE5vVGFwIH07CkBAIC0xMDUsNiArMTA5
LDggQEAgY29uc3QgZG91YmxlIEZvcmNlQXRGb3JjZUNsaWNrID0gMjsKICAgICAgICAgaW50IG1f
bWVudVR5cGVGb3JFdmVudCB7IDAgfTsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICAgICAgYm9v
bCBtX2RpZEFjdGl2YXRlV2ViVmlldyB7IGZhbHNlIH07CisjZWxpZiBQTEFURk9STShHVEspCisg
ICAgICAgIGJvb2wgbV9pc1RvdWNoRXZlbnQgeyBmYWxzZSB9OwogI2VuZGlmCiAgICAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCmluZGV4IDAwMTU1OGRk
NThmNGQ4NWYzNjBkNTcxMWNhYTAzZGIzMzg4OTAxMWUuLjhlOGVjOWJmOGE5MmJjNmQ0ZGYyOWI4
ZDIzN2M0ZTY0MWJkMTlkOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2
ZVdlYk1vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJNb3Vz
ZUV2ZW50LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAgIE5hdGl2ZVdlYk1vdXNlRXZl
bnQoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwogICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQo
R2RrRXZlbnQqLCBpbnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPik7CiAgICAg
TmF0aXZlV2ViTW91c2VFdmVudChHZGtFdmVudCosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jiwg
aW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4pOwotICAgIE5hdGl2ZVdlYk1v
dXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQ
b3NpdGlvbiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4sIFdlYkNvcmU6OlBvaW50ZXJJRCwgY29u
c3QgU3RyaW5nJiBwb2ludGVyVHlwZSk7CisgICAgTmF0aXZlV2ViTW91c2VFdmVudChUeXBlLCBC
dXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBw
b3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBpbnQgY2xp
Y2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6RmxvYXRTaXplPiwgV2ViQ29yZTo6UG9pbnRlcklELCBjb25zdCBTdHJpbmcmIHBvaW50
ZXJUeXBlLCBib29sIGlzVG91Y2hFdmVudCk7CiAgICAgZXhwbGljaXQgTmF0aXZlV2ViTW91c2VF
dmVudChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogI2VsaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KDo6V2ViRXZlbnQgKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcAppbmRleCBmMDMyNWJlNTU1ZTMzZWI5Mjg3
NmEzM2I0M2FhNjdhMzkyNjVmOGIwLi5kNjA1YWY2NWJmMmQ5OTMzNDBlYzMxYjBmZTliNDY2OTUz
MmE3MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJFdmVudENvbnZlcnNp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAK
QEAgLTExMSw2ICsxMTEsOCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgICAgICBt
X2V2ZW50TnVtYmVyID0gd2ViRXZlbnQuZXZlbnROdW1iZXIoKTsKICAgICAgICAgbV9tZW51VHlw
ZUZvckV2ZW50ID0gd2ViRXZlbnQubWVudVR5cGVGb3JFdmVudCgpOworI2VsaWYgUExBVEZPUk0o
R1RLKQorICAgICAgICBtX2lzVG91Y2hFdmVudCA9IHdlYkV2ZW50LmlzVG91Y2hFdmVudCgpOwog
I2VuZGlmCiAgICAgICAgIG1fbW9kaWZpZXJGbGFncyA9IDA7CiAgICAgICAgIGlmICh3ZWJFdmVu
dC5zaGlmdEtleSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VF
dmVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmNwcAppbmRleCA0
YjI4MTYzNjFmMTYwZjIzYWQ1ZjdkOGZmNmM3ZmYwNGIyNTMyOTg0Li4yZmYwYzcxMjI4ZDJiOTM4
NWI0ZDQ0ODFjMTdmZjU2YWJmMDg3ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJNb3VzZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2
ZW50LmNwcApAQCAtMzUsNiArMzUsOCBAQCBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KCkg
PSBkZWZhdWx0OwogCiAjaWYgUExBVEZPUk0oTUFDKQogV2ViTW91c2VFdmVudDo6V2ViTW91c2VF
dmVudChUeXBlIHR5cGUsIEJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNv
bnN0IEludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tD
b3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRpbWVzdGFtcCwg
ZG91YmxlIGZvcmNlLCBTeW50aGV0aWNDbGlja1R5cGUgc3ludGhldGljQ2xpY2tUeXBlLCBpbnQg
ZXZlbnROdW1iZXIsIGludCBtZW51VHlwZSwgR2VzdHVyZVdhc0NhbmNlbGxlZCBnZXN0dXJlV2Fz
Q2FuY2VsbGVkKQorI2VsaWYgUExBVEZPUk0oR1RLKQorV2ViTW91c2VFdmVudDo6V2ViTW91c2VF
dmVudChUeXBlIHR5cGUsIEJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNv
bnN0IEludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tD
b3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRpbWVzdGFtcCwg
ZG91YmxlIGZvcmNlLCBTeW50aGV0aWNDbGlja1R5cGUgc3ludGhldGljQ2xpY2tUeXBlLCBib29s
IGlzVG91Y2hFdmVudCwgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5n
JiBwb2ludGVyVHlwZSwgR2VzdHVyZVdhc0NhbmNlbGxlZCBnZXN0dXJlV2FzQ2FuY2VsbGVkKQog
I2Vsc2UKIFdlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0b24gYnV0
dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBJbnRQb2ludCYgcG9zaXRpb25JblZp
ZXcsIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBk
ZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4g
bW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIGRvdWJsZSBmb3JjZSwgU3ludGhldGljQ2xp
Y2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCwg
Y29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSwgR2VzdHVyZVdhc0NhbmNlbGxlZCBnZXN0dXJlV2Fz
Q2FuY2VsbGVkKQogI2VuZGlmCkBAIC01MCw2ICs1Miw4IEBAIFdlYk1vdXNlRXZlbnQ6OldlYk1v
dXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25z
LCBjCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICwgbV9ldmVudE51bWJlcihldmVudE51bWJlcikK
ICAgICAsIG1fbWVudVR5cGVGb3JFdmVudChtZW51VHlwZSkKKyNlbGlmIFBMQVRGT1JNKEdUSykK
KyAgICAsIG1faXNUb3VjaEV2ZW50KGlzVG91Y2hFdmVudCkKICNlbmRpZgogICAgICwgbV9mb3Jj
ZShmb3JjZSkKICAgICAsIG1fc3ludGhldGljQ2xpY2tUeXBlKHN5bnRoZXRpY0NsaWNrVHlwZSkK
QEAgLTc3LDYgKzgxLDggQEAgdm9pZCBXZWJNb3VzZUV2ZW50OjplbmNvZGUoSVBDOjpFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBlbmNvZGVyIDw8IG1fZXZl
bnROdW1iZXI7CiAgICAgZW5jb2RlciA8PCBtX21lbnVUeXBlRm9yRXZlbnQ7CisjZWxpZiBQTEFU
Rk9STShHVEspCisgICAgZW5jb2RlciA8PCBtX2lzVG91Y2hFdmVudDsKICNlbmRpZgogICAgIGVu
Y29kZXIgPDwgbV9mb3JjZTsKICAgICBlbmNvZGVyIDw8IG1fc3ludGhldGljQ2xpY2tUeXBlOwpA
QCAtMTExLDYgKzExNyw5IEBAIGJvb2wgV2ViTW91c2VFdmVudDo6ZGVjb2RlKElQQzo6RGVjb2Rl
ciYgZGVjb2RlciwgV2ViTW91c2VFdmVudCYgcmVzdWx0KQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9tZW51VHlwZUZvckV2ZW50KSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0Lm1faXNUb3VjaEV2ZW50KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
I2VuZGlmCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9mb3JjZSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNl
RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuaAppbmRleCAzZGJl
MTBkNDliNGRlMzQ2MzY5MDBlZmUzMWZiNTdlN2U2MGUzNDFjLi45MzBiOGI1Y2IyMGQ4YWJkNmFh
YzQwZDg3ZmNlMGM3M2UwZTYwOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJNb3VzZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5o
CkBAIC01Myw2ICs1Myw4IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBXZWJN
b3VzZUV2ZW50KFR5cGUsIEJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVos
IGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0aW1lc3RhbXAs
IGRvdWJsZSBmb3JjZSwgU3ludGhldGljQ2xpY2tUeXBlID0gTm9UYXAsIGludCBldmVudE51bWJl
ciA9IC0xLCBpbnQgbWVudVR5cGUgPSAwLCBHZXN0dXJlV2FzQ2FuY2VsbGVkID0gR2VzdHVyZVdh
c0NhbmNlbGxlZDo6Tm8pOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIFdlYk1vdXNlRXZlbnQo
VHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgcG9zaXRpb25JblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3Np
dGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNr
Q291bnQsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCwgZG91YmxlIGZv
cmNlID0gMCwgU3ludGhldGljQ2xpY2tUeXBlID0gTm9UYXAsIGJvb2wgbV9pc1RvdWNoRXZlbnQg
PSBmYWxzZSwgV2ViQ29yZTo6UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNv
bnN0IFN0cmluZyYgcG9pbnRlclR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUo
KSwgR2VzdHVyZVdhc0NhbmNlbGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbHNl
CiAgICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMs
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxv
YXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUg
dGltZXN0YW1wLCBkb3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwg
V2ViQ29yZTo6UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmlu
ZyYgcG9pbnRlclR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgR2VzdHVy
ZVdhc0NhbmNlbGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbmRpZgpAQCAtNjgs
NiArNzAsOCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGludDMyX3QgZXZlbnRO
dW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2V2ZW50TnVtYmVyOyB9CiAgICAgaW50MzJfdCBtZW51
VHlwZUZvckV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9tZW51VHlwZUZvckV2ZW50OyB9CisjZWxp
ZiBQTEFURk9STShHVEspCisgICAgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdCB7IHJldHVybiBt
X2lzVG91Y2hFdmVudDsgfQogI2VuZGlmCiAgICAgZG91YmxlIGZvcmNlKCkgY29uc3QgeyByZXR1
cm4gbV9mb3JjZTsgfQogICAgIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUo
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxTeW50aGV0aWNDbGlja1R5cGU+KG1fc3ludGhl
dGljQ2xpY2tUeXBlKTsgfQpAQCAtOTIsNiArOTYsOCBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JN
KE1BQykKICAgICBpbnQzMl90IG1fZXZlbnROdW1iZXIgeyAtMSB9OwogICAgIGludDMyX3QgbV9t
ZW51VHlwZUZvckV2ZW50IHsgMCB9OworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIGJvb2wgbV9p
c1RvdWNoRXZlbnQgeyBmYWxzZSB9OwogI2VuZGlmCiAgICAgZG91YmxlIG1fZm9yY2UgeyAwIH07
CiAgICAgdWludDMyX3QgbV9zeW50aGV0aWNDbGlja1R5cGUgeyBOb1RhcCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvZ3RrL05hdGl2ZVdlYk1vdXNlRXZlbnRHdGsuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvZ3RrL05hdGl2ZVdlYk1vdXNlRXZlbnRHdGsuY3BwCmluZGV4
IDdjYzY1NzM5YzMyMGNiNDMxMmQ5ZDcwNTI4NDIyMGEzODNhMDI5M2EuLmY3YWQ2NDE1NzViZjQ1
MzExMjBjOGRlZjIzZGE4NTNmYjQ3MWZkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL2d0ay9OYXRpdmVXZWJNb3VzZUV2ZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9ndGsvTmF0aXZlV2ViTW91c2VFdmVudEd0ay5jcHAKQEAgLTQ4LDEzICs0OCwxMyBAQCBO
YXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBwb3NpdGlvbikKIHsKIH0KIAotTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2Vi
TW91c2VFdmVudChUeXBlIHR5cGUsIEJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRv
bnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVy
PiBtb2RpZmllcnMsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPiBkZWx0YSwgV2Vi
Q29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKLSAg
ICA6IFdlYk1vdXNlRXZlbnQodHlwZSwgYnV0dG9uLCBidXR0b25zLCBwb3NpdGlvbiwgZ2xvYmFs
UG9zaXRpb24sIGRlbHRhLnZhbHVlX29yKFdlYkNvcmU6OkZsb2F0U2l6ZSgpKS53aWR0aCgpLCBk
ZWx0YS52YWx1ZV9vcihXZWJDb3JlOjpGbG9hdFNpemUoKSkuaGVpZ2h0KCksIDAsIGNsaWNrQ291
bnQsIG1vZGlmaWVycywgV2FsbFRpbWU6Om5vdygpLCAwLCBOb1RhcCwgcG9pbnRlcklkLCBwb2lu
dGVyVHlwZSkKK05hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQoVHlwZSB0
eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3Np
dGlvbiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4gZGVsdGEsIFdlYkNvcmU6OlBvaW50ZXJJRCBw
b2ludGVySWQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIGJvb2wgaXNUb3VjaEV2ZW50KQor
ICAgIDogV2ViTW91c2VFdmVudCh0eXBlLCBidXR0b24sIGJ1dHRvbnMsIHBvc2l0aW9uLCBnbG9i
YWxQb3NpdGlvbiwgZGVsdGEudmFsdWVfb3IoV2ViQ29yZTo6RmxvYXRTaXplKCkpLndpZHRoKCks
IGRlbHRhLnZhbHVlX29yKFdlYkNvcmU6OkZsb2F0U2l6ZSgpKS5oZWlnaHQoKSwgMCwgY2xpY2tD
b3VudCwgbW9kaWZpZXJzLCBXYWxsVGltZTo6bm93KCksIDAsIE5vVGFwLCBpc1RvdWNoRXZlbnQs
IHBvaW50ZXJJZCwgcG9pbnRlclR5cGUpCiB7CiB9CiAKIE5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5h
dGl2ZVdlYk1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYgZXZlbnQpCi0gICAg
OiBXZWJNb3VzZUV2ZW50KGV2ZW50LnR5cGUoKSwgZXZlbnQuYnV0dG9uKCksIGV2ZW50LmJ1dHRv
bnMoKSwgZXZlbnQucG9zaXRpb24oKSwgZXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgZXZlbnQuZGVs
dGFYKCksIGV2ZW50LmRlbHRhWSgpLCBldmVudC5kZWx0YVooKSwgZXZlbnQuY2xpY2tDb3VudCgp
LCBldmVudC5tb2RpZmllcnMoKSwgZXZlbnQudGltZXN0YW1wKCksIDAsIE5vVGFwLCBldmVudC5w
b2ludGVySWQoKSwgZXZlbnQucG9pbnRlclR5cGUoKSkKKyAgICA6IFdlYk1vdXNlRXZlbnQoZXZl
bnQudHlwZSgpLCBldmVudC5idXR0b24oKSwgZXZlbnQuYnV0dG9ucygpLCBldmVudC5wb3NpdGlv
bigpLCBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBldmVudC5kZWx0YVgoKSwgZXZlbnQuZGVsdGFZ
KCksIGV2ZW50LmRlbHRhWigpLCBldmVudC5jbGlja0NvdW50KCksIGV2ZW50Lm1vZGlmaWVycygp
LCBldmVudC50aW1lc3RhbXAoKSwgMCwgTm9UYXAsIGV2ZW50LmlzVG91Y2hFdmVudCgpLCBldmVu
dC5wb2ludGVySWQoKSwgZXZlbnQucG9pbnRlclR5cGUoKSkKICAgICAsIG1fbmF0aXZlRXZlbnQo
ZXZlbnQubmF0aXZlRXZlbnQoKSA/IGdka19ldmVudF9jb3B5KGNvbnN0X2Nhc3Q8R2RrRXZlbnQq
PihldmVudC5uYXRpdmVFdmVudCgpKSkgOiBudWxscHRyKQogewogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCA0
N2Q2M2Q5NDAzNTdhYWVkNjVkZjdiMWU2ZGJjNmMyYTZkYzE5OTEwLi42NDFhZjI1MmNhYzVkYmVi
NmQyNmM2ODZjMzU5ZjFjZTVhMjhlZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMTkzMSw5ICsxOTMxLDkg
QEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VUb3VjaFJlbGVhc2UoV2ViS2l0V2ViVmll
d0Jhc2UqIHdlYlZpZXdCYXNlLCBpbnQgblAKICAgICB9CiAKICAgICB1bnNpZ25lZCBtb2RpZmll
cnMgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRfY3VycmVudF9ldmVudF9zdGF0ZShHVEtfRVZF
TlRfQ09OVFJPTExFUihnZXN0dXJlKSk7Ci0gICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXpl
TW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGU6Ok1vdGlvbiwgMCwgMCwgeCwg
eSwgbW9kaWZpZXJzLCBuUHJlc3MsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsKLSAgICB3ZWJr
aXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KHdlYlZpZXdCYXNlLCBNb3VzZUV2ZW50
VHlwZTo6UHJlc3MsIGJ1dHRvbiwgMCwgeCwgeSwgbW9kaWZpZXJzLCBuUHJlc3MsIG1vdXNlUG9p
bnRlckV2ZW50VHlwZSgpKTsKLSAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2
ZW50KHdlYlZpZXdCYXNlLCBNb3VzZUV2ZW50VHlwZTo6UmVsZWFzZSwgYnV0dG9uLCBidXR0b25z
LCB4LCB5LCBtb2RpZmllcnMsIG5QcmVzcywgbW91c2VQb2ludGVyRXZlbnRUeXBlKCkpOworICAg
IHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNl
RXZlbnRUeXBlOjpNb3Rpb24sIDAsIDAsIHgsIHksIG1vZGlmaWVycywgblByZXNzLCBtb3VzZVBv
aW50ZXJFdmVudFR5cGUoKSwgdHJ1ZSk7CisgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXpl
TW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGU6OlByZXNzLCBidXR0b24sIDAs
IHgsIHksIG1vZGlmaWVycywgblByZXNzLCBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgdHJ1ZSk7
CisgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwg
TW91c2VFdmVudFR5cGU6OlJlbGVhc2UsIGJ1dHRvbiwgYnV0dG9ucywgeCwgeSwgbW9kaWZpZXJz
LCBuUHJlc3MsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpLCB0cnVlKTsKIH0KIAogc3RhdGljIHZv
aWQgd2Via2l0V2ViVmlld0Jhc2VUb3VjaERyYWdCZWdpbihXZWJLaXRXZWJWaWV3QmFzZSogd2Vi
Vmlld0Jhc2UsIGdkb3VibGUgc3RhcnRYLCBnZG91YmxlIHN0YXJ0WSwgR3RrR2VzdHVyZSogZ2Vz
dHVyZSkKQEAgLTE5NjksMTQgKzE5NjksMTQgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jh
c2VUb3VjaERyYWdVcGRhdGUoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBkb3UKIAog
ICAgICAgICBpZiAocHJpdi0+aXNMb25nUHJlc3NlZCkgewogICAgICAgICAgICAgLy8gRHJhZyBh
ZnRlciBsb25nIHByZXNzIGZvcndhcmRzIGVtdWxhdGVkIG1vdXNlIGV2ZW50cyAoZm9yIGUuZy4g
dGV4dCBzZWxlY3Rpb24pCi0gICAgICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVN
b3VzZUV2ZW50KHdlYlZpZXdCYXNlLCBNb3VzZUV2ZW50VHlwZTo6TW90aW9uLCAwLCAwLCB4LCB5
LCBtb2RpZmllcnMsIDEsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsKLSAgICAgICAgICAgIHdl
YmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZl
bnRUeXBlOjpQcmVzcywgR0RLX0JVVFRPTl9QUklNQVJZLCAwLCB4LCB5LCBtb2RpZmllcnMsIDAs
IG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsKKyAgICAgICAgICAgIHdlYmtpdFdlYlZpZXdCYXNl
U3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlOjpNb3Rpb24s
IDAsIDAsIHgsIHksIG1vZGlmaWVycywgMSwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCksIHRydWUp
OworICAgICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJW
aWV3QmFzZSwgTW91c2VFdmVudFR5cGU6OlByZXNzLCBHREtfQlVUVE9OX1BSSU1BUlksIDAsIHgs
IHksIG1vZGlmaWVycywgMCwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCksIHRydWUpOwogICAgICAg
ICB9IGVsc2UKICAgICAgICAgICAgIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZVdoZWVsRXZl
bnQod2ViVmlld0Jhc2UsIGV2ZW50LCAwLCAwLCB4LCB5LCBXaGVlbEV2ZW50UGhhc2U6OkJlZ2Fu
LCBXaGVlbEV2ZW50UGhhc2U6Ok5vUGhhc2UsIHRydWUpOwogICAgIH0KIAogICAgIGlmIChwcml2
LT5pc0xvbmdQcmVzc2VkKQotICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3Vz
ZUV2ZW50KHdlYlZpZXdCYXNlLCBNb3VzZUV2ZW50VHlwZTo6TW90aW9uLCBHREtfQlVUVE9OX1BS
SU1BUlksIEdES19CVVRUT04xX01BU0ssIHggKyBvZmZzZXRYLCB5ICsgb2Zmc2V0WSwgbW9kaWZp
ZXJzLCAwLCBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSk7CisgICAgICAgIHdlYmtpdFdlYlZpZXdC
YXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlOjpNb3Rp
b24sIEdES19CVVRUT05fUFJJTUFSWSwgR0RLX0JVVFRPTjFfTUFTSywgeCArIG9mZnNldFgsIHkg
KyBvZmZzZXRZLCBtb2RpZmllcnMsIDAsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpLCB0cnVlKTsK
ICAgICBlbHNlIHsKICAgICAgICAgZG91YmxlIGRlbHRhWCA9IHByaXYtPmRyYWdPZmZzZXQueCgp
IC0gb2Zmc2V0WDsKICAgICAgICAgZG91YmxlIGRlbHRhWSA9IHByaXYtPmRyYWdPZmZzZXQueSgp
IC0gb2Zmc2V0WTsKQEAgLTIwMDUsNyArMjAwNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZp
ZXdCYXNlVG91Y2hEcmFnRW5kKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgZ2RvdWJs
CiAgICAgICAgIGRvdWJsZSB4LCB5OwogICAgICAgICBndGtfZ2VzdHVyZV9kcmFnX2dldF9zdGFy
dF9wb2ludChHVEtfR0VTVFVSRV9EUkFHKGdlc3R1cmUpLCAmeCwgJnkpOwogICAgICAgICB1bnNp
Z25lZCBtb2RpZmllcnMgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRfY3VycmVudF9ldmVudF9z
dGF0ZShHVEtfRVZFTlRfQ09OVFJPTExFUihnZXN0dXJlKSk7Ci0gICAgICAgIHdlYmtpdFdlYlZp
ZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlOjpS
ZWxlYXNlLCBHREtfQlVUVE9OX1BSSU1BUlksIEdES19CVVRUT04xX01BU0ssIHggKyBvZmZzZXRY
LCB5ICsgb2Zmc2V0WSwgbW9kaWZpZXJzLCAwLCBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSk7Cisg
ICAgICAgIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2Us
IE1vdXNlRXZlbnRUeXBlOjpSZWxlYXNlLCBHREtfQlVUVE9OX1BSSU1BUlksIEdES19CVVRUT04x
X01BU0ssIHggKyBvZmZzZXRYLCB5ICsgb2Zmc2V0WSwgbW9kaWZpZXJzLCAwLCBtb3VzZVBvaW50
ZXJFdmVudFR5cGUoKSwgdHJ1ZSk7CiAgICAgfQogfQogCkBAIC0yNzk3LDcgKzI3OTcsNyBAQCBz
dGF0aWMgaW5saW5lIFBvaW50ZXJJRCBwcmltYXJ5UG9pbnRlckZvclR5cGUoY29uc3QgU3RyaW5n
JiBwb2ludGVyVHlwZSkKICAgICByZXR1cm4gbW91c2VQb2ludGVySUQ7CiB9CiAKLXZvaWQgd2Vi
a2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudChXZWJLaXRXZWJWaWV3QmFzZSogd2Vi
Vmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlIHR5cGUsIHVuc2lnbmVkIGJ1dHRvbiwgdW5zaWduZWQg
c2hvcnQgYnV0dG9ucywgaW50IHgsIGludCB5LCB1bnNpZ25lZCBtb2RpZmllcnMsIGludCBjbGlj
a0NvdW50LCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlKQordm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVN5bnRoZXNpemVNb3VzZUV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgTW91
c2VFdmVudFR5cGUgdHlwZSwgdW5zaWduZWQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25z
LCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIG1vZGlmaWVycywgaW50IGNsaWNrQ291bnQsIGNvbnN0
IFN0cmluZyYgcG9pbnRlclR5cGUsIGJvb2wgaXNUb3VjaEV2ZW50KQogewogICAgIFdlYktpdFdl
YlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYlZpZXdCYXNlLT5wcml2OwogICAgIGlmIChwcml2
LT5kaWFsb2cpCkBAIC0yODgyLDcgKzI4ODIsNyBAQCB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU3lu
dGhlc2l6ZU1vdXNlRXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBNb3VzZQog
CiAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZl
bnQod2ViRXZlbnRUeXBlLCB3ZWJFdmVudEJ1dHRvbiwgd2ViRXZlbnRCdXR0b25zLCB7IHgsIHkg
fSwKICAgICAgICAgd2lkZ2V0Um9vdENvb3JkcyhHVEtfV0lER0VUKHdlYlZpZXdCYXNlKSwgeCwg
eSksIGNsaWNrQ291bnQsIHRvV2ViS2l0TW9kaWZpZXJzKG1vZGlmaWVycyksIG1vdmVtZW50RGVs
dGEsCi0gICAgICAgIHByaW1hcnlQb2ludGVyRm9yVHlwZShwb2ludGVyVHlwZSksIHBvaW50ZXJU
eXBlLmlzTnVsbCgpID8gbW91c2VQb2ludGVyRXZlbnRUeXBlKCkgOiBwb2ludGVyVHlwZSkpOwor
ICAgICAgICBwcmltYXJ5UG9pbnRlckZvclR5cGUocG9pbnRlclR5cGUpLCBwb2ludGVyVHlwZS5p
c051bGwoKSA/IG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpIDogcG9pbnRlclR5cGUsIGlzVG91Y2hF
dmVudCkpOwogfQogCiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZUtleUV2ZW50KFdl
YktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgS2V5RXZlbnRUeXBlIHR5cGUsIHVuc2lnbmVk
IGtleXZhbCwgdW5zaWduZWQgbW9kaWZpZXJzLCBTaG91bGRUcmFuc2xhdGVLZXlib2FyZFN0YXRl
IHNob3VsZFRyYW5zbGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZUludGVybmFsLmgKaW5kZXggYWEwMzQ0MTYyMWNl
MTg1N2NmZDRmM2U5NDMyNjIxOThhNDEzYzNkYi4uZjZjNTU2YzllZjRhMTQwOTU5YjNiZmY3MWU3
ZjBhYjFhOGUwNmZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3QmFzZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZUludGVybmFsLmgKQEAgLTM3LDcgKzM3LDcgQEAg
c3RydWN0IEtleUV2ZW50IHsKIH07CiAKIGVudW0gY2xhc3MgTW91c2VFdmVudFR5cGUgeyBQcmVz
cywgUmVsZWFzZSwgTW90aW9uIH07Ci1XS19FWFBPUlQgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN5
bnRoZXNpemVNb3VzZUV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiwgTW91c2VFdmVudFR5cGUgdHlw
ZSwgdW5zaWduZWQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBpbnQgeCwgaW50IHks
IHVuc2lnbmVkIG1vZGlmaWVycywgaW50IGNsaWNrQ291bnQsIGNvbnN0IFN0cmluZyYgcG9pbnRl
clR5cGUgPSAibW91c2UiX3MpOworV0tfRVhQT1JUIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50
aGVzaXplTW91c2VFdmVudChXZWJLaXRXZWJWaWV3QmFzZSosIE1vdXNlRXZlbnRUeXBlIHR5cGUs
IHVuc2lnbmVkIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgaW50IHgsIGludCB5LCB1
bnNpZ25lZCBtb2RpZmllcnMsIGludCBjbGlja0NvdW50LCBjb25zdCBTdHJpbmcmIHBvaW50ZXJU
eXBlID0gIm1vdXNlIl9zLCBib29sIGlzVG91Y2hFdmVudCA9IGZhbHNlKTsKIAogZW51bSBjbGFz
cyBLZXlFdmVudFR5cGUgeyBQcmVzcywgUmVsZWFzZSwgSW5zZXJ0IH07CiBlbnVtIGNsYXNzIFNo
b3VsZFRyYW5zbGF0ZUtleWJvYXJkU3RhdGUgeyBObywgWWVzIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCmluZGV4IGEzMjI1ODlk
ODM5ODg5NTczMTJjM2E1MTA5ODFkOWNiNjY4MDExNjAuLjA3YTM0NWQ0N2YyNDc0YTAxYTllZDk2
NmY5YzgwYTQ4ZWU0YzY0ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0
ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0
ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCkBAIC05Myw3ICs5Myw3IEBAIGJvb2wgUG9pbnRlckxv
Y2tNYW5hZ2VyOjp1bmxvY2soKQogCiB2b2lkIFBvaW50ZXJMb2NrTWFuYWdlcjo6aGFuZGxlTW90
aW9uKEZsb2F0U2l6ZSYmIGRlbHRhKQogewotICAgIG1fd2ViUGFnZS5oYW5kbGVNb3VzZUV2ZW50
KE5hdGl2ZVdlYk1vdXNlRXZlbnQoV2ViRXZlbnQ6Ok1vdXNlTW92ZSwgbV9idXR0b24sIG1fYnV0
dG9ucywgSW50UG9pbnQobV9wb3NpdGlvbiksIEludFBvaW50KG1faW5pdGlhbFBvaW50KSwgMCwg
bV9tb2RpZmllcnMsIGRlbHRhLCBtb3VzZVBvaW50ZXJJRCwgbW91c2VQb2ludGVyRXZlbnRUeXBl
KCkpKTsKKyAgICBtX3dlYlBhZ2UuaGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50
KFdlYkV2ZW50OjpNb3VzZU1vdmUsIG1fYnV0dG9uLCBtX2J1dHRvbnMsIEludFBvaW50KG1fcG9z
aXRpb24pLCBJbnRQb2ludChtX2luaXRpYWxQb2ludCksIDAsIG1fbW9kaWZpZXJzLCBkZWx0YSwg
bW91c2VQb2ludGVySUQsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpLCBmYWxzZSkpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450898</attachid>
            <date>2022-02-04 07:59:29 -0800</date>
            <delta_ts>2022-02-04 08:21:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235694-20220204210030.patch</filename>
            <type>text/plain</type>
            <size>23205</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc4NzVmMDg1MTllYTdl
OGIzOWM2OGUyYTFkYzc0OTY1ODc2ZjZhYy4uMGZjMDU1NmE0NzI5ZTkyOGI2NjQ0Mzk3ZGE2OTcz
YmNlNmI5OTI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTA0ICBBbGV4
YW5kZXIgTWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS10gQ3Jh
c2ggd2hlbiBzdGFydGluZyBETkQgb24gdG91Y2hzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAgICAgICAgU2tp
cCBkcmFncyBmb3IgdG91Y2ggZXZlbnRzIG9uIEdUSy4KKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6
aXNUb3VjaEV2ZW50IGNvbnN0KToKKwogMjAyMi0wMS0zMSAgQWxleGFuZGVyIE1pa2hheWxlbmtv
ICA8YWxleG1AZ25vbWUub3JnPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIHdpZGdldCBz
dHlsZSB0byBtYXRjaCBsaWJhZHdhaXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxYjgyZWU2YmVjOGMzZmQzZGNm
MTczNDJiMzcyZGVjYzI2NzM4YjYuLjc2Yzc5NzNiZDFkZGRjZmFlYWU3ZGVmYzEwYmU1ZTM0MGUx
MWQ2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMDQgIEFsZXhhbmRlciBN
aWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXSBDcmFzaCB3aGVu
IHN0YXJ0aW5nIERORCBvbiB0b3VjaHNjcmVlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRHJhZy1uLWRyb3Agb24gdG91Y2ggaGFzIG5ldmVyIHdvcmtl
ZCBjb3JyZWN0bHkgaW4gR1RLLCBhbmQgaXMgdXN1YWxseQorICAgICAgICBqdXN0IGRpc2FibGVk
LiBEbyB0aGUgc2FtZSB0aGluZyBhbmQgaWdub3JlIGl0IGZvciBzeW50aGVzaXplZCBtb3VzZQor
ICAgICAgICBldmVudHMuCisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJLaXQyUGxhdGZvcm1Nb3VzZUV2ZW50OjpXZWJLaXQyUGxhdGZvcm1Nb3VzZUV2ZW50
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViTW91c2VFdmVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3Vz
ZUV2ZW50OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3VzZUV2ZW50Ojpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJNb3VzZUV2ZW50Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYk1vdXNlRXZlbnQ6OmlzVG91Y2hFdmVudCBjb25zdCk6CisgICAgICAgICogU2hhcmVk
L2d0ay9OYXRpdmVXZWJNb3VzZUV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmF0aXZl
V2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jh
c2VUb3VjaFJlbGVhc2UpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VUb3VjaERyYWdVcGRh
dGUpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VUb3VjaERyYWdFbmQpOgorICAgICAgICAo
d2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UG9pbnRl
ckxvY2tNYW5hZ2VyOjpoYW5kbGVNb3Rpb24pOgorCiAyMDIyLTAxLTMxICBBbGV4YW5kZXIgTWlr
aGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjg4NjQ0
KTogW0dUSzRdIENyaXRpY2FscyB3aGVuIHVzaW5nIHBpbmNoIHpvb20KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5jcHAKaW5kZXggZjRiOGM4NzhkYjAwYTgwYjdkMDY0Y2IyNTE2YzA1
MzNmMWYzYWRmNS4uYWU4MTBkNGM5YWVhMjBmNTA0MDcyNjdlMGY2ZTM5NTVhYTQ3NTExNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTk3NSw2ICs5NzUsMTEgQEAg
Ym9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0
ZSYgc3RhdGUsIE9wdGlvblNldDxEcmEKICAgICBpZiAoIXN0YXRlLnNvdXJjZSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisjaWYgUExBVEZPUk0oR1RLKQorICAgIGlmIChkcmFnRXZlbnQuaXNU
b3VjaEV2ZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorCiAgICAgUmVmPEZy
YW1lPiBwcm90ZWN0b3Ioc3JjKTsKICAgICBhdXRvIGhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVz
dWx0Rm9yRHJhZ1N0YXJ0KHNyYywgKnN0YXRlLnNvdXJjZSwgZHJhZ09yaWdpbik7CiAgICAgaWYg
KCFoaXRUZXN0UmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1Nb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNl
RXZlbnQuaAppbmRleCA1ZmJlMzIyMGE4Mjg3YmZkZDJiMWU2MzQ3MjA3Mjk5NjljYTczNmFmLi4w
MDJkNDVmZjdkYThkYjU1Y2Y2MjE3ZDUyZTFmZGU0NTQ0MjhlM2RiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaApAQCAtODcsNiArODcsMTIgQEAgY29u
c3QgZG91YmxlIEZvcmNlQXRGb3JjZUNsaWNrID0gMjsKICAgICAgICAgYm9vbCBkaWRBY3RpdmF0
ZVdlYlZpZXcoKSBjb25zdCB7IHJldHVybiBtX2RpZEFjdGl2YXRlV2ViVmlldzsgfQogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShHVEspCisgICAgICAgIGVudW0gY2xhc3MgSXNUb3VjaCA6IGJvb2wg
eyBObywgWWVzIH07CisKKyAgICAgICAgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdCB7IHJldHVy
biBtX2lzVG91Y2hFdmVudCA9PSBJc1RvdWNoOjpZZXM7IH0KKyNlbmRpZgorCiAgICAgcHJvdGVj
dGVkOgogICAgICAgICBNb3VzZUJ1dHRvbiBtX2J1dHRvbiB7IE5vQnV0dG9uIH07CiAgICAgICAg
IFN5bnRoZXRpY0NsaWNrVHlwZSBtX3N5bnRoZXRpY0NsaWNrVHlwZSB7IE5vVGFwIH07CkBAIC0x
MDUsNiArMTExLDggQEAgY29uc3QgZG91YmxlIEZvcmNlQXRGb3JjZUNsaWNrID0gMjsKICAgICAg
ICAgaW50IG1fbWVudVR5cGVGb3JFdmVudCB7IDAgfTsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAg
ICAgICAgYm9vbCBtX2RpZEFjdGl2YXRlV2ViVmlldyB7IGZhbHNlIH07CisjZWxpZiBQTEFURk9S
TShHVEspCisgICAgICAgIElzVG91Y2ggbV9pc1RvdWNoRXZlbnQgeyBJc1RvdWNoOjpObyB9Owog
I2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZl
V2ViTW91c2VFdmVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVu
dC5oCmluZGV4IDAwMTU1OGRkNThmNGQ4NWYzNjBkNTcxMWNhYTAzZGIzMzg4OTAxMWUuLjkxYTBh
YTA3ZGJhNzRhYTEyMTE1ZDQ5Zjg5OTQxMTNhZTRjNDQ3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAg
IE5hdGl2ZVdlYk1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwogICAgIE5h
dGl2ZVdlYk1vdXNlRXZlbnQoR2RrRXZlbnQqLCBpbnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
RmxvYXRTaXplPik7CiAgICAgTmF0aXZlV2ViTW91c2VFdmVudChHZGtFdmVudCosIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiwgaW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4p
OwotICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBi
dXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2Rp
Zmllcj4gbW9kaWZpZXJzLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4sIFdlYkNv
cmU6OlBvaW50ZXJJRCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSk7CisgICAgTmF0aXZlV2Vi
TW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2Jh
bFBvc2l0aW9uLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPiwgV2ViQ29yZTo6UG9pbnRlcklELCBj
b25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlLCBXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6Oklz
VG91Y2ggaXNUb3VjaEV2ZW50KTsKICAgICBleHBsaWNpdCBOYXRpdmVXZWJNb3VzZUV2ZW50KGNv
bnN0IFdlYkNvcmU6OkludFBvaW50Jik7CiAjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IE5hdGl2ZVdlYk1vdXNlRXZlbnQoOjpXZWJFdmVudCAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IGYwMzI1YmU1NTVlMzNlYjkyODc2YTMzYjQz
YWE2N2EzOTI2NWY4YjAuLmQ2MDVhZjY1YmYyZDk5MzM0MGVjMzFiMGZlOWI0NjY5NTMyYTcyZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcApAQCAtMTEx
LDYgKzExMSw4IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIG1fZXZlbnRO
dW1iZXIgPSB3ZWJFdmVudC5ldmVudE51bWJlcigpOwogICAgICAgICBtX21lbnVUeXBlRm9yRXZl
bnQgPSB3ZWJFdmVudC5tZW51VHlwZUZvckV2ZW50KCk7CisjZWxpZiBQTEFURk9STShHVEspCisg
ICAgICAgIG1faXNUb3VjaEV2ZW50ID0gd2ViRXZlbnQuaXNUb3VjaEV2ZW50KCk7CiAjZW5kaWYK
ICAgICAgICAgbV9tb2RpZmllckZsYWdzID0gMDsKICAgICAgICAgaWYgKHdlYkV2ZW50LnNoaWZ0
S2V5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuY3BwCmluZGV4IDRiMjgxNjM2
MWYxNjBmMjNhZDVmN2Q4ZmY2YzdmZjA0YjI1MzI5ODQuLmM4MjI4NjQ3MGUzNDIxMjVmNzMzMDYy
Y2MwZTY0ZDMwNGJlN2JhZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1v
dXNlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuY3Bw
CkBAIC0zNSw2ICszNSw4IEBAIFdlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQoKSA9IGRlZmF1
bHQ7CiAKICNpZiBQTEFURk9STShNQUMpCiBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5
cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50
UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZs
b2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBP
cHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUg
Zm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIGludCBldmVudE51
bWJlciwgaW50IG1lbnVUeXBlLCBHZXN0dXJlV2FzQ2FuY2VsbGVkIGdlc3R1cmVXYXNDYW5jZWxs
ZWQpCisjZWxpZiBQTEFURk9STShHVEspCitXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5
cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50
UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZs
b2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBP
cHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUg
Zm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIFBsYXRmb3JtTW91
c2VFdmVudDo6SXNUb3VjaCBpc1RvdWNoRXZlbnQsIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVy
SWQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIEdlc3R1cmVXYXNDYW5jZWxsZWQgZ2VzdHVy
ZVdhc0NhbmNlbGxlZCkKICNlbHNlCiBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUg
dHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50UG9p
bnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0
IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRp
b25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9y
Y2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIFdlYkNvcmU6OlBvaW50
ZXJJRCBwb2ludGVySWQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIEdlc3R1cmVXYXNDYW5j
ZWxsZWQgZ2VzdHVyZVdhc0NhbmNlbGxlZCkKICNlbmRpZgpAQCAtNTAsNiArNTIsOCBAQCBXZWJN
b3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWdu
ZWQgc2hvcnQgYnV0dG9ucywgYwogI2lmIFBMQVRGT1JNKE1BQykKICAgICAsIG1fZXZlbnROdW1i
ZXIoZXZlbnROdW1iZXIpCiAgICAgLCBtX21lbnVUeXBlRm9yRXZlbnQobWVudVR5cGUpCisjZWxp
ZiBQTEFURk9STShHVEspCisgICAgLCBtX2lzVG91Y2hFdmVudChpc1RvdWNoRXZlbnQpCiAjZW5k
aWYKICAgICAsIG1fZm9yY2UoZm9yY2UpCiAgICAgLCBtX3N5bnRoZXRpY0NsaWNrVHlwZShzeW50
aGV0aWNDbGlja1R5cGUpCkBAIC03Nyw2ICs4MSw4IEBAIHZvaWQgV2ViTW91c2VFdmVudDo6ZW5j
b2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBQTEFURk9STShNQUMpCiAgICAg
ZW5jb2RlciA8PCBtX2V2ZW50TnVtYmVyOwogICAgIGVuY29kZXIgPDwgbV9tZW51VHlwZUZvckV2
ZW50OworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIGVuY29kZXIgPDwgbV9pc1RvdWNoRXZlbnQ7
CiAjZW5kaWYKICAgICBlbmNvZGVyIDw8IG1fZm9yY2U7CiAgICAgZW5jb2RlciA8PCBtX3N5bnRo
ZXRpY0NsaWNrVHlwZTsKQEAgLTExMSw2ICsxMTcsOSBAQCBib29sIFdlYk1vdXNlRXZlbnQ6OmRl
Y29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYk1vdXNlRXZlbnQmIHJlc3VsdCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fbWVudVR5
cGVGb3JFdmVudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbGlmIFBMQVRGT1JNKEdUSykK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX2lzVG91Y2hFdmVudCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1f
Zm9yY2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2
ZW50LmgKaW5kZXggM2RiZTEwZDQ5YjRkZTM0NjM2OTAwZWZlMzFmYjU3ZTdlNjBlMzQxYy4uY2Yy
YWRjMzgyYjNmNTk4OTBjNDNhNTRiNmMyOGJhYjJjNGE5NjVjNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYk1vdXNlRXZlbnQuaApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAiV2ViRXZlbnQu
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJFdmVudFR5cGVOYW1l
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlcklELmg+CiAKQEAgLTUzLDYgKzU0LDggQEAg
cHVibGljOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFdlYk1vdXNlRXZlbnQoVHlwZSwgQnV0
dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9z
aXRpb25JblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxv
YXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9w
dGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCwgZG91YmxlIGZvcmNlLCBTeW50
aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgaW50IGV2ZW50TnVtYmVyID0gLTEsIGludCBtZW51VHlw
ZSA9IDAsIEdlc3R1cmVXYXNDYW5jZWxsZWQgPSBHZXN0dXJlV2FzQ2FuY2VsbGVkOjpObyk7Cisj
ZWxpZiBQTEFURk9STShHVEspCisgICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2ln
bmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmll
dywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgs
IGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1v
ZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWND
bGlja1R5cGUgPSBOb1RhcCwgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoIG1f
aXNUb3VjaEV2ZW50ID0gV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpObywg
V2ViQ29yZTo6UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmlu
ZyYgcG9pbnRlclR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgR2VzdHVy
ZVdhc0NhbmNlbGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbHNlCiAgICAgV2Vi
TW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFa
LCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1w
LCBkb3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgV2ViQ29yZTo6
UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmluZyYgcG9pbnRl
clR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgR2VzdHVyZVdhc0NhbmNl
bGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbmRpZgpAQCAtNjgsNiArNzEsOCBA
QCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGludDMyX3QgZXZlbnROdW1iZXIoKSBj
b25zdCB7IHJldHVybiBtX2V2ZW50TnVtYmVyOyB9CiAgICAgaW50MzJfdCBtZW51VHlwZUZvckV2
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9tZW51VHlwZUZvckV2ZW50OyB9CisjZWxpZiBQTEFURk9S
TShHVEspCisgICAgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoIGlzVG91Y2hF
dmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUb3VjaEV2ZW50OyB9CiAjZW5kaWYKICAgICBkb3Vi
bGUgZm9yY2UoKSBjb25zdCB7IHJldHVybiBtX2ZvcmNlOyB9CiAgICAgU3ludGhldGljQ2xpY2tU
eXBlIHN5bnRoZXRpY0NsaWNrVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFN5bnRo
ZXRpY0NsaWNrVHlwZT4obV9zeW50aGV0aWNDbGlja1R5cGUpOyB9CkBAIC05Miw2ICs5Nyw4IEBA
IHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGludDMyX3QgbV9ldmVudE51bWJlciB7
IC0xIH07CiAgICAgaW50MzJfdCBtX21lbnVUeXBlRm9yRXZlbnQgeyAwIH07CisjZWxpZiBQTEFU
Rk9STShHVEspCisgICAgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoIG1faXNU
b3VjaEV2ZW50IHsgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpObyB9Owog
I2VuZGlmCiAgICAgZG91YmxlIG1fZm9yY2UgeyAwIH07CiAgICAgdWludDMyX3QgbV9zeW50aGV0
aWNDbGlja1R5cGUgeyBOb1RhcCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Z3RrL05hdGl2ZVdlYk1vdXNlRXZlbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvZ3Rr
L05hdGl2ZVdlYk1vdXNlRXZlbnRHdGsuY3BwCmluZGV4IDdjYzY1NzM5YzMyMGNiNDMxMmQ5ZDcw
NTI4NDIyMGEzODNhMDI5M2EuLmViZjE3OWUzZjExYzNlMDVlMjM1NGQzNmIxYTY4YzRjM2I5NjU0
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2d0ay9OYXRpdmVXZWJNb3VzZUV2
ZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9ndGsvTmF0aXZlV2ViTW91c2VF
dmVudEd0ay5jcHAKQEAgLTQ4LDEzICs0OCwxMyBAQCBOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRp
dmVXZWJNb3VzZUV2ZW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbikKIHsKIH0K
IAotTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChUeXBlIHR5cGUsIEJ1
dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBp
bnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6RmxvYXRTaXplPiBkZWx0YSwgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJ
ZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKLSAgICA6IFdlYk1vdXNlRXZlbnQodHlwZSwg
YnV0dG9uLCBidXR0b25zLCBwb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGRlbHRhLnZhbHVlX29y
KFdlYkNvcmU6OkZsb2F0U2l6ZSgpKS53aWR0aCgpLCBkZWx0YS52YWx1ZV9vcihXZWJDb3JlOjpG
bG9hdFNpemUoKSkuaGVpZ2h0KCksIDAsIGNsaWNrQ291bnQsIG1vZGlmaWVycywgV2FsbFRpbWU6
Om5vdygpLCAwLCBOb1RhcCwgcG9pbnRlcklkLCBwb2ludGVyVHlwZSkKK05hdGl2ZVdlYk1vdXNl
RXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNp
Z25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgaW50IGNsaWNrQ291bnQsIE9w
dGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0
U2l6ZT4gZGVsdGEsIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVySWQsIGNvbnN0IFN0cmluZyYg
cG9pbnRlclR5cGUsIFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6SXNUb3VjaCBpc1RvdWNo
RXZlbnQpCisgICAgOiBXZWJNb3VzZUV2ZW50KHR5cGUsIGJ1dHRvbiwgYnV0dG9ucywgcG9zaXRp
b24sIGdsb2JhbFBvc2l0aW9uLCBkZWx0YS52YWx1ZV9vcihXZWJDb3JlOjpGbG9hdFNpemUoKSku
d2lkdGgoKSwgZGVsdGEudmFsdWVfb3IoV2ViQ29yZTo6RmxvYXRTaXplKCkpLmhlaWdodCgpLCAw
LCBjbGlja0NvdW50LCBtb2RpZmllcnMsIFdhbGxUaW1lOjpub3coKSwgMCwgTm9UYXAsIGlzVG91
Y2hFdmVudCwgcG9pbnRlcklkLCBwb2ludGVyVHlwZSkKIHsKIH0KIAogTmF0aXZlV2ViTW91c2VF
dmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50JiBldmVu
dCkKLSAgICA6IFdlYk1vdXNlRXZlbnQoZXZlbnQudHlwZSgpLCBldmVudC5idXR0b24oKSwgZXZl
bnQuYnV0dG9ucygpLCBldmVudC5wb3NpdGlvbigpLCBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBl
dmVudC5kZWx0YVgoKSwgZXZlbnQuZGVsdGFZKCksIGV2ZW50LmRlbHRhWigpLCBldmVudC5jbGlj
a0NvdW50KCksIGV2ZW50Lm1vZGlmaWVycygpLCBldmVudC50aW1lc3RhbXAoKSwgMCwgTm9UYXAs
IGV2ZW50LnBvaW50ZXJJZCgpLCBldmVudC5wb2ludGVyVHlwZSgpKQorICAgIDogV2ViTW91c2VF
dmVudChldmVudC50eXBlKCksIGV2ZW50LmJ1dHRvbigpLCBldmVudC5idXR0b25zKCksIGV2ZW50
LnBvc2l0aW9uKCksIGV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIGV2ZW50LmRlbHRhWCgpLCBldmVu
dC5kZWx0YVkoKSwgZXZlbnQuZGVsdGFaKCksIGV2ZW50LmNsaWNrQ291bnQoKSwgZXZlbnQubW9k
aWZpZXJzKCksIGV2ZW50LnRpbWVzdGFtcCgpLCAwLCBOb1RhcCwgZXZlbnQuaXNUb3VjaEV2ZW50
KCksIGV2ZW50LnBvaW50ZXJJZCgpLCBldmVudC5wb2ludGVyVHlwZSgpKQogICAgICwgbV9uYXRp
dmVFdmVudChldmVudC5uYXRpdmVFdmVudCgpID8gZ2RrX2V2ZW50X2NvcHkoY29uc3RfY2FzdDxH
ZGtFdmVudCo+KGV2ZW50Lm5hdGl2ZUV2ZW50KCkpKSA6IG51bGxwdHIpCiB7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3Bw
CmluZGV4IDQ3ZDYzZDk0MDM1N2FhZWQ2NWRmN2IxZTZkYmM2YzJhNmRjMTk5MTAuLjQxMmE4MzVh
NTUyMTk2MTY1ODUxMzUxOWJiZDg1MzE5YTRiNDAxZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC02NSw2ICs2
NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1EaXNwbGF5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUtleWJv
YXJkRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVudC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUG9pbnRlckV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWZQdHJD
YWlyby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+CkBAIC0xOTMxLDkgKzE5MzIsOSBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVRvdWNoUmVsZWFzZShXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UsIGludCBuUAogICAgIH0KIAogICAgIHVuc2lnbmVkIG1vZGlmaWVy
cyA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF9jdXJyZW50X2V2ZW50X3N0YXRlKEdUS19FVkVO
VF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKLSAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVN
b3VzZUV2ZW50KHdlYlZpZXdCYXNlLCBNb3VzZUV2ZW50VHlwZTo6TW90aW9uLCAwLCAwLCB4LCB5
LCBtb2RpZmllcnMsIG5QcmVzcywgbW91c2VQb2ludGVyRXZlbnRUeXBlKCkpOwotICAgIHdlYmtp
dFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRU
eXBlOjpQcmVzcywgYnV0dG9uLCAwLCB4LCB5LCBtb2RpZmllcnMsIG5QcmVzcywgbW91c2VQb2lu
dGVyRXZlbnRUeXBlKCkpOwotICAgIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZl
bnQod2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlOjpSZWxlYXNlLCBidXR0b24sIGJ1dHRvbnMs
IHgsIHksIG1vZGlmaWVycywgblByZXNzLCBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSk7CisgICAg
d2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VF
dmVudFR5cGU6Ok1vdGlvbiwgMCwgMCwgeCwgeSwgbW9kaWZpZXJzLCBuUHJlc3MsIG1vdXNlUG9p
bnRlckV2ZW50VHlwZSgpLCBQbGF0Zm9ybU1vdXNlRXZlbnQ6OklzVG91Y2g6Olllcyk7CisgICAg
d2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VF
dmVudFR5cGU6OlByZXNzLCBidXR0b24sIDAsIHgsIHksIG1vZGlmaWVycywgblByZXNzLCBtb3Vz
ZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpZZXMpOwor
ICAgIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1v
dXNlRXZlbnRUeXBlOjpSZWxlYXNlLCBidXR0b24sIGJ1dHRvbnMsIHgsIHksIG1vZGlmaWVycywg
blByZXNzLCBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1Rv
dWNoOjpZZXMpOwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVRvdWNoRHJhZ0Jl
Z2luKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgZ2RvdWJsZSBzdGFydFgsIGdkb3Vi
bGUgc3RhcnRZLCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpAQCAtMTk2OSwxNCArMTk3MCwxNCBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVRvdWNoRHJhZ1VwZGF0ZShXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UsIGRvdQogCiAgICAgICAgIGlmIChwcml2LT5pc0xvbmdQcmVzc2Vk
KSB7CiAgICAgICAgICAgICAvLyBEcmFnIGFmdGVyIGxvbmcgcHJlc3MgZm9yd2FyZHMgZW11bGF0
ZWQgbW91c2UgZXZlbnRzIChmb3IgZS5nLiB0ZXh0IHNlbGVjdGlvbikKLSAgICAgICAgICAgIHdl
YmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZl
bnRUeXBlOjpNb3Rpb24sIDAsIDAsIHgsIHksIG1vZGlmaWVycywgMSwgbW91c2VQb2ludGVyRXZl
bnRUeXBlKCkpOwotICAgICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VF
dmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGU6OlByZXNzLCBHREtfQlVUVE9OX1BSSU1B
UlksIDAsIHgsIHksIG1vZGlmaWVycywgMCwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCkpOworICAg
ICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFz
ZSwgTW91c2VFdmVudFR5cGU6Ok1vdGlvbiwgMCwgMCwgeCwgeSwgbW9kaWZpZXJzLCAxLCBtb3Vz
ZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpZZXMpOwor
ICAgICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3
QmFzZSwgTW91c2VFdmVudFR5cGU6OlByZXNzLCBHREtfQlVUVE9OX1BSSU1BUlksIDAsIHgsIHks
IG1vZGlmaWVycywgMCwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCksIFBsYXRmb3JtTW91c2VFdmVu
dDo6SXNUb3VjaDo6WWVzKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICB3ZWJraXRXZWJW
aWV3QmFzZVN5bnRoZXNpemVXaGVlbEV2ZW50KHdlYlZpZXdCYXNlLCBldmVudCwgMCwgMCwgeCwg
eSwgV2hlZWxFdmVudFBoYXNlOjpCZWdhbiwgV2hlZWxFdmVudFBoYXNlOjpOb1BoYXNlLCB0cnVl
KTsKICAgICB9CiAKICAgICBpZiAocHJpdi0+aXNMb25nUHJlc3NlZCkKLSAgICAgICAgd2Via2l0
V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5
cGU6Ok1vdGlvbiwgR0RLX0JVVFRPTl9QUklNQVJZLCBHREtfQlVUVE9OMV9NQVNLLCB4ICsgb2Zm
c2V0WCwgeSArIG9mZnNldFksIG1vZGlmaWVycywgMCwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCkp
OworICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KHdlYlZpZXdC
YXNlLCBNb3VzZUV2ZW50VHlwZTo6TW90aW9uLCBHREtfQlVUVE9OX1BSSU1BUlksIEdES19CVVRU
T04xX01BU0ssIHggKyBvZmZzZXRYLCB5ICsgb2Zmc2V0WSwgbW9kaWZpZXJzLCAwLCBtb3VzZVBv
aW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpZZXMpOwogICAg
IGVsc2UgewogICAgICAgICBkb3VibGUgZGVsdGFYID0gcHJpdi0+ZHJhZ09mZnNldC54KCkgLSBv
ZmZzZXRYOwogICAgICAgICBkb3VibGUgZGVsdGFZID0gcHJpdi0+ZHJhZ09mZnNldC55KCkgLSBv
ZmZzZXRZOwpAQCAtMjAwNSw3ICsyMDA2LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jh
c2VUb3VjaERyYWdFbmQoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBnZG91YmwKICAg
ICAgICAgZG91YmxlIHgsIHk7CiAgICAgICAgIGd0a19nZXN0dXJlX2RyYWdfZ2V0X3N0YXJ0X3Bv
aW50KEdUS19HRVNUVVJFX0RSQUcoZ2VzdHVyZSksICZ4LCAmeSk7CiAgICAgICAgIHVuc2lnbmVk
IG1vZGlmaWVycyA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF9jdXJyZW50X2V2ZW50X3N0YXRl
KEdUS19FVkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKLSAgICAgICAgd2Via2l0V2ViVmlld0Jh
c2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGU6OlJlbGVh
c2UsIEdES19CVVRUT05fUFJJTUFSWSwgR0RLX0JVVFRPTjFfTUFTSywgeCArIG9mZnNldFgsIHkg
KyBvZmZzZXRZLCBtb2RpZmllcnMsIDAsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsKKyAgICAg
ICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91
c2VFdmVudFR5cGU6OlJlbGVhc2UsIEdES19CVVRUT05fUFJJTUFSWSwgR0RLX0JVVFRPTjFfTUFT
SywgeCArIG9mZnNldFgsIHkgKyBvZmZzZXRZLCBtb2RpZmllcnMsIDAsIG1vdXNlUG9pbnRlckV2
ZW50VHlwZSgpLCBQbGF0Zm9ybU1vdXNlRXZlbnQ6OklzVG91Y2g6Olllcyk7CiAgICAgfQogfQog
CkBAIC0yNzk3LDcgKzI3OTgsNyBAQCBzdGF0aWMgaW5saW5lIFBvaW50ZXJJRCBwcmltYXJ5UG9p
bnRlckZvclR5cGUoY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKICAgICByZXR1cm4gbW91c2VQ
b2ludGVySUQ7CiB9CiAKLXZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVu
dChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlIHR5cGUsIHVu
c2lnbmVkIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgaW50IHgsIGludCB5LCB1bnNp
Z25lZCBtb2RpZmllcnMsIGludCBjbGlja0NvdW50LCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBl
KQordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KFdlYktpdFdlYlZp
ZXdCYXNlKiB3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGUgdHlwZSwgdW5zaWduZWQgYnV0dG9u
LCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIG1vZGlmaWVy
cywgaW50IGNsaWNrQ291bnQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIFBsYXRmb3JtTW91
c2VFdmVudDo6SXNUb3VjaCBpc1RvdWNoRXZlbnQpCiB7CiAgICAgV2ViS2l0V2ViVmlld0Jhc2VQ
cml2YXRlKiBwcml2ID0gd2ViVmlld0Jhc2UtPnByaXY7CiAgICAgaWYgKHByaXYtPmRpYWxvZykK
QEAgLTI4ODIsNyArMjg4Myw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91
c2VFdmVudChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIE1vdXNlCiAKICAgICBwcml2
LT5wYWdlUHJveHktPmhhbmRsZU1vdXNlRXZlbnQoTmF0aXZlV2ViTW91c2VFdmVudCh3ZWJFdmVu
dFR5cGUsIHdlYkV2ZW50QnV0dG9uLCB3ZWJFdmVudEJ1dHRvbnMsIHsgeCwgeSB9LAogICAgICAg
ICB3aWRnZXRSb290Q29vcmRzKEdUS19XSURHRVQod2ViVmlld0Jhc2UpLCB4LCB5KSwgY2xpY2tD
b3VudCwgdG9XZWJLaXRNb2RpZmllcnMobW9kaWZpZXJzKSwgbW92ZW1lbnREZWx0YSwKLSAgICAg
ICAgcHJpbWFyeVBvaW50ZXJGb3JUeXBlKHBvaW50ZXJUeXBlKSwgcG9pbnRlclR5cGUuaXNOdWxs
KCkgPyBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSA6IHBvaW50ZXJUeXBlKSk7CisgICAgICAgIHBy
aW1hcnlQb2ludGVyRm9yVHlwZShwb2ludGVyVHlwZSksIHBvaW50ZXJUeXBlLmlzTnVsbCgpID8g
bW91c2VQb2ludGVyRXZlbnRUeXBlKCkgOiBwb2ludGVyVHlwZSwgaXNUb3VjaEV2ZW50KSk7CiB9
CiAKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplS2V5RXZlbnQoV2ViS2l0V2ViVmll
d0Jhc2UqIHdlYlZpZXdCYXNlLCBLZXlFdmVudFR5cGUgdHlwZSwgdW5zaWduZWQga2V5dmFsLCB1
bnNpZ25lZCBtb2RpZmllcnMsIFNob3VsZFRyYW5zbGF0ZUtleWJvYXJkU3RhdGUgc2hvdWxkVHJh
bnNsYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3QmFzZUludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlSW50ZXJuYWwuaAppbmRleCBhYTAzNDQxNjIxY2UxODU3Y2ZkNGYz
ZTk0MzI2MjE5OGE0MTNjM2RiLi5jNjE3Nzg3MWM5MjhhOGMwY2YwZjQ4NDhlMGRlYjA5N2YzMThm
Mjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXdCYXNlSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlSW50ZXJuYWwuaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdHlw
ZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdCYXNlIFdlYktpdFdlYlZpZXdCYXNlOwpAQCAtMzcs
NyArMzgsNyBAQCBzdHJ1Y3QgS2V5RXZlbnQgewogfTsKIAogZW51bSBjbGFzcyBNb3VzZUV2ZW50
VHlwZSB7IFByZXNzLCBSZWxlYXNlLCBNb3Rpb24gfTsKLVdLX0VYUE9SVCB2b2lkIHdlYmtpdFdl
YlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqLCBNb3VzZUV2
ZW50VHlwZSB0eXBlLCB1bnNpZ25lZCBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGlu
dCB4LCBpbnQgeSwgdW5zaWduZWQgbW9kaWZpZXJzLCBpbnQgY2xpY2tDb3VudCwgY29uc3QgU3Ry
aW5nJiBwb2ludGVyVHlwZSA9ICJtb3VzZSJfcyk7CitXS19FWFBPUlQgdm9pZCB3ZWJraXRXZWJW
aWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiwgTW91c2VFdmVu
dFR5cGUgdHlwZSwgdW5zaWduZWQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBpbnQg
eCwgaW50IHksIHVuc2lnbmVkIG1vZGlmaWVycywgaW50IGNsaWNrQ291bnQsIGNvbnN0IFN0cmlu
ZyYgcG9pbnRlclR5cGUgPSAibW91c2UiX3MsIFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6
SXNUb3VjaCBpc1RvdWNoRXZlbnQgPSBXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OklzVG91
Y2g6Ok5vKTsKIAogZW51bSBjbGFzcyBLZXlFdmVudFR5cGUgeyBQcmVzcywgUmVsZWFzZSwgSW5z
ZXJ0IH07CiBlbnVtIGNsYXNzIFNob3VsZFRyYW5zbGF0ZUtleWJvYXJkU3RhdGUgeyBObywgWWVz
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFn
ZXIuY3BwCmluZGV4IGEzMjI1ODlkODM5ODg5NTczMTJjM2E1MTA5ODFkOWNiNjY4MDExNjAuLmNi
ODU4MWQwYWIxMjA1ZWU1ODJjYTU0ZjMyM2I2MDQyZDljMjliY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIldlYlBh
Z2VQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNwbGF5Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9QbGF0Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BvaW50
ZXJFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlcklELmg+CiAjaW5jbHVkZSA8Z3Rr
L2d0ay5oPgpAQCAtOTMsNyArOTQsNyBAQCBib29sIFBvaW50ZXJMb2NrTWFuYWdlcjo6dW5sb2Nr
KCkKIAogdm9pZCBQb2ludGVyTG9ja01hbmFnZXI6OmhhbmRsZU1vdGlvbihGbG9hdFNpemUmJiBk
ZWx0YSkKIHsKLSAgICBtX3dlYlBhZ2UuaGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2
ZW50KFdlYkV2ZW50OjpNb3VzZU1vdmUsIG1fYnV0dG9uLCBtX2J1dHRvbnMsIEludFBvaW50KG1f
cG9zaXRpb24pLCBJbnRQb2ludChtX2luaXRpYWxQb2ludCksIDAsIG1fbW9kaWZpZXJzLCBkZWx0
YSwgbW91c2VQb2ludGVySUQsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKSk7CisgICAgbV93ZWJQ
YWdlLmhhbmRsZU1vdXNlRXZlbnQoTmF0aXZlV2ViTW91c2VFdmVudChXZWJFdmVudDo6TW91c2VN
b3ZlLCBtX2J1dHRvbiwgbV9idXR0b25zLCBJbnRQb2ludChtX3Bvc2l0aW9uKSwgSW50UG9pbnQo
bV9pbml0aWFsUG9pbnQpLCAwLCBtX21vZGlmaWVycywgZGVsdGEsIG1vdXNlUG9pbnRlcklELCBt
b3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpObykp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ZTgwN2ZjYWViMDVjNGUyMmUyOWQwMGQyMTcyZjcz
YTE4MWQ4MWIwLi42MzI2ODZlOWVlOTE3NTg3ODRiYzMyMTMzNWU0NmNkNTJiMzhkZWVmIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMjItMDItMDQgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9y
Zz4KKworICAgICAgICBbR1RLXSBDcmFzaCB3aGVuIHN0YXJ0aW5nIERORCBvbiB0b3VjaHNjcmVl
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1Njk0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQ6IERlZmluZSBCVUlMRElOR19UZXN0V2ViS2l0
CisKIDIwMjItMDEtMjQgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4K
IAogICAgICAgICBbR1RLXSBSRUdSRVNTSU9OOiBUb3VjaCBzY3JvbGxpbmcgaXMgYnJva2VuCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQKaW5kZXggMTU5YzBmYmY1NWE4NTk0
YTQ3OTMyZmJlNDAyMDcyZjllODBmMTA0My4uOTMyNzUxYjliZDBjNzI3NjQwYjMzNjg3NjdlNzU2
Y2ViYzYyMjgxZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL0NNYWtlTGlz
dHMudHh0CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFrZUxpc3RzLnR4dApAQCAt
MTA4LDYgKzEwOCw3IEBAIHNldChXZWJLaXRHTGliQVBJVGVzdHNfREVGSU5JVElPTlMKICkKIAog
YWRkX2xpYnJhcnkoV2ViS2l0R0xpYkFQSVRlc3RzQ29yZSBTVEFUSUMgJHtXZWJLaXRHTGliQVBJ
VGVzdHNfU09VUkNFU30pCit0YXJnZXRfY29tcGlsZV9kZWZpbml0aW9ucyhXZWJLaXRHTGliQVBJ
VGVzdHNDb3JlIFBSSVZBVEUgQlVJTERJTkdfVGVzdFdlYktpdCkKIHRhcmdldF9pbmNsdWRlX2Rp
cmVjdG9yaWVzKFdlYktpdEdMaWJBUElUZXN0c0NvcmUgUFVCTElDICR7V2ViS2l0R0xpYkFQSVRl
c3RzX0lOQ0xVREVfRElSRUNUT1JJRVN9KQogdGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXMoV2Vi
S2l0R0xpYkFQSVRlc3RzQ29yZSBTWVNURU0gUFVCTElDICR7V2ViS2l0R0xpYkFQSVRlc3RzX1NZ
U1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTfSkKIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKFdl
YktpdEdMaWJBUElUZXN0c0NvcmUgUFVCTElDICR7V2ViS2l0R0xpYkFQSVRlc3RzX0RFRklOSVRJ
T05TfSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450899</attachid>
            <date>2022-02-04 08:22:03 -0800</date>
            <delta_ts>2022-02-04 10:54:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235694-20220204212304.patch</filename>
            <type>text/plain</type>
            <size>23285</size>
            <attacher name="Alice Mikhaylenko">alicem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc4NzVmMDg1MTllYTdl
OGIzOWM2OGUyYTFkYzc0OTY1ODc2ZjZhYy4uMGZjMDU1NmE0NzI5ZTkyOGI2NjQ0Mzk3ZGE2OTcz
YmNlNmI5OTI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTA0ICBBbGV4
YW5kZXIgTWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CisKKyAgICAgICAgW0dUS10gQ3Jh
c2ggd2hlbiBzdGFydGluZyBETkQgb24gdG91Y2hzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTY5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAgICAgICAgU2tp
cCBkcmFncyBmb3IgdG91Y2ggZXZlbnRzIG9uIEdUSy4KKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6
aXNUb3VjaEV2ZW50IGNvbnN0KToKKwogMjAyMi0wMS0zMSAgQWxleGFuZGVyIE1pa2hheWxlbmtv
ICA8YWxleG1AZ25vbWUub3JnPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIHdpZGdldCBz
dHlsZSB0byBtYXRjaCBsaWJhZHdhaXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYxYjgyZWU2YmVjOGMzZmQzZGNm
MTczNDJiMzcyZGVjYzI2NzM4YjYuLjc2Yzc5NzNiZDFkZGRjZmFlYWU3ZGVmYzEwYmU1ZTM0MGUx
MWQ2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDItMDQgIEFsZXhhbmRlciBN
aWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXSBDcmFzaCB3aGVu
IHN0YXJ0aW5nIERORCBvbiB0b3VjaHNjcmVlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1Njk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRHJhZy1uLWRyb3Agb24gdG91Y2ggaGFzIG5ldmVyIHdvcmtl
ZCBjb3JyZWN0bHkgaW4gR1RLLCBhbmQgaXMgdXN1YWxseQorICAgICAgICBqdXN0IGRpc2FibGVk
LiBEbyB0aGUgc2FtZSB0aGluZyBhbmQgaWdub3JlIGl0IGZvciBzeW50aGVzaXplZCBtb3VzZQor
ICAgICAgICBldmVudHMuCisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5o
OgorICAgICAgICAqIFNoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJLaXQyUGxhdGZvcm1Nb3VzZUV2ZW50OjpXZWJLaXQyUGxhdGZvcm1Nb3VzZUV2ZW50
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViTW91c2VFdmVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3Vz
ZUV2ZW50OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3VzZUV2ZW50Ojpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJNb3VzZUV2ZW50Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYk1vdXNlRXZlbnQ6OmlzVG91Y2hFdmVudCBjb25zdCk6CisgICAgICAgICogU2hhcmVk
L2d0ay9OYXRpdmVXZWJNb3VzZUV2ZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmF0aXZl
V2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jh
c2VUb3VjaFJlbGVhc2UpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VUb3VjaERyYWdVcGRh
dGUpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VUb3VjaERyYWdFbmQpOgorICAgICAgICAo
d2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2VJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvUG9pbnRlckxvY2tNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UG9pbnRl
ckxvY2tNYW5hZ2VyOjpoYW5kbGVNb3Rpb24pOgorCiAyMDIyLTAxLTMxICBBbGV4YW5kZXIgTWlr
aGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjg4NjQ0
KTogW0dUSzRdIENyaXRpY2FscyB3aGVuIHVzaW5nIHBpbmNoIHpvb20KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5jcHAKaW5kZXggZjRiOGM4NzhkYjAwYTgwYjdkMDY0Y2IyNTE2YzA1
MzNmMWYzYWRmNS4uYWU4MTBkNGM5YWVhMjBmNTA0MDcyNjdlMGY2ZTM5NTVhYTQ3NTExNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTk3NSw2ICs5NzUsMTEgQEAg
Ym9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0
ZSYgc3RhdGUsIE9wdGlvblNldDxEcmEKICAgICBpZiAoIXN0YXRlLnNvdXJjZSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisjaWYgUExBVEZPUk0oR1RLKQorICAgIGlmIChkcmFnRXZlbnQuaXNU
b3VjaEV2ZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorCiAgICAgUmVmPEZy
YW1lPiBwcm90ZWN0b3Ioc3JjKTsKICAgICBhdXRvIGhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVz
dWx0Rm9yRHJhZ1N0YXJ0KHNyYywgKnN0YXRlLnNvdXJjZSwgZHJhZ09yaWdpbik7CiAgICAgaWYg
KCFoaXRUZXN0UmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1Nb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNl
RXZlbnQuaAppbmRleCA1ZmJlMzIyMGE4Mjg3YmZkZDJiMWU2MzQ3MjA3Mjk5NjljYTczNmFmLi4w
MDJkNDVmZjdkYThkYjU1Y2Y2MjE3ZDUyZTFmZGU0NTQ0MjhlM2RiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaApAQCAtODcsNiArODcsMTIgQEAgY29u
c3QgZG91YmxlIEZvcmNlQXRGb3JjZUNsaWNrID0gMjsKICAgICAgICAgYm9vbCBkaWRBY3RpdmF0
ZVdlYlZpZXcoKSBjb25zdCB7IHJldHVybiBtX2RpZEFjdGl2YXRlV2ViVmlldzsgfQogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShHVEspCisgICAgICAgIGVudW0gY2xhc3MgSXNUb3VjaCA6IGJvb2wg
eyBObywgWWVzIH07CisKKyAgICAgICAgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdCB7IHJldHVy
biBtX2lzVG91Y2hFdmVudCA9PSBJc1RvdWNoOjpZZXM7IH0KKyNlbmRpZgorCiAgICAgcHJvdGVj
dGVkOgogICAgICAgICBNb3VzZUJ1dHRvbiBtX2J1dHRvbiB7IE5vQnV0dG9uIH07CiAgICAgICAg
IFN5bnRoZXRpY0NsaWNrVHlwZSBtX3N5bnRoZXRpY0NsaWNrVHlwZSB7IE5vVGFwIH07CkBAIC0x
MDUsNiArMTExLDggQEAgY29uc3QgZG91YmxlIEZvcmNlQXRGb3JjZUNsaWNrID0gMjsKICAgICAg
ICAgaW50IG1fbWVudVR5cGVGb3JFdmVudCB7IDAgfTsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAg
ICAgICAgYm9vbCBtX2RpZEFjdGl2YXRlV2ViVmlldyB7IGZhbHNlIH07CisjZWxpZiBQTEFURk9S
TShHVEspCisgICAgICAgIElzVG91Y2ggbV9pc1RvdWNoRXZlbnQgeyBJc1RvdWNoOjpObyB9Owog
I2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZl
V2ViTW91c2VFdmVudC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVu
dC5oCmluZGV4IDAwMTU1OGRkNThmNGQ4NWYzNjBkNTcxMWNhYTAzZGIzMzg4OTAxMWUuLjkxYTBh
YTA3ZGJhNzRhYTEyMTE1ZDQ5Zjg5OTQxMTNhZTRjNDQ3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHVibGljOgogICAg
IE5hdGl2ZVdlYk1vdXNlRXZlbnQoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYpOwogICAgIE5h
dGl2ZVdlYk1vdXNlRXZlbnQoR2RrRXZlbnQqLCBpbnQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
RmxvYXRTaXplPik7CiAgICAgTmF0aXZlV2ViTW91c2VFdmVudChHZGtFdmVudCosIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiwgaW50LCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4p
OwotICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBi
dXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2Rp
Zmllcj4gbW9kaWZpZXJzLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4sIFdlYkNv
cmU6OlBvaW50ZXJJRCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSk7CisgICAgTmF0aXZlV2Vi
TW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2Jh
bFBvc2l0aW9uLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPiwgV2ViQ29yZTo6UG9pbnRlcklELCBj
b25zdCBTdHJpbmcmIHBvaW50ZXJUeXBlLCBXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6Oklz
VG91Y2ggaXNUb3VjaEV2ZW50KTsKICAgICBleHBsaWNpdCBOYXRpdmVXZWJNb3VzZUV2ZW50KGNv
bnN0IFdlYkNvcmU6OkludFBvaW50Jik7CiAjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IE5hdGl2ZVdlYk1vdXNlRXZlbnQoOjpXZWJFdmVudCAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCmluZGV4IGYwMzI1YmU1NTVlMzNlYjkyODc2YTMzYjQz
YWE2N2EzOTI2NWY4YjAuLmQ2MDVhZjY1YmYyZDk5MzM0MGVjMzFiMGZlOWI0NjY5NTMyYTcyZTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcApAQCAtMTEx
LDYgKzExMSw4IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIG1fZXZlbnRO
dW1iZXIgPSB3ZWJFdmVudC5ldmVudE51bWJlcigpOwogICAgICAgICBtX21lbnVUeXBlRm9yRXZl
bnQgPSB3ZWJFdmVudC5tZW51VHlwZUZvckV2ZW50KCk7CisjZWxpZiBQTEFURk9STShHVEspCisg
ICAgICAgIG1faXNUb3VjaEV2ZW50ID0gd2ViRXZlbnQuaXNUb3VjaEV2ZW50KCk7CiAjZW5kaWYK
ICAgICAgICAgbV9tb2RpZmllckZsYWdzID0gMDsKICAgICAgICAgaWYgKHdlYkV2ZW50LnNoaWZ0
S2V5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuY3BwCmluZGV4IDRiMjgxNjM2
MWYxNjBmMjNhZDVmN2Q4ZmY2YzdmZjA0YjI1MzI5ODQuLmM4MjI4NjQ3MGUzNDIxMjVmNzMzMDYy
Y2MwZTY0ZDMwNGJlN2JhZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1v
dXNlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuY3Bw
CkBAIC0zNSw2ICszNSw4IEBAIFdlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQoKSA9IGRlZmF1
bHQ7CiAKICNpZiBQTEFURk9STShNQUMpCiBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5
cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50
UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZs
b2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBP
cHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUg
Zm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIGludCBldmVudE51
bWJlciwgaW50IG1lbnVUeXBlLCBHZXN0dXJlV2FzQ2FuY2VsbGVkIGdlc3R1cmVXYXNDYW5jZWxs
ZWQpCisjZWxpZiBQTEFURk9STShHVEspCitXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5
cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50
UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZs
b2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBP
cHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUg
Zm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIFBsYXRmb3JtTW91
c2VFdmVudDo6SXNUb3VjaCBpc1RvdWNoRXZlbnQsIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVy
SWQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIEdlc3R1cmVXYXNDYW5jZWxsZWQgZ2VzdHVy
ZVdhc0NhbmNlbGxlZCkKICNlbHNlCiBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUg
dHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50UG9p
bnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0
IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRp
b25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9y
Y2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIFdlYkNvcmU6OlBvaW50
ZXJJRCBwb2ludGVySWQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIEdlc3R1cmVXYXNDYW5j
ZWxsZWQgZ2VzdHVyZVdhc0NhbmNlbGxlZCkKICNlbmRpZgpAQCAtNTAsNiArNTIsOCBAQCBXZWJN
b3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWdu
ZWQgc2hvcnQgYnV0dG9ucywgYwogI2lmIFBMQVRGT1JNKE1BQykKICAgICAsIG1fZXZlbnROdW1i
ZXIoZXZlbnROdW1iZXIpCiAgICAgLCBtX21lbnVUeXBlRm9yRXZlbnQobWVudVR5cGUpCisjZWxp
ZiBQTEFURk9STShHVEspCisgICAgLCBtX2lzVG91Y2hFdmVudChpc1RvdWNoRXZlbnQpCiAjZW5k
aWYKICAgICAsIG1fZm9yY2UoZm9yY2UpCiAgICAgLCBtX3N5bnRoZXRpY0NsaWNrVHlwZShzeW50
aGV0aWNDbGlja1R5cGUpCkBAIC03Nyw2ICs4MSw4IEBAIHZvaWQgV2ViTW91c2VFdmVudDo6ZW5j
b2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBQTEFURk9STShNQUMpCiAgICAg
ZW5jb2RlciA8PCBtX2V2ZW50TnVtYmVyOwogICAgIGVuY29kZXIgPDwgbV9tZW51VHlwZUZvckV2
ZW50OworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIGVuY29kZXIgPDwgbV9pc1RvdWNoRXZlbnQ7
CiAjZW5kaWYKICAgICBlbmNvZGVyIDw8IG1fZm9yY2U7CiAgICAgZW5jb2RlciA8PCBtX3N5bnRo
ZXRpY0NsaWNrVHlwZTsKQEAgLTExMSw2ICsxMTcsOSBAQCBib29sIFdlYk1vdXNlRXZlbnQ6OmRl
Y29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYk1vdXNlRXZlbnQmIHJlc3VsdCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fbWVudVR5
cGVGb3JFdmVudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbGlmIFBMQVRGT1JNKEdUSykK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX2lzVG91Y2hFdmVudCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1f
Zm9yY2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2
ZW50LmgKaW5kZXggM2RiZTEwZDQ5YjRkZTM0NjM2OTAwZWZlMzFmYjU3ZTdlNjBlMzQxYy4uY2Yy
YWRjMzgyYjNmNTk4OTBjNDNhNTRiNmMyOGJhYjJjNGE5NjVjNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYk1vdXNlRXZlbnQuaApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSAiV2ViRXZlbnQu
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BvaW50ZXJFdmVudFR5cGVOYW1l
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlcklELmg+CiAKQEAgLTUzLDYgKzU0LDggQEAg
cHVibGljOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFdlYk1vdXNlRXZlbnQoVHlwZSwgQnV0
dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9z
aXRpb25JblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxv
YXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9w
dGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCwgZG91YmxlIGZvcmNlLCBTeW50
aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgaW50IGV2ZW50TnVtYmVyID0gLTEsIGludCBtZW51VHlw
ZSA9IDAsIEdlc3R1cmVXYXNDYW5jZWxsZWQgPSBHZXN0dXJlV2FzQ2FuY2VsbGVkOjpObyk7Cisj
ZWxpZiBQTEFURk9STShHVEspCisgICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2ln
bmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmll
dywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgs
IGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1v
ZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWND
bGlja1R5cGUgPSBOb1RhcCwgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoIG1f
aXNUb3VjaEV2ZW50ID0gV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpObywg
V2ViQ29yZTo6UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmlu
ZyYgcG9pbnRlclR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgR2VzdHVy
ZVdhc0NhbmNlbGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbHNlCiAgICAgV2Vi
TW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFa
LCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1w
LCBkb3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgV2ViQ29yZTo6
UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmluZyYgcG9pbnRl
clR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgR2VzdHVyZVdhc0NhbmNl
bGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbmRpZgpAQCAtNjgsNiArNzEsOCBA
QCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGludDMyX3QgZXZlbnROdW1iZXIoKSBj
b25zdCB7IHJldHVybiBtX2V2ZW50TnVtYmVyOyB9CiAgICAgaW50MzJfdCBtZW51VHlwZUZvckV2
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9tZW51VHlwZUZvckV2ZW50OyB9CisjZWxpZiBQTEFURk9S
TShHVEspCisgICAgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoIGlzVG91Y2hF
dmVudCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUb3VjaEV2ZW50OyB9CiAjZW5kaWYKICAgICBkb3Vi
bGUgZm9yY2UoKSBjb25zdCB7IHJldHVybiBtX2ZvcmNlOyB9CiAgICAgU3ludGhldGljQ2xpY2tU
eXBlIHN5bnRoZXRpY0NsaWNrVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFN5bnRo
ZXRpY0NsaWNrVHlwZT4obV9zeW50aGV0aWNDbGlja1R5cGUpOyB9CkBAIC05Miw2ICs5Nyw4IEBA
IHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGludDMyX3QgbV9ldmVudE51bWJlciB7
IC0xIH07CiAgICAgaW50MzJfdCBtX21lbnVUeXBlRm9yRXZlbnQgeyAwIH07CisjZWxpZiBQTEFU
Rk9STShHVEspCisgICAgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoIG1faXNU
b3VjaEV2ZW50IHsgV2ViQ29yZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpObyB9Owog
I2VuZGlmCiAgICAgZG91YmxlIG1fZm9yY2UgeyAwIH07CiAgICAgdWludDMyX3QgbV9zeW50aGV0
aWNDbGlja1R5cGUgeyBOb1RhcCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Z3RrL05hdGl2ZVdlYk1vdXNlRXZlbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvZ3Rr
L05hdGl2ZVdlYk1vdXNlRXZlbnRHdGsuY3BwCmluZGV4IDdjYzY1NzM5YzMyMGNiNDMxMmQ5ZDcw
NTI4NDIyMGEzODNhMDI5M2EuLmViZjE3OWUzZjExYzNlMDVlMjM1NGQzNmIxYTY4YzRjM2I5NjU0
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2d0ay9OYXRpdmVXZWJNb3VzZUV2
ZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9ndGsvTmF0aXZlV2ViTW91c2VF
dmVudEd0ay5jcHAKQEAgLTQ4LDEzICs0OCwxMyBAQCBOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRp
dmVXZWJNb3VzZUV2ZW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbikKIHsKIH0K
IAotTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChUeXBlIHR5cGUsIEJ1
dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBp
bnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6RmxvYXRTaXplPiBkZWx0YSwgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJ
ZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKLSAgICA6IFdlYk1vdXNlRXZlbnQodHlwZSwg
YnV0dG9uLCBidXR0b25zLCBwb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGRlbHRhLnZhbHVlX29y
KFdlYkNvcmU6OkZsb2F0U2l6ZSgpKS53aWR0aCgpLCBkZWx0YS52YWx1ZV9vcihXZWJDb3JlOjpG
bG9hdFNpemUoKSkuaGVpZ2h0KCksIDAsIGNsaWNrQ291bnQsIG1vZGlmaWVycywgV2FsbFRpbWU6
Om5vdygpLCAwLCBOb1RhcCwgcG9pbnRlcklkLCBwb2ludGVyVHlwZSkKK05hdGl2ZVdlYk1vdXNl
RXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNp
Z25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgaW50IGNsaWNrQ291bnQsIE9w
dGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0
U2l6ZT4gZGVsdGEsIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVySWQsIGNvbnN0IFN0cmluZyYg
cG9pbnRlclR5cGUsIFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6SXNUb3VjaCBpc1RvdWNo
RXZlbnQpCisgICAgOiBXZWJNb3VzZUV2ZW50KHR5cGUsIGJ1dHRvbiwgYnV0dG9ucywgcG9zaXRp
b24sIGdsb2JhbFBvc2l0aW9uLCBkZWx0YS52YWx1ZV9vcihXZWJDb3JlOjpGbG9hdFNpemUoKSku
d2lkdGgoKSwgZGVsdGEudmFsdWVfb3IoV2ViQ29yZTo6RmxvYXRTaXplKCkpLmhlaWdodCgpLCAw
LCBjbGlja0NvdW50LCBtb2RpZmllcnMsIFdhbGxUaW1lOjpub3coKSwgMCwgTm9UYXAsIGlzVG91
Y2hFdmVudCwgcG9pbnRlcklkLCBwb2ludGVyVHlwZSkKIHsKIH0KIAogTmF0aXZlV2ViTW91c2VF
dmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50JiBldmVu
dCkKLSAgICA6IFdlYk1vdXNlRXZlbnQoZXZlbnQudHlwZSgpLCBldmVudC5idXR0b24oKSwgZXZl
bnQuYnV0dG9ucygpLCBldmVudC5wb3NpdGlvbigpLCBldmVudC5nbG9iYWxQb3NpdGlvbigpLCBl
dmVudC5kZWx0YVgoKSwgZXZlbnQuZGVsdGFZKCksIGV2ZW50LmRlbHRhWigpLCBldmVudC5jbGlj
a0NvdW50KCksIGV2ZW50Lm1vZGlmaWVycygpLCBldmVudC50aW1lc3RhbXAoKSwgMCwgTm9UYXAs
IGV2ZW50LnBvaW50ZXJJZCgpLCBldmVudC5wb2ludGVyVHlwZSgpKQorICAgIDogV2ViTW91c2VF
dmVudChldmVudC50eXBlKCksIGV2ZW50LmJ1dHRvbigpLCBldmVudC5idXR0b25zKCksIGV2ZW50
LnBvc2l0aW9uKCksIGV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIGV2ZW50LmRlbHRhWCgpLCBldmVu
dC5kZWx0YVkoKSwgZXZlbnQuZGVsdGFaKCksIGV2ZW50LmNsaWNrQ291bnQoKSwgZXZlbnQubW9k
aWZpZXJzKCksIGV2ZW50LnRpbWVzdGFtcCgpLCAwLCBOb1RhcCwgZXZlbnQuaXNUb3VjaEV2ZW50
KCksIGV2ZW50LnBvaW50ZXJJZCgpLCBldmVudC5wb2ludGVyVHlwZSgpKQogICAgICwgbV9uYXRp
dmVFdmVudChldmVudC5uYXRpdmVFdmVudCgpID8gZ2RrX2V2ZW50X2NvcHkoY29uc3RfY2FzdDxH
ZGtFdmVudCo+KGV2ZW50Lm5hdGl2ZUV2ZW50KCkpKSA6IG51bGxwdHIpCiB7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3Bw
CmluZGV4IDQ3ZDYzZDk0MDM1N2FhZWQ2NWRmN2IxZTZkYmM2YzJhNmRjMTk5MTAuLjQxMmE4MzVh
NTUyMTk2MTY1ODUxMzUxOWJiZDg1MzE5YTRiNDAxZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC02NSw2ICs2
NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1EaXNwbGF5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUtleWJv
YXJkRXZlbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVudC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUG9pbnRlckV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWZQdHJD
YWlyby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+CkBAIC0xOTMxLDkgKzE5MzIsOSBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVRvdWNoUmVsZWFzZShXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UsIGludCBuUAogICAgIH0KIAogICAgIHVuc2lnbmVkIG1vZGlmaWVy
cyA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF9jdXJyZW50X2V2ZW50X3N0YXRlKEdUS19FVkVO
VF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKLSAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVN
b3VzZUV2ZW50KHdlYlZpZXdCYXNlLCBNb3VzZUV2ZW50VHlwZTo6TW90aW9uLCAwLCAwLCB4LCB5
LCBtb2RpZmllcnMsIG5QcmVzcywgbW91c2VQb2ludGVyRXZlbnRUeXBlKCkpOwotICAgIHdlYmtp
dFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRU
eXBlOjpQcmVzcywgYnV0dG9uLCAwLCB4LCB5LCBtb2RpZmllcnMsIG5QcmVzcywgbW91c2VQb2lu
dGVyRXZlbnRUeXBlKCkpOwotICAgIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZl
bnQod2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlOjpSZWxlYXNlLCBidXR0b24sIGJ1dHRvbnMs
IHgsIHksIG1vZGlmaWVycywgblByZXNzLCBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSk7CisgICAg
d2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VF
dmVudFR5cGU6Ok1vdGlvbiwgMCwgMCwgeCwgeSwgbW9kaWZpZXJzLCBuUHJlc3MsIG1vdXNlUG9p
bnRlckV2ZW50VHlwZSgpLCBQbGF0Zm9ybU1vdXNlRXZlbnQ6OklzVG91Y2g6Olllcyk7CisgICAg
d2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VF
dmVudFR5cGU6OlByZXNzLCBidXR0b24sIDAsIHgsIHksIG1vZGlmaWVycywgblByZXNzLCBtb3Vz
ZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpZZXMpOwor
ICAgIHdlYmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1v
dXNlRXZlbnRUeXBlOjpSZWxlYXNlLCBidXR0b24sIGJ1dHRvbnMsIHgsIHksIG1vZGlmaWVycywg
blByZXNzLCBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1Rv
dWNoOjpZZXMpOwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVRvdWNoRHJhZ0Jl
Z2luKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSwgZ2RvdWJsZSBzdGFydFgsIGdkb3Vi
bGUgc3RhcnRZLCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpAQCAtMTk2OSwxNCArMTk3MCwxNCBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVRvdWNoRHJhZ1VwZGF0ZShXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UsIGRvdQogCiAgICAgICAgIGlmIChwcml2LT5pc0xvbmdQcmVzc2Vk
KSB7CiAgICAgICAgICAgICAvLyBEcmFnIGFmdGVyIGxvbmcgcHJlc3MgZm9yd2FyZHMgZW11bGF0
ZWQgbW91c2UgZXZlbnRzIChmb3IgZS5nLiB0ZXh0IHNlbGVjdGlvbikKLSAgICAgICAgICAgIHdl
YmtpdFdlYlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQod2ViVmlld0Jhc2UsIE1vdXNlRXZl
bnRUeXBlOjpNb3Rpb24sIDAsIDAsIHgsIHksIG1vZGlmaWVycywgMSwgbW91c2VQb2ludGVyRXZl
bnRUeXBlKCkpOwotICAgICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VF
dmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGU6OlByZXNzLCBHREtfQlVUVE9OX1BSSU1B
UlksIDAsIHgsIHksIG1vZGlmaWVycywgMCwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCkpOworICAg
ICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFz
ZSwgTW91c2VFdmVudFR5cGU6Ok1vdGlvbiwgMCwgMCwgeCwgeSwgbW9kaWZpZXJzLCAxLCBtb3Vz
ZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpZZXMpOwor
ICAgICAgICAgICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3
QmFzZSwgTW91c2VFdmVudFR5cGU6OlByZXNzLCBHREtfQlVUVE9OX1BSSU1BUlksIDAsIHgsIHks
IG1vZGlmaWVycywgMCwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCksIFBsYXRmb3JtTW91c2VFdmVu
dDo6SXNUb3VjaDo6WWVzKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICB3ZWJraXRXZWJW
aWV3QmFzZVN5bnRoZXNpemVXaGVlbEV2ZW50KHdlYlZpZXdCYXNlLCBldmVudCwgMCwgMCwgeCwg
eSwgV2hlZWxFdmVudFBoYXNlOjpCZWdhbiwgV2hlZWxFdmVudFBoYXNlOjpOb1BoYXNlLCB0cnVl
KTsKICAgICB9CiAKICAgICBpZiAocHJpdi0+aXNMb25nUHJlc3NlZCkKLSAgICAgICAgd2Via2l0
V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5
cGU6Ok1vdGlvbiwgR0RLX0JVVFRPTl9QUklNQVJZLCBHREtfQlVUVE9OMV9NQVNLLCB4ICsgb2Zm
c2V0WCwgeSArIG9mZnNldFksIG1vZGlmaWVycywgMCwgbW91c2VQb2ludGVyRXZlbnRUeXBlKCkp
OworICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KHdlYlZpZXdC
YXNlLCBNb3VzZUV2ZW50VHlwZTo6TW90aW9uLCBHREtfQlVUVE9OX1BSSU1BUlksIEdES19CVVRU
T04xX01BU0ssIHggKyBvZmZzZXRYLCB5ICsgb2Zmc2V0WSwgbW9kaWZpZXJzLCAwLCBtb3VzZVBv
aW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpZZXMpOwogICAg
IGVsc2UgewogICAgICAgICBkb3VibGUgZGVsdGFYID0gcHJpdi0+ZHJhZ09mZnNldC54KCkgLSBv
ZmZzZXRYOwogICAgICAgICBkb3VibGUgZGVsdGFZID0gcHJpdi0+ZHJhZ09mZnNldC55KCkgLSBv
ZmZzZXRZOwpAQCAtMjAwNSw3ICsyMDA2LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jh
c2VUb3VjaERyYWdFbmQoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlLCBnZG91YmwKICAg
ICAgICAgZG91YmxlIHgsIHk7CiAgICAgICAgIGd0a19nZXN0dXJlX2RyYWdfZ2V0X3N0YXJ0X3Bv
aW50KEdUS19HRVNUVVJFX0RSQUcoZ2VzdHVyZSksICZ4LCAmeSk7CiAgICAgICAgIHVuc2lnbmVk
IG1vZGlmaWVycyA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF9jdXJyZW50X2V2ZW50X3N0YXRl
KEdUS19FVkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKLSAgICAgICAgd2Via2l0V2ViVmlld0Jh
c2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGU6OlJlbGVh
c2UsIEdES19CVVRUT05fUFJJTUFSWSwgR0RLX0JVVFRPTjFfTUFTSywgeCArIG9mZnNldFgsIHkg
KyBvZmZzZXRZLCBtb2RpZmllcnMsIDAsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsKKyAgICAg
ICAgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVudCh3ZWJWaWV3QmFzZSwgTW91
c2VFdmVudFR5cGU6OlJlbGVhc2UsIEdES19CVVRUT05fUFJJTUFSWSwgR0RLX0JVVFRPTjFfTUFT
SywgeCArIG9mZnNldFgsIHkgKyBvZmZzZXRZLCBtb2RpZmllcnMsIDAsIG1vdXNlUG9pbnRlckV2
ZW50VHlwZSgpLCBQbGF0Zm9ybU1vdXNlRXZlbnQ6OklzVG91Y2g6Olllcyk7CiAgICAgfQogfQog
CkBAIC0yNzk3LDcgKzI3OTgsNyBAQCBzdGF0aWMgaW5saW5lIFBvaW50ZXJJRCBwcmltYXJ5UG9p
bnRlckZvclR5cGUoY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKICAgICByZXR1cm4gbW91c2VQ
b2ludGVySUQ7CiB9CiAKLXZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91c2VFdmVu
dChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIE1vdXNlRXZlbnRUeXBlIHR5cGUsIHVu
c2lnbmVkIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgaW50IHgsIGludCB5LCB1bnNp
Z25lZCBtb2RpZmllcnMsIGludCBjbGlja0NvdW50LCBjb25zdCBTdHJpbmcmIHBvaW50ZXJUeXBl
KQordm9pZCB3ZWJraXRXZWJWaWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KFdlYktpdFdlYlZp
ZXdCYXNlKiB3ZWJWaWV3QmFzZSwgTW91c2VFdmVudFR5cGUgdHlwZSwgdW5zaWduZWQgYnV0dG9u
LCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBpbnQgeCwgaW50IHksIHVuc2lnbmVkIG1vZGlmaWVy
cywgaW50IGNsaWNrQ291bnQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIFBsYXRmb3JtTW91
c2VFdmVudDo6SXNUb3VjaCBpc1RvdWNoRXZlbnQpCiB7CiAgICAgV2ViS2l0V2ViVmlld0Jhc2VQ
cml2YXRlKiBwcml2ID0gd2ViVmlld0Jhc2UtPnByaXY7CiAgICAgaWYgKHByaXYtPmRpYWxvZykK
QEAgLTI4ODIsNyArMjg4Myw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplTW91
c2VFdmVudChXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UsIE1vdXNlCiAKICAgICBwcml2
LT5wYWdlUHJveHktPmhhbmRsZU1vdXNlRXZlbnQoTmF0aXZlV2ViTW91c2VFdmVudCh3ZWJFdmVu
dFR5cGUsIHdlYkV2ZW50QnV0dG9uLCB3ZWJFdmVudEJ1dHRvbnMsIHsgeCwgeSB9LAogICAgICAg
ICB3aWRnZXRSb290Q29vcmRzKEdUS19XSURHRVQod2ViVmlld0Jhc2UpLCB4LCB5KSwgY2xpY2tD
b3VudCwgdG9XZWJLaXRNb2RpZmllcnMobW9kaWZpZXJzKSwgbW92ZW1lbnREZWx0YSwKLSAgICAg
ICAgcHJpbWFyeVBvaW50ZXJGb3JUeXBlKHBvaW50ZXJUeXBlKSwgcG9pbnRlclR5cGUuaXNOdWxs
KCkgPyBtb3VzZVBvaW50ZXJFdmVudFR5cGUoKSA6IHBvaW50ZXJUeXBlKSk7CisgICAgICAgIHBy
aW1hcnlQb2ludGVyRm9yVHlwZShwb2ludGVyVHlwZSksIHBvaW50ZXJUeXBlLmlzTnVsbCgpID8g
bW91c2VQb2ludGVyRXZlbnRUeXBlKCkgOiBwb2ludGVyVHlwZSwgaXNUb3VjaEV2ZW50KSk7CiB9
CiAKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTeW50aGVzaXplS2V5RXZlbnQoV2ViS2l0V2ViVmll
d0Jhc2UqIHdlYlZpZXdCYXNlLCBLZXlFdmVudFR5cGUgdHlwZSwgdW5zaWduZWQga2V5dmFsLCB1
bnNpZ25lZCBtb2RpZmllcnMsIFNob3VsZFRyYW5zbGF0ZUtleWJvYXJkU3RhdGUgc2hvdWxkVHJh
bnNsYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3QmFzZUludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlSW50ZXJuYWwuaAppbmRleCBhYTAzNDQxNjIxY2UxODU3Y2ZkNGYz
ZTk0MzI2MjE5OGE0MTNjM2RiLi5jNjE3Nzg3MWM5MjhhOGMwY2YwZjQ4NDhlMGRlYjA5N2YzMThm
Mjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXdCYXNlSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlSW50ZXJuYWwuaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBv
bmNlCiAKICNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0
Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdHlw
ZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdCYXNlIFdlYktpdFdlYlZpZXdCYXNlOwpAQCAtMzcs
NyArMzgsNyBAQCBzdHJ1Y3QgS2V5RXZlbnQgewogfTsKIAogZW51bSBjbGFzcyBNb3VzZUV2ZW50
VHlwZSB7IFByZXNzLCBSZWxlYXNlLCBNb3Rpb24gfTsKLVdLX0VYUE9SVCB2b2lkIHdlYmtpdFdl
YlZpZXdCYXNlU3ludGhlc2l6ZU1vdXNlRXZlbnQoV2ViS2l0V2ViVmlld0Jhc2UqLCBNb3VzZUV2
ZW50VHlwZSB0eXBlLCB1bnNpZ25lZCBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGlu
dCB4LCBpbnQgeSwgdW5zaWduZWQgbW9kaWZpZXJzLCBpbnQgY2xpY2tDb3VudCwgY29uc3QgU3Ry
aW5nJiBwb2ludGVyVHlwZSA9ICJtb3VzZSJfcyk7CitXS19FWFBPUlQgdm9pZCB3ZWJraXRXZWJW
aWV3QmFzZVN5bnRoZXNpemVNb3VzZUV2ZW50KFdlYktpdFdlYlZpZXdCYXNlKiwgTW91c2VFdmVu
dFR5cGUgdHlwZSwgdW5zaWduZWQgYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBpbnQg
eCwgaW50IHksIHVuc2lnbmVkIG1vZGlmaWVycywgaW50IGNsaWNrQ291bnQsIGNvbnN0IFN0cmlu
ZyYgcG9pbnRlclR5cGUgPSAibW91c2UiX3MsIFdlYkNvcmU6OlBsYXRmb3JtTW91c2VFdmVudDo6
SXNUb3VjaCBpc1RvdWNoRXZlbnQgPSBXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OklzVG91
Y2g6Ok5vKTsKIAogZW51bSBjbGFzcyBLZXlFdmVudFR5cGUgeyBQcmVzcywgUmVsZWFzZSwgSW5z
ZXJ0IH07CiBlbnVtIGNsYXNzIFNob3VsZFRyYW5zbGF0ZUtleWJvYXJkU3RhdGUgeyBObywgWWVz
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvUG9pbnRlckxvY2tN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFn
ZXIuY3BwCmluZGV4IGEzMjI1ODlkODM5ODg5NTczMTJjM2E1MTA5ODFkOWNiNjY4MDExNjAuLmNi
ODU4MWQwYWIxMjA1ZWU1ODJjYTU0ZjMyM2I2MDQyZDljMjliY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9Qb2ludGVyTG9ja01hbmFnZXIuY3BwCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiTmF0aXZlV2ViTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIldlYlBh
Z2VQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNwbGF5Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9QbGF0Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BvaW50
ZXJFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUG9pbnRlcklELmg+CiAjaW5jbHVkZSA8Z3Rr
L2d0ay5oPgpAQCAtOTMsNyArOTQsNyBAQCBib29sIFBvaW50ZXJMb2NrTWFuYWdlcjo6dW5sb2Nr
KCkKIAogdm9pZCBQb2ludGVyTG9ja01hbmFnZXI6OmhhbmRsZU1vdGlvbihGbG9hdFNpemUmJiBk
ZWx0YSkKIHsKLSAgICBtX3dlYlBhZ2UuaGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2
ZW50KFdlYkV2ZW50OjpNb3VzZU1vdmUsIG1fYnV0dG9uLCBtX2J1dHRvbnMsIEludFBvaW50KG1f
cG9zaXRpb24pLCBJbnRQb2ludChtX2luaXRpYWxQb2ludCksIDAsIG1fbW9kaWZpZXJzLCBkZWx0
YSwgbW91c2VQb2ludGVySUQsIG1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKSk7CisgICAgbV93ZWJQ
YWdlLmhhbmRsZU1vdXNlRXZlbnQoTmF0aXZlV2ViTW91c2VFdmVudChXZWJFdmVudDo6TW91c2VN
b3ZlLCBtX2J1dHRvbiwgbV9idXR0b25zLCBJbnRQb2ludChtX3Bvc2l0aW9uKSwgSW50UG9pbnQo
bV9pbml0aWFsUG9pbnQpLCAwLCBtX21vZGlmaWVycywgZGVsdGEsIG1vdXNlUG9pbnRlcklELCBt
b3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgUGxhdGZvcm1Nb3VzZUV2ZW50OjpJc1RvdWNoOjpObykp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ZTgwN2ZjYWViMDVjNGUyMmUyOWQwMGQyMTcyZjcz
YTE4MWQ4MWIwLi42MzI2ODZlOWVlOTE3NTg3ODRiYzMyMTMzNWU0NmNkNTJiMzhkZWVmIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMjItMDItMDQgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9y
Zz4KKworICAgICAgICBbR1RLXSBDcmFzaCB3aGVuIHN0YXJ0aW5nIERORCBvbiB0b3VjaHNjcmVl
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1Njk0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQ6IERlZmluZSBCVUlMRElOR19UZXN0V2ViS2l0
CisKIDIwMjItMDEtMjQgIEFsZXhhbmRlciBNaWtoYXlsZW5rbyAgPGFsZXhtQGdub21lLm9yZz4K
IAogICAgICAgICBbR1RLXSBSRUdSRVNTSU9OOiBUb3VjaCBzY3JvbGxpbmcgaXMgYnJva2VuCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL2dsaWIvQ01ha2VMaXN0cy50eHQKaW5kZXggMTU5YzBmYmY1NWE4NTk0
YTQ3OTMyZmJlNDAyMDcyZjllODBmMTA0My4uZmVkMDFmZmFhNjFhYTBiYjlkZDUyYmQzM2FhYWI3
NTQxNjc4NDE2NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL0NNYWtlTGlz
dHMudHh0CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9DTWFrZUxpc3RzLnR4dApAQCAt
MTEwLDYgKzExMCw3IEBAIHNldChXZWJLaXRHTGliQVBJVGVzdHNfREVGSU5JVElPTlMKIGFkZF9s
aWJyYXJ5KFdlYktpdEdMaWJBUElUZXN0c0NvcmUgU1RBVElDICR7V2ViS2l0R0xpYkFQSVRlc3Rz
X1NPVVJDRVN9KQogdGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXMoV2ViS2l0R0xpYkFQSVRlc3Rz
Q29yZSBQVUJMSUMgJHtXZWJLaXRHTGliQVBJVGVzdHNfSU5DTFVERV9ESVJFQ1RPUklFU30pCiB0
YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyhXZWJLaXRHTGliQVBJVGVzdHNDb3JlIFNZU1RFTSBQ
VUJMSUMgJHtXZWJLaXRHTGliQVBJVGVzdHNfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVN9KQor
dGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMoV2ViS2l0R0xpYkFQSVRlc3RzQ29yZSBQUklWQVRF
IEJVSUxESU5HX1Rlc3RXZWJLaXQpCiB0YXJnZXRfY29tcGlsZV9kZWZpbml0aW9ucyhXZWJLaXRH
TGliQVBJVGVzdHNDb3JlIFBVQkxJQyAke1dlYktpdEdMaWJBUElUZXN0c19ERUZJTklUSU9OU30p
CiB0YXJnZXRfbGlua19saWJyYXJpZXMoV2ViS2l0R0xpYkFQSVRlc3RzQ29yZSAke1dlYktpdEdM
aWJBUElUZXN0c0NvcmVfTElCUkFSSUVTfSkKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>