<?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>236144</bug_id>
          
          <creation_ts>2022-02-04 10:10:02 -0800</creation_ts>
          <short_desc>[GTK][WPE] Crash at  WebKit::bindA11y() in WebKitGTK 2.35.2</short_desc>
          <delta_ts>2022-02-08 07:30:24 -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>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Christopher Davis">christopherdavis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alicem</cc>
    
    <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pgriffis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1837484</commentid>
    <comment_count>0</comment_count>
    <who name="Christopher Davis">christopherdavis</who>
    <bug_when>2022-02-04 10:10:02 -0800</bug_when>
    <thetext>This is reproducible with the latest checkout of GNOME OS devel with host epiphany. The app does not launch, crashing with the following backtrace:

Thread 1 &quot;epiphany&quot; received signal SIGSEGV, Segmentation fault.
0x00007ffff70c0735 in __strlen_avx2 () from /usr/lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff70c0735 in __strlen_avx2 ()
    at /usr/lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff3a140e9 in WebKit::bindA11y(WTF::Vector&lt;WTF::CString, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;) ()
    at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#2  0x00007ffff3a130e8 in WebKit::bubblewrapSpawn(_GSubprocessLauncher*, WebKit::ProcessLauncher::LaunchOptions const&amp;, char**, _GError**) ()
    at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#3  0x00007ffff3a15d44 in WebKit::ProcessLauncher::launchProcess() ()
    at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#4  0x00007ffff3885652 in WebKit::AuxiliaryProcessProxy::connect() ()
    at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#5  0x00007ffff391f24d in WebKit::WebProcessProxy::create(WebKit::WebProcessPool&amp;, WebKit::WebsiteDataStore*, WebKit::WebProcessProxy::CaptivePortalMode, WebKit::WebProcessProxy::IsPrewarmed, WebCore::CrossOriginMode, WebKit::WebProcessProxy::ShouldLaunchProcess) () at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#6  0x00007ffff391f295 in WebKit::WebProcessPool::createNewWebProcess(WebKit::WebsiteDataStore*, WebKit::WebProcessProxy::CaptivePortalMode, WebKit::WebProcessProxy::IsPrewarmed, WebCore::CrossOriginMode) ()
    at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#7  0x00007ffff391d0f1 in WebKit::WebProcessPool::processForRegistrableDomain(WebKit::WebsiteDataStore&amp;, WebCore::RegistrableDomain const&amp;, WebKit::WebProcessProxy::CaptivePortalMode) () at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
--Type &lt;RET&gt; for more, q to quit, c to continue without paging--c
#8  0x00007ffff391d325 in WebKit::WebPageProxy::launchProcess(WebCore::RegistrableDomain const&amp;, WebKit::WebPageProxy::ProcessLaunchReason) () at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#9  0x00007ffff3922627 in WebKit::WebPageProxy::loadAlternateHTML(WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt; const&amp;, WTF::String const&amp;, WTF::URL const&amp;, WTF::URL const&amp;, API::Object*) () at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#10 0x00007ffff39c178f in webkit_web_view_load_alternate_html () at /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
#11 0x00007ffff7f719dc in ephy_web_view_set_placeholder () at /usr/lib/x86_64-linux-gnu/epiphany/libephymain.so
#12 0x00007ffff7f2bf1d in session_start_element () at /usr/lib/x86_64-linux-gnu/epiphany/libephymain.so
#13 0x00007ffff72f7b8b in emit_start_element () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff72f8ff3 in g_markup_parse_context_parse () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007ffff7f2d6a8 in load_stream_read_cb () at /usr/lib/x86_64-linux-gnu/epiphany/libephymain.so
#16 0x00007ffff74c61ad in async_ready_callback_wrapper () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#17 0x00007ffff74fee13 in g_task_return_now () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#18 0x00007ffff74fee66 in complete_in_idle_cb () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#19 0x00007ffff72f3c6b in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff72f4178 in g_main_context_iterate.constprop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff72f4244 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ffff753132d in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#23 0x000055555555908f in main ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837485</commentid>
    <comment_count>1</comment_count>
    <who name="Alice Mikhaylenko">alicem</who>
    <bug_when>2022-02-04 10:11:06 -0800</bug_when>
    <thetext>I can reproduce it as well, and speciically only outside flatpak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837493</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-04 10:25:34 -0800</bug_when>
    <thetext>This file hasn&apos;t changed since 2.35.1. Line numbers would help a lot. That said, I guess it&apos;s coming from here:

proxy.setAddress(a11yAddress.get(), DBusAddressType::Abstract);

What happens when you run:

$ gdbus call --session --dest org.a11y.Bus --object-path /org/a11y/bus --method org.a11y.Bus.GetAddress

It must be returning something bogus? Of course, we should still not crash on unexpected data.

(In reply to Alexander Mikhaylenko from comment #1)
&gt; I can reproduce it as well, and speciically only outside flatpak.

This code doesn&apos;t run under flatpak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837498</commentid>
    <comment_count>3</comment_count>
    <who name="Christopher Davis">christopherdavis</who>
    <bug_when>2022-02-04 10:40:52 -0800</bug_when>
    <thetext>I get this:

```
❯ gdbus call --session --dest org.a11y.Bus --object-path /org/a11y/bus --method org.a11y.Bus.GetAddress
(&apos;unix:path=/run/user/1000/at-spi/bus,guid=f7309d02da6d9c749e996c0061fd67a8&apos;,)
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837504</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-04 10:54:55 -0800</bug_when>
    <thetext>Dunno then.

Sadly, I don&apos;t think we have debuginfo for WebKit in GNOME OS, so... hard to do more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838080</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-07 05:21:16 -0800</bug_when>
    <thetext>The problem is that the atspi address is no longer an abstract socket and we are assuming it is. I think atspi can use both now, but I&apos;m now sure what it depends on. I&apos;m not sure why we try to extract the path from the original socket address but the path is not actually used later for the a11y socket. Note that a11y is also broken in 2.34 with ATK when sandbox is enabled, but there&apos;s no crash there. I know how to fix the crash, but not how to make a11y work again with the sandbox enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838103</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-07 06:28:42 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #5)
&gt; The problem is that the atspi address is no longer an abstract socket and we
&gt; are assuming it is. I think atspi can use both now, but I&apos;m now sure what it
&gt; depends on. 

It should always be a filesystem socket now, since https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43.

&gt; I&apos;m not sure why we try to extract the path from the original
&gt; socket address but the path is not actually used later for the a11y socket.
&gt; Note that a11y is also broken in 2.34 with ATK when sandbox is enabled, but
&gt; there&apos;s no crash there. I know how to fix the crash, but not how to make
&gt; a11y work again with the sandbox enabled.

It has *never* worked for me, see bug #227640.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838105</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-07 06:31:59 -0800</bug_when>
    <thetext>Can we change XDGDBusProxyLauncher::dbusAddressToPath to search for both &quot;abstract=&quot; and &quot;path=&quot;, and remove the DBusAddressType parameter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838107</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-07 06:36:10 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #6)
&gt; (In reply to Carlos Garcia Campos from comment #5)
&gt; &gt; The problem is that the atspi address is no longer an abstract socket and we
&gt; &gt; are assuming it is. I think atspi can use both now, but I&apos;m now sure what it
&gt; &gt; depends on. 
&gt; 
&gt; It should always be a filesystem socket now, since
&gt; https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43.

See also https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/master/bus/at-spi-bus-launcher.c#L501

&gt; &gt; I&apos;m not sure why we try to extract the path from the original
&gt; &gt; socket address but the path is not actually used later for the a11y socket.
&gt; &gt; Note that a11y is also broken in 2.34 with ATK when sandbox is enabled, but
&gt; &gt; there&apos;s no crash there. I know how to fix the crash, but not how to make
&gt; &gt; a11y work again with the sandbox enabled.
&gt; 
&gt; It has *never* worked for me, see bug #227640.

It worked for me with both ATK and ATSPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838108</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-07 06:37:44 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #7)
&gt; Can we change XDGDBusProxyLauncher::dbusAddressToPath to search for both
&gt; &quot;abstract=&quot; and &quot;path=&quot;, and remove the DBusAddressType parameter?

I tried that, and it indeed fixes the crash, but a11y is still broken because xdg-dbus-proxy fails to connect to the a11y original bus address for some reason. Note that in the case of a11y we don&apos;t really use the path, even when it&apos;s required to launch the proxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838586</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-08 02:48:49 -0800</bug_when>
    <thetext>Ok, I&apos;ve found the problem. We are exposing the socket to the web process, which is right, but we don&apos;t expose the original socket to the xdg-dbus-proxy and it fails to connect to it, because the path doesn&apos;t exist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838608</commentid>
    <comment_count>11</comment_count>
      <attachid>451234</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-02-08 03:57:15 -0800</bug_when>
    <thetext>Created attachment 451234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838617</commentid>
    <comment_count>12</comment_count>
      <attachid>451234</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2022-02-08 04:29:34 -0800</bug_when>
    <thetext>Comment on attachment 451234
Patch

I also liked it that the patch brings some siplification along with the fix =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838630</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-08 05:47:27 -0800</bug_when>
    <thetext>Committed r289369 (246957@main): &lt;https://commits.webkit.org/246957@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451234.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838652</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2022-02-08 07:30:24 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #10)
&gt; Ok, I&apos;ve found the problem. We are exposing the socket to the web process,
&gt; which is right, but we don&apos;t expose the original socket to the
&gt; xdg-dbus-proxy and it fails to connect to it, because the path doesn&apos;t exist.

Ah, so it&apos;s my fault then. Probably broke in r272882.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451234</attachid>
            <date>2022-02-08 03:57:15 -0800</date>
            <delta_ts>2022-02-08 05:47:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk-a11y-sandbox.diff</filename>
            <type>text/plain</type>
            <size>11121</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggODNmNmNhMTE5Mzc2Li5mM2JiMWQwNWE3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzAgQEAKKzIwMjItMDItMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gQ3Jhc2ggYXQgIFdlYktpdDo6YmluZEExMXko
KSBpbiBXZWJLaXRHVEsgMi4zNS4yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzYxNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBVFNQSSBzdG9wcGVkIHVzaW5nIGFuIGFic3RyYWN0IHNvY2tldCBidXQg
d2UgYXJlIHN0aWxsIGFzc3VtaW5nIHRoZSBhMTF5IGJ1cyBhZGRyZXNzIGlzIGFuIGFic3RyYWN0
IHNvY2tldCwKKyAgICAgICAgZXZlbiB3aGVuIHRoZSBwYXRoIGlzIG5vdCByZWFsbHkgdXNlZCBh
ZnRlciBhbGwuIEhvd2V2ZXIsIGp1c3QgaGFuZGxpbmcgdGhlIGNhc2Ugb2YgdGhlIHNvY2tldCBi
ZWluZyBhIG5vcm1hbAorICAgICAgICB1bml4IHNvY2tldCBpcyBub3QgZW5vdWdoLCBiZWNhdXNl
IHRoZSBhY3R1YWwgc29ja2V0IHBhdGggaXMgbm90IG1vdW50ZWQgaW4gdGhlIHhkZy1kYnVzLXBy
b3h5IHNhbmRib3gsIHNvIGl0CisgICAgICAgIGZhaWxzIHRvIGNvbm5lY3QgdG8gdGhlIG9yaWdp
bmFsIGExMXkgYnVzLgorCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVu
Y2hlci5oOiBSZW5hbWUgZXh0cmFXZWJQcm9jZXNzU2FuZGJveFBhdGhzIGFzIGV4dHJhU2FuZGJv
eFBhdGhzLgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0J1YmJsZXdyYXBMYXVu
Y2hlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlhER0RCdXNQcm94eUxhdW5jaGVyOjpzZXRBZGRy
ZXNzKTogUmVtb3ZlIHRoZSBEQnVzQWRkcmVzc1R5cGUgcGFyYW1ldGVyLiBDaGVjayB0aGUgYWRk
cmVzcyBsb29rcyB2YWxpZAorICAgICAgICBhbmQganVzdCBzdG9yZSB0aGUgcmVzdWx0IG9mIGRi
dXNBZGRyZXNzVG9QYXRoKCkgaW4gbV9wYXRoLgorICAgICAgICAoV2ViS2l0OjpYREdEQnVzUHJv
eHlMYXVuY2hlcjo6bGF1bmNoKTogRG8gbm90IHJlcXVpcmUgbV9wYXRoIHRvIGJlIG5vbi1udWxs
IGFuZCBhZGQgaXQgdG8gdGhlIHNhbmJveC4KKyAgICAgICAgKFdlYktpdDo6WERHREJ1c1Byb3h5
TGF1bmNoZXI6OmRidXNBZGRyZXNzVG9QYXRoKTogT25seSByZXR1cm4gdGhlIHBhdGggZm9yIG5v
cm1hbCB1bml4IHNvY2tldHMuCisgICAgICAgIChXZWJLaXQ6OmJpbmREQnVzU2Vzc2lvbik6IFJl
bW92ZSB0aGUgREJ1c0FkZHJlc3NUeXBlIHBhcmFtZXRlciBwYXNzZWQgdG8gZGJ1c0FkZHJlc3NU
b1BhdGgoKS4KKyAgICAgICAgKFdlYktpdDo6YmluZEExMXkpOiBDaGVjayBwcm94eSBwYXRoIGlz
IG5vdCBudWxsIGJlZm9yZSBzZXR0aW5nIGExMXkgYnVzIGFkZHJlc3MgaW4gZGlzcGxheS4KKyAg
ICAgICAgKFdlYktpdDo6YWRkRXh0cmFQYXRocyk6IEhlbHBlciB0byBhZGQgZXh0cmEgcGF0aHMg
dG8gdGhlIHNhbmRib3guCisgICAgICAgIChXZWJLaXQ6OmJ1YmJsZXdyYXBTcGF3bik6IENhbGwg
YWRkRXh0cmFQYXRocygpIGZvciBXZWJQcm9jZXNzIGFuZCBEQnVzUHJveHkgdHlwZXMuCisgICAg
ICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvRmxhdHBha0xhdW5jaGVyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6ZmxhdHBha1NwYXduKTogVXNlIGV4dHJhU2FuZGJveFBhdGhzLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQcm94eUdMaWIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtR2V0TGF1bmNoT3B0aW9ucyk6IERpdHRvLgor
CiAyMDIyLTAyLTA4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBXZWJEcml2ZXI6IGFkZCBhIGphdmFzY3JpcHQgYXRvbSB0byBnZXQgdGhlIHZp
c2libGUgdGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIv
UHJvY2Vzc0xhdW5jaGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9j
ZXNzTGF1bmNoZXIuaAppbmRleCA3OTQ5ODE3NWZiNDIuLmQxMjU4N2U4ZmUzNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmgKQEAg
LTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAgICAgICBDU3RyaW5nIGN1c3RvbVdlYkNvbnRlbnRT
ZXJ2aWNlQnVuZGxlSWRlbnRpZmllcjsKIAogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
V1BFKQotICAgICAgICBIYXNoTWFwPENTdHJpbmcsIFNhbmRib3hQZXJtaXNzaW9uPiBleHRyYVdl
YlByb2Nlc3NTYW5kYm94UGF0aHM7CisgICAgICAgIEhhc2hNYXA8Q1N0cmluZywgU2FuZGJveFBl
cm1pc3Npb24+IGV4dHJhU2FuZGJveFBhdGhzOwogI2lmIEVOQUJMRShERVZFTE9QRVJfTU9ERSkK
ICAgICAgICAgU3RyaW5nIHByb2Nlc3NDbWRQcmVmaXg7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExhdW5jaGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExhdW5j
aGVyLmNwcAppbmRleCAwZDVkZDRmNjk4NmQuLjA5MmQ2Nzk5ZjFkMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvQnViYmxld3JhcExh
dW5jaGVyLmNwcApAQCAtMTY1LDI0ICsxNjUsMTggQEAgc3RhdGljIGludCBjcmVhdGVGbGF0cGFr
SW5mbygpCiAgICAgcmV0dXJuIGNyZWF0ZVNlYWxlZE1lbUZkV2l0aERhdGEoImZsYXRwYWstaW5m
byIsIGRhdGEtPmdldCgpLCBzaXplKTsKIH0KIAotZW51bSBjbGFzcyBEQnVzQWRkcmVzc1R5cGUg
ewotICAgIE5vcm1hbCwKLSAgICBBYnN0cmFjdCwKLX07Ci0KIGNsYXNzIFhER0RCdXNQcm94eUxh
dW5jaGVyIHsKIHB1YmxpYzoKLSAgICB2b2lkIHNldEFkZHJlc3MoY29uc3QgY2hhciogZGJ1c0Fk
ZHJlc3MsIERCdXNBZGRyZXNzVHlwZSBhZGRyZXNzVHlwZSkKKyAgICB2b2lkIHNldEFkZHJlc3Mo
Y29uc3QgY2hhciogZGJ1c0FkZHJlc3MpCiAgICAgewotICAgICAgICBDU3RyaW5nIGRidXNQYXRo
ID0gZGJ1c0FkZHJlc3NUb1BhdGgoZGJ1c0FkZHJlc3MsIGFkZHJlc3NUeXBlKTsKLSAgICAgICAg
aWYgKGRidXNQYXRoLmlzTnVsbCgpKQorICAgICAgICBpZiAoIWRidXNBZGRyZXNzIHx8ICFnX3N0
cl9oYXNfcHJlZml4KGRidXNBZGRyZXNzLCAidW5peDoiKSkKICAgICAgICAgICAgIHJldHVybjsK
IAogICAgICAgICBHVW5pcXVlUHRyPGNoYXI+IGFwcFJ1bkRpcihnX2J1aWxkX2ZpbGVuYW1lKGdf
Z2V0X3VzZXJfcnVudGltZV9kaXIoKSwgQkFTRV9ESVJFQ1RPUlksIG51bGxwdHIpKTsKICAgICAg
ICAgbV9wcm94eVBhdGggPSBtYWtlUHJveHlQYXRoKGFwcFJ1bkRpci5nZXQoKSk7CiAKICAgICAg
ICAgbV9zb2NrZXQgPSBkYnVzQWRkcmVzczsKLSAgICAgICAgbV9wYXRoID0gV1RGTW92ZShkYnVz
UGF0aCk7CisgICAgICAgIG1fcGF0aCA9IGRidXNBZGRyZXNzVG9QYXRoKGRidXNBZGRyZXNzKTsK
ICAgICB9CiAKICAgICBib29sIGlzUnVubmluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSdW5uaW5n
OyB9OwpAQCAtMTk5LDcgKzE5Myw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIWlzUnVubmluZygpKTsKIAotICAgICAg
ICBpZiAobV9zb2NrZXQuaXNOdWxsKCkgfHwgbV9wYXRoLmlzTnVsbCgpIHx8IG1fcHJveHlQYXRo
LmlzTnVsbCgpKQorICAgICAgICBpZiAobV9zb2NrZXQuaXNOdWxsKCkgfHwgbV9wcm94eVBhdGgu
aXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaW50IHN5bmNGZHNbMl07
CkBAIC0yNjAsNiArMjU0LDggQEAgcHVibGljOgogCiAgICAgICAgIFByb2Nlc3NMYXVuY2hlcjo6
TGF1bmNoT3B0aW9ucyBsYXVuY2hPcHRpb25zOwogICAgICAgICBsYXVuY2hPcHRpb25zLnByb2Nl
c3NUeXBlID0gUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6REJ1c1Byb3h5OworICAgICAg
ICBpZiAoIW1fcGF0aC5pc051bGwoKSkKKyAgICAgICAgICAgIGxhdW5jaE9wdGlvbnMuZXh0cmFT
YW5kYm94UGF0aHMuYWRkKG1fcGF0aCwgU2FuZGJveFBlcm1pc3Npb246OlJlYWRPbmx5KTsKICAg
ICAgICAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gcHJvY2VzcyA9IGJ1YmJsZXdyYXBTcGF3bihsYXVu
Y2hlci5nZXQoKSwgbGF1bmNoT3B0aW9ucywgYXJndiwgJmVycm9yLm91dFB0cigpKTsKICAgICAg
ICAgaWYgKCFwcm9jZXNzLmdldCgpKQogICAgICAgICAgICAgZ19lcnJvcigiRmFpbGVkIHRvIHN0
YXJ0IGRidXMgcHJveHk6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOwpAQCAtMjkyLDMwICsyODgsMjQg
QEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIENTdHJpbmcocHJveHlTb2NrZXRUZW1wbGF0ZS5n
ZXQoKSk7CiAgICAgfTsKIAotICAgIHN0YXRpYyBDU3RyaW5nIGRidXNBZGRyZXNzVG9QYXRoKGNv
bnN0IGNoYXIqIGFkZHJlc3MsIERCdXNBZGRyZXNzVHlwZSBhZGRyZXNzVHlwZSA9IERCdXNBZGRy
ZXNzVHlwZTo6Tm9ybWFsKQorICAgIHN0YXRpYyBDU3RyaW5nIGRidXNBZGRyZXNzVG9QYXRoKGNv
bnN0IGNoYXIqIGFkZHJlc3MpCiAgICAgewotICAgICAgICBpZiAoIWFkZHJlc3MpCi0gICAgICAg
ICAgICByZXR1cm4geyB9OwotCi0gICAgICAgIGlmICghZ19zdHJfaGFzX3ByZWZpeChhZGRyZXNz
LCAidW5peDoiKSkKLSAgICAgICAgICAgIHJldHVybiB7IH07Ci0KLSAgICAgICAgY29uc3QgY2hh
ciogcGF0aCA9IHN0cnN0cihhZGRyZXNzLCBhZGRyZXNzVHlwZSA9PSBEQnVzQWRkcmVzc1R5cGU6
OkFic3RyYWN0ID8gImFic3RyYWN0PSIgOiAicGF0aD0iKTsKKyAgICAgICAgY29uc3QgY2hhciog
cGF0aCA9IHN0cnN0cihhZGRyZXNzLCAicGF0aD0iKTsKICAgICAgICAgaWYgKCFwYXRoKQogICAg
ICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgICAgICBwYXRoICs9IHN0cmxlbihhZGRyZXNzVHlw
ZSA9PSBEQnVzQWRkcmVzc1R5cGU6OkFic3RyYWN0ID8gImFic3RyYWN0PSIgOiAicGF0aD0iKTsK
KyAgICAgICAgcGF0aCArPSBzdHJsZW4oInBhdGg9Iik7CiAgICAgICAgIGNvbnN0IGNoYXIqIHBh
dGhFbmQgPSBwYXRoOwogICAgICAgICB3aGlsZSAoKnBhdGhFbmQgJiYgKnBhdGhFbmQgIT0gJywn
KQogICAgICAgICAgICAgcGF0aEVuZCsrOwogCiAgICAgICAgIHJldHVybiBDU3RyaW5nKHBhdGgs
IHBhdGhFbmQgLSBwYXRoKTsKLX0KKyAgICB9CiAKICAgICBDU3RyaW5nIG1fc29ja2V0OwogICAg
IENTdHJpbmcgbV9wYXRoOwogICAgIENTdHJpbmcgbV9wcm94eVBhdGg7Ci0gICAgYm9vbCBtX2lz
UnVubmluZzsKKyAgICBib29sIG1faXNSdW5uaW5nIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8Q1N0
cmluZz4gbV9wZXJtaXNzaW9uczsKIH07CiAKQEAgLTM0Myw5ICszMzMsOSBAQCBzdGF0aWMgdm9p
ZCBiaW5kSWZFeGlzdHMoVmVjdG9yPENTdHJpbmc+JiBhcmdzLCBjb25zdCBjaGFyKiBwYXRoLCBC
aW5kRmxhZ3MgYmluZAogc3RhdGljIHZvaWQgYmluZERCdXNTZXNzaW9uKFZlY3RvcjxDU3RyaW5n
PiYgYXJncywgWERHREJ1c1Byb3h5TGF1bmNoZXImIHByb3h5KQogewogICAgIGlmICghcHJveHku
aXNSdW5uaW5nKCkpCi0gICAgICAgIHByb3h5LnNldEFkZHJlc3MoZ19nZXRlbnYoIkRCVVNfU0VT
U0lPTl9CVVNfQUREUkVTUyIpLCBEQnVzQWRkcmVzc1R5cGU6Ok5vcm1hbCk7CisgICAgICAgIHBy
b3h5LnNldEFkZHJlc3MoZ19nZXRlbnYoIkRCVVNfU0VTU0lPTl9CVVNfQUREUkVTUyIpKTsKIAot
ICAgIGlmIChwcm94eS5wcm94eVBhdGgoKS5kYXRhKCkpIHsKKyAgICBpZiAoIXByb3h5LnByb3h5
UGF0aCgpLmlzTnVsbCgpICYmICFwcm94eS5wYXRoKCkuaXNOdWxsKCkpIHsKICAgICAgICAgYXJn
cy5hcHBlbmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKICAgICAgICAgICAgICItLWJpbmQiLCBw
cm94eS5wcm94eVBhdGgoKSwgcHJveHkucGF0aCgpLAogICAgICAgICB9KSk7CkBAIC01MTQsOSAr
NTA0LDEwIEBAIHN0YXRpYyB2b2lkIGJpbmRBMTF5KFZlY3RvcjxDU3RyaW5nPiYgYXJncykKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgR1VuaXF1ZU91dFB0cjxjaGFyPiBh
MTF5QWRkcmVzczsKICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfZ2V0KGdfZGJ1c19tZXNzYWdl
X2dldF9ib2R5KHJlcGx5LmdldCgpKSwgIihzKSIsICZhMTF5QWRkcmVzcy5vdXRQdHIoKSk7Ci0g
ICAgICAgICAgICAgICAgcHJveHkuc2V0QWRkcmVzcyhhMTF5QWRkcmVzcy5nZXQoKSwgREJ1c0Fk
ZHJlc3NUeXBlOjpBYnN0cmFjdCk7CisgICAgICAgICAgICAgICAgcHJveHkuc2V0QWRkcmVzcyhh
MTF5QWRkcmVzcy5nZXQoKSk7CiAjaWYgVVNFKEFUU1BJKQotICAgICAgICAgICAgICAgIFBsYXRm
b3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLnNldEFjY2Vzc2liaWxpdHlCdXNBZGRyZXNzKG1h
a2VTdHJpbmcoInVuaXg6cGF0aD0iLCBwcm94eS5wcm94eVBhdGgoKS5kYXRhKCkpKTsKKyAgICAg
ICAgICAgICAgICBpZiAoIXByb3h5LnByb3h5UGF0aCgpLmlzTnVsbCgpKQorICAgICAgICAgICAg
ICAgICAgICBQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKS5zZXRBY2Nlc3NpYmlsaXR5
QnVzQWRkcmVzcyhtYWtlU3RyaW5nKCJ1bml4OnBhdGg9IiwgcHJveHkucHJveHlQYXRoKCkuZGF0
YSgpKSk7CiAjZW5kaWYKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNTM1LDcgKzUyNiw3
IEBAIHN0YXRpYyB2b2lkIGJpbmRBMTF5KFZlY3RvcjxDU3RyaW5nPiYgYXJncykKICAgICAgICAg
cHJveHkubGF1bmNoKCFnX3N0cmNtcDAoZ19nZXRlbnYoIldFQktJVF9FTkFCTEVfQTExWV9EQlVT
X1BST1hZX0xPR0dJTkciKSwgIjEiKSk7CiAgICAgfQogCi0gICAgaWYgKHByb3h5LnByb3h5UGF0
aCgpLmRhdGEoKSkgeworICAgIGlmICghcHJveHkucHJveHlQYXRoKCkuaXNOdWxsKCkpIHsKICAg
ICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBwcm94eUFkZHJlc3MoZ19zdHJkdXBfcHJpbnRmKCJ1bml4
OnBhdGg9JXMiLCBwcm94eS5wcm94eVBhdGgoKS5kYXRhKCkpKTsKICAgICAgICAgYXJncy5hcHBl
bmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKICAgICAgICAgICAgICItLXJvLWJpbmQiLCBwcm94
eS5wcm94eVBhdGgoKSwgcHJveHkucHJveHlQYXRoKCksCkBAIC04MTYsNiArODA3LDE2IEBAIHN0
YXRpYyBib29sIHNob3VsZFVuc2hhcmVOZXR3b3JrKFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5
cGUgcHJvY2Vzc1R5cGUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyB2b2lkIGFkZEV4
dHJhUGF0aHMoY29uc3QgSGFzaE1hcDxDU3RyaW5nLCBTYW5kYm94UGVybWlzc2lvbj4mIHBhdGhz
LCBWZWN0b3I8Q1N0cmluZz4mIGFyZ3MpCit7CisgICAgZm9yIChjb25zdCBhdXRvJiBwYXRoQW5k
UGVybWlzc2lvbiA6IHBhdGhzKSB7CisgICAgICAgIGFyZ3MuYXBwZW5kVmVjdG9yKFZlY3RvcjxD
U3RyaW5nPih7CisgICAgICAgICAgICBwYXRoQW5kUGVybWlzc2lvbi52YWx1ZSA9PSBTYW5kYm94
UGVybWlzc2lvbjo6UmVhZE9ubHkgPyAiLS1yby1iaW5kLXRyeSI6ICItLWJpbmQtdHJ5IiwKKyAg
ICAgICAgICAgIHBhdGhBbmRQZXJtaXNzaW9uLmtleSwgcGF0aEFuZFBlcm1pc3Npb24ua2V5Cisg
ICAgICAgIH0pKTsKKyAgICB9Cit9CisKIEdSZWZQdHI8R1N1YnByb2Nlc3M+IGJ1YmJsZXdyYXBT
cGF3bihHU3VicHJvY2Vzc0xhdW5jaGVyKiBsYXVuY2hlciwgY29uc3QgUHJvY2Vzc0xhdW5jaGVy
OjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zLCBjaGFyKiogYXJndiwgR0Vycm9yICoqZXJy
b3IpCiB7CiAgICAgQVNTRVJUKGxhdW5jaGVyKTsKQEAgLTg4MCw2ICs4ODEsOCBAQCBHUmVmUHRy
PEdTdWJwcm9jZXNzPiBidWJibGV3cmFwU3Bhd24oR1N1YnByb2Nlc3NMYXVuY2hlciogbGF1bmNo
ZXIsIGNvbnN0IFByb2NlcwogICAgICAgICAgICAgLy8gaXMgd2hlcmUgd2UgbW91bnQgb3VyIHBy
b3h5IHNvY2tldC4KICAgICAgICAgICAgICItLWJpbmQiLCBydW5EaXIsIHJ1bkRpciwKICAgICAg
ICAgfSkpOworCisgICAgICAgIGFkZEV4dHJhUGF0aHMobGF1bmNoT3B0aW9ucy5leHRyYVNhbmRi
b3hQYXRocywgc2FuZGJveEFyZ3MpOwogICAgIH0KIAogICAgIGlmIChzaG91bGRVbnNoYXJlTmV0
d29yayhsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlKSkKQEAgLTkyOCwxMiArOTMxLDcgQEAgR1Jl
ZlB0cjxHU3VicHJvY2Vzcz4gYnViYmxld3JhcFNwYXduKEdTdWJwcm9jZXNzTGF1bmNoZXIqIGxh
dW5jaGVyLCBjb25zdCBQcm9jZXMKICAgICAgICAgICAgIGJpbmRYMTEoc2FuZGJveEFyZ3MpOwog
I2VuZGlmCiAKLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBwYXRoQW5kUGVybWlzc2lvbiA6IGxh
dW5jaE9wdGlvbnMuZXh0cmFXZWJQcm9jZXNzU2FuZGJveFBhdGhzKSB7Ci0gICAgICAgICAgICBz
YW5kYm94QXJncy5hcHBlbmRWZWN0b3IoVmVjdG9yPENTdHJpbmc+KHsKLSAgICAgICAgICAgICAg
ICBwYXRoQW5kUGVybWlzc2lvbi52YWx1ZSA9PSBTYW5kYm94UGVybWlzc2lvbjo6UmVhZE9ubHkg
PyAiLS1yby1iaW5kLXRyeSI6ICItLWJpbmQtdHJ5IiwKLSAgICAgICAgICAgICAgICBwYXRoQW5k
UGVybWlzc2lvbi5rZXksIHBhdGhBbmRQZXJtaXNzaW9uLmtleQotICAgICAgICAgICAgfSkpOwot
ICAgICAgICB9CisgICAgICAgIGFkZEV4dHJhUGF0aHMobGF1bmNoT3B0aW9ucy5leHRyYVNhbmRi
b3hQYXRocywgc2FuZGJveEFyZ3MpOwogCiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGV4dHJhUGF0
aHMgPSB7ICJhcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5IiwgIm1lZGlhS2V5c0RpcmVjdG9yeSIs
ICJ3YXlsYW5kU29ja2V0IiwgIndlYlNRTERhdGFiYXNlRGlyZWN0b3J5IiB9OwogICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIHBhdGggOiBleHRyYVBhdGhzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0ZsYXRwYWtMYXVuY2hlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0ZsYXRwYWtMYXVuY2hlci5jcHAKaW5k
ZXggYTc2ODg2NGZmNjdkLi44Y2I3YjIzYzQxZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvRmxhdHBha0xhdW5jaGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0ZsYXRwYWtMYXVuY2hlci5jcHAKQEAgLTU5
LDcgKzU5LDcgQEAgR1JlZlB0cjxHU3VicHJvY2Vzcz4gZmxhdHBha1NwYXduKEdTdWJwcm9jZXNz
TGF1bmNoZXIqIGxhdW5jaGVyLCBjb25zdCBXZWJLaXQ6OlAKICAgICAgICAgICAgICItLXNhbmRi
b3gtZmxhZz1hbGxvdy1kYnVzIiwgLy8gTm90ZSB0aGF0IHRoaXMgb25seSBhbGxvd3MgcG9ydGFs
cyBhbmQgJGFwcGlkLlNhbmRib3guKiBhY2Nlc3MKICAgICAgICAgfSkpOwogCi0gICAgICAgIGZv
ciAoY29uc3QgYXV0byYgcGF0aEFuZFBlcm1pc3Npb24gOiBsYXVuY2hPcHRpb25zLmV4dHJhV2Vi
UHJvY2Vzc1NhbmRib3hQYXRocykgeworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHBhdGhBbmRQ
ZXJtaXNzaW9uIDogbGF1bmNoT3B0aW9ucy5leHRyYVNhbmRib3hQYXRocykgewogICAgICAgICAg
ICAgY29uc3QgY2hhciogZm9ybWF0U3RyaW5nID0gcGF0aEFuZFBlcm1pc3Npb24udmFsdWUgPT0g
U2FuZGJveFBlcm1pc3Npb246OlJlYWRPbmx5ID8gIi0tc2FuZGJveC1leHBvc2UtcGF0aC1ybz0l
cyI6ICItLXNhbmRib3gtZXhwb3NlLXBhdGg9JXMiOwogICAgICAgICAgICAgR1VuaXF1ZVB0cjxn
Y2hhcj4gcGF0aEFyZyhnX3N0cmR1cF9wcmludGYoZm9ybWF0U3RyaW5nLCBwYXRoQW5kUGVybWlz
c2lvbi5rZXkuZGF0YSgpKSk7CiAgICAgICAgICAgICBmbGF0cGFrQXJncy5hcHBlbmQocGF0aEFy
Zy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlBy
b2Nlc3NQcm94eUdMaWIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xpYi9XZWJQcm9j
ZXNzUHJveHlHTGliLmNwcAppbmRleCAyN2YyM2VhMDY1ZGMuLmQ0ZjMyMzIzYzViMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ2xpYi9XZWJQcm9jZXNzUHJveHlHTGliLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9nbGliL1dlYlByb2Nlc3NQcm94eUdMaWIu
Y3BwCkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExh
dW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsCiAgICAgICAgIGxh
dW5jaE9wdGlvbnMuZXh0cmFJbml0aWFsaXphdGlvbkRhdGEuc2V0KCJtZWRpYUtleXNEaXJlY3Rv
cnkiLCBkYXRhU3RvcmUtPnJlc29sdmVkTWVkaWFLZXlzRGlyZWN0b3J5KCkpOwogICAgICAgICBs
YXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLnNldCgiYXBwbGljYXRpb25DYWNo
ZURpcmVjdG9yeSIsIGRhdGFTdG9yZS0+cmVzb2x2ZWRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5
KCkpOwogCi0gICAgICAgIGxhdW5jaE9wdGlvbnMuZXh0cmFXZWJQcm9jZXNzU2FuZGJveFBhdGhz
ID0gbV9wcm9jZXNzUG9vbC0+c2FuZGJveFBhdGhzKCk7CisgICAgICAgIGxhdW5jaE9wdGlvbnMu
ZXh0cmFTYW5kYm94UGF0aHMgPSBtX3Byb2Nlc3NQb29sLT5zYW5kYm94UGF0aHMoKTsKICAgICB9
CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>