<?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>200083</bug_id>
          
          <creation_ts>2019-07-24 09:54:54 -0700</creation_ts>
          <short_desc>REGRESSION (r244995): Assertion failure when addEventListener to an SVGElement which has an. instance in shadow tree</short_desc>
          <delta_ts>2019-07-25 10:56:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1555379</commentid>
    <comment_count>0</comment_count>
      <attachid>374784</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-07-24 09:54:54 -0700</bug_when>
    <thetext>Created attachment 374784
test case

Open the attached test case. The following assertion will fire in debug builds:

0x000000012208cbde in ::WTFCrash()
0x000000010a37a9fb in WTFCrashWithInfo(int, char const*, char const*, int)
0x000000010c3d5df4 in WebCore::JSLazyEventListener::checkValidityForEventTarget(WebCore::EventTarget&amp;)
0x000000010c9bd339 in WebCore::EventTarget::addEventListener(WTF::AtomString const&amp;, WTF::Ref&lt;WebCore::EventListener, WTF::DumbPtrTraits&lt;WebCore::EventListener&gt; &gt;&amp;&amp;, WebCore::EventTarget::AddEventListenerOptions const&amp;)
0x000000010ca2c09d in WebCore::tryAddEventListener(WebCore::Node*, WTF::AtomString const&amp;, WTF::Ref&lt;WebCore::EventListener, WTF::DumbPtrTraits&lt;WebCore::EventListener&gt; &gt;&amp;&amp;, WebCore::EventTarget::AddEventListenerOptions const&amp;)
0x000000010ca2c038 in WebCore::Node::addEventListener(WTF::AtomString const&amp;, WTF::Ref&lt;WebCore::EventListener, WTF::DumbPtrTraits&lt;WebCore::EventListener&gt; &gt;&amp;&amp;, WebCore::EventTarget::AddEventListenerOptions const&amp;)
0x000000010e01f1bf in WebCore::SVGElement::addEventListener(WTF::AtomString const&amp;, WTF::Ref&lt;WebCore::EventListener, WTF::DumbPtrTraits&lt;WebCore::EventListener&gt; &gt;&amp;&amp;, WebCore::EventTarget::AddEventListenerOptions const&amp;)
0x000000010c9bdfb7 in WebCore::EventTarget::setAttributeEventListener(WTF::AtomString const&amp;, WTF::RefPtr&lt;WebCore::EventListener, WTF::DumbPtrTraits&lt;WebCore::EventListener&gt; &gt;&amp;&amp;, WebCore::DOMWrapperWorld&amp;)
0x000000010c975d26 in WebCore::Element::setAttributeEventListener(WTF::AtomString const&amp;, WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;)
0x000000010e01edf5 in WebCore::SVGElement::parseAttribute(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;)
0x000000010e15eea0 in WebCore::SVGGraphicsElement::parseAttribute(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;)
0x000000010e2af04f in WebCore::SVGUseElement::parseAttribute(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;)
0x000000010c9712cd in WebCore::Element::attributeChanged(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;, WTF::AtomString const&amp;, WebCore::Element::AttributeModificationReason)
0x000000010cac1e0c in WebCore::StyledElement::attributeChanged(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;, WTF::AtomString const&amp;, WebCore::Element::AttributeModificationReason)
0x000000010e01fafb in WebCore::SVGElement::attributeChanged(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;, WTF::AtomString const&amp;, WebCore::Element::AttributeModificationReason)
0x000000010c977702 in WebCore::Element::didAddAttribute(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;)
0x000000010c977643 in WebCore::Element::addAttributeInternal(WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;, WebCore::Element::SynchronizationOfLazyAttribute)
0x000000010c970a71 in WebCore::Element::setAttributeInternal(unsigned int, WebCore::QualifiedName const&amp;, WTF::AtomString const&amp;, WebCore::Element::SynchronizationOfLazyAttribute)
0x000000010c970d2e in WebCore::Element::setAttribute(WTF::AtomString const&amp;, WTF::AtomString const&amp;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555400</commentid>
    <comment_count>1</comment_count>
      <attachid>374787</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-07-24 10:26:49 -0700</bug_when>
    <thetext>Created attachment 374787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555401</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-24 10:27:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/53502472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555426</commentid>
    <comment_count>3</comment_count>
      <attachid>374787</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-24 11:06:23 -0700</bug_when>
    <thetext>Comment on attachment 374787
Patch

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

&gt; Source/WebCore/bindings/js/JSLazyEventListener.cpp:89
&gt; +        ASSERT(m_originalNode.get() == &amp;node || !m_originalNode-&gt;isInShadowTree() &amp;&amp; node.isInShadowTree());

This assertion isn’t quite right. We need to restrict it to the shadow tree of SVG use element instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555439</commentid>
    <comment_count>4</comment_count>
      <attachid>374787</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-07-24 11:26:01 -0700</bug_when>
    <thetext>Comment on attachment 374787
Patch

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

&gt;&gt; Source/WebCore/bindings/js/JSLazyEventListener.cpp:89
&gt;&gt; +        ASSERT(m_originalNode.get() == &amp;node || !m_originalNode-&gt;isInShadowTree() &amp;&amp; node.isInShadowTree());
&gt; 
&gt; This assertion isn’t quite right. We need to restrict it to the shadow tree of SVG use element instead.

Why it is not quite right? What is the case that you want to catch and the new assertion is going to hide it? Is there a possibility that you addEventListener() to a node in a shadow tree without having to add the same event listener to its source node? Please explain this case so I can add a test case for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555465</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-24 13:12:18 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #4)
&gt; Comment on attachment 374787 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=374787&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/bindings/js/JSLazyEventListener.cpp:89
&gt; &gt;&gt; +        ASSERT(m_originalNode.get() == &amp;node || !m_originalNode-&gt;isInShadowTree() &amp;&amp; node.isInShadowTree());
&gt; &gt; 
&gt; &gt; This assertion isn’t quite right. We need to restrict it to the shadow tree of SVG use element instead.
&gt; 
&gt; Why it is not quite right? What is the case that you want to catch and the
&gt; new assertion is going to hide it? Is there a possibility that you
&gt; addEventListener() to a node in a shadow tree without having to add the same
&gt; event listener to its source node? Please explain this case so I can add a
&gt; test case for it.

Yes. Note that shadow DOM is a Web exposed API. Anyone can add an event listener anywhere.

SVG use element is a very special case, and we shouldn&apos;t be weakening this assertion for all other event listeners in the shadow tress just for SVG use element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555554</commentid>
    <comment_count>6</comment_count>
      <attachid>374827</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-07-24 16:25:42 -0700</bug_when>
    <thetext>Created attachment 374827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555560</commentid>
    <comment_count>7</comment_count>
      <attachid>374827</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-07-24 16:35:03 -0700</bug_when>
    <thetext>Comment on attachment 374827
Patch

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

&gt; Source/WebCore/bindings/js/JSLazyEventListener.cpp:98
&gt; +    if (is&lt;SVGElement&gt;(node)) {
&gt; +        auto&amp; element = downcast&lt;SVGElement&gt;(node);
&gt; +
&gt; +        if (element.correspondingElement()) {

We shouldn&apos;t be running this code in release builds when the assertion is disabled.
I suggest we wrap this into an inline helper function instead.
e.g. isCloneInShadowTreeOfSVGUseElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555586</commentid>
    <comment_count>8</comment_count>
      <attachid>374837</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-07-24 17:18:39 -0700</bug_when>
    <thetext>Created attachment 374837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555839</commentid>
    <comment_count>9</comment_count>
      <attachid>374837</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-25 10:56:52 -0700</bug_when>
    <thetext>Comment on attachment 374837
Patch

Clearing flags on attachment: 374837

Committed r247826: &lt;https://trac.webkit.org/changeset/247826&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555840</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-25 10:56:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>374784</attachid>
            <date>2019-07-24 09:54:54 -0700</date>
            <delta_ts>2019-07-24 09:54:54 -0700</delta_ts>
            <desc>test case</desc>
            <filename>add-event-listener-shadow-tree-element.html</filename>
            <type>text/html</type>
            <size>540</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5IG9ubG9hZD10ZXN0KCk+CiAgIDxzdmc+CiAgICAgICAgPGRlZj4KICAgICAg
ICAgICAgPHJlY3QgaWQ9InJlY3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJyZWQi
Lz4KICAgICAgICA8L2RlZj4KICAgICAgICA8dXNlIGlkPSJ1c2UxIiB3aWR0aD0iMTAwIiBoZWln
aHQ9IjEwMCIgeGxpbms6aHJlZj0iI3JlY3QiLz4KICAgICAgICA8dXNlIGlkPSJ1c2UyIiB3aWR0
aD0iMTAwIiBoZWlnaHQ9IjEwMCIgeGxpbms6aHJlZj0iI3VzZTEiLz4KICAgIDwvc3ZnPgogICAg
PHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBldmVudGhhbmRsZXIoKSB7CiAgICAgICAgICAgIHJl
Y3Quc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7CiAgICAgICAgfQogICAgICAgIGZ1bmN0
aW9uIHRlc3QoKSB7CiAgICAgICAgICAgIHVzZTEuc2V0QXR0cmlidXRlKCJvbmZvY3VzaW4iLCAi
ZXZlbnRoYW5kbGVyKCkiKTsKICAgICAgICAgICAgdXNlMS5mb2N1cygpOwogICAgICAgIH0KICAg
IDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374787</attachid>
            <date>2019-07-24 10:26:49 -0700</date>
            <delta_ts>2019-07-24 16:25:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200083-20190724102648.patch</filename>
            <type>text/plain</type>
            <size>4495</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTdjNThhN2M3NjY5MTRh
MzllNGY5MjE0YTlkMjM1MGJiOTgyYTk4Yi4uMTM3ODA4YjEwNGIwNmY5ZmI3ZDYwNzhkMTc4OTA3
MTQ4MWIwNjI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA3LTI0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVT
U0lPTiAocjI0NDk5NSk6IEFzc2VydGlvbiBmYWlsdXJlIHdoZW4gYWRkRXZlbnRMaXN0ZW5lciB0
byBhbiBTVkdFbGVtZW50IHdoaWNoIGhhcyBhbi4gaW5zdGFuY2UgaW4gc2hhZG93IHRyZWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA4MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5n
IGFuIGV2ZW50IGxpc3RlbmVyIHRvIGFuIFNWR0VsZW1lbnQsIHRoZSBzYW1lIGV2ZW50IGxpc3Rl
bmVyCisgICAgICAgIGhhcyB0byBiZSBhZGQgdG8gYWxsIHRoZSBpbnN0YW5jZXMgb2YgU1ZHRWxl
bWVudCBpbiB0aGUgc2hhZG93IHRyZWUuIFNlZQorICAgICAgICBTVkdFbGVtZW50OjphZGRFdmVu
dExpc3RlbmVyKCkuCisKKyAgICAgICAgSW4gcjI0NDk5NSwgYW4gYXNzZXJ0aW9uIHdhcyBhZGRl
ZCB0byBlbnN1cmUgaWYgdGhlIGV2ZW50IGxpc3RlbmVyIGlzCisgICAgICAgIGF0dGFjaGVkIHRv
IGFuIGV2ZW50IHRhcmdldCwgdGhlIG5ldyBldmVudCB0YXJnZXQgaGFzIGJlIHRoZSBzYW1lIGFz
IHRoZQorICAgICAgICBhdHRhY2hlZCBvbmUuIFRoaXMgYXNzZXJ0aW9uIGlzIGNvcnJlY3QgZm9y
IGFsbCBldmVudCB0YXJnZXRzIHdoaWNoIGFyZQorICAgICAgICBub3QgaW4gdGhlIHNoYWRvdyB0
cmVlLgorCisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vYWRkLWV2ZW50LWxpc3RlbmVyLXNoYWRv
dy10cmVlLWVsZW1lbnQuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNMYXp5RXZlbnRM
aXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0xhenlFdmVudExpc3RlbmVyOjpjaGVj
a1ZhbGlkaXR5Rm9yRXZlbnRUYXJnZXQpOgorCiAyMDE5LTA3LTIzICBKdXN0aW4gRmFuICA8anVz
dGluX2ZhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gSW1wbGVtZW50IGVycm9ycyBm
b3IgR1BVUmVuZGVyUGlwZWxpbmUgY3JlYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAKaW5kZXggMmQ3NGYyOWUyNmE1NDE1MTdi
YWFkYTNkNmQ3MjFjYWQwMWZkZmU1Ny4uZTkwZWEwMjNiODA0MjlmZTFhYmM4ZTUwOGVlNDljOGZl
ZmU3YjA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZl
bnRMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZl
bnRMaXN0ZW5lci5jcHAKQEAgLTg1LDcgKzg1LDggQEAgdm9pZCBKU0xhenlFdmVudExpc3RlbmVy
OjpjaGVja1ZhbGlkaXR5Rm9yRXZlbnRUYXJnZXQoRXZlbnRUYXJnZXQmIGV2ZW50VGFyZ2V0KQog
ewogICAgIGlmIChldmVudFRhcmdldC5pc05vZGUoKSkgewogICAgICAgICBBU1NFUlQobV9vcmln
aW5hbE5vZGUpOwotICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8RXZlbnRUYXJnZXQqPihtX29y
aWdpbmFsTm9kZS5nZXQoKSkgPT0gJmV2ZW50VGFyZ2V0KTsKKyAgICAgICAgYXV0byYgbm9kZSA9
IGRvd25jYXN0PE5vZGU+KGV2ZW50VGFyZ2V0KTsKKyAgICAgICAgQVNTRVJUKG1fb3JpZ2luYWxO
b2RlLmdldCgpID09ICZub2RlIHx8ICFtX29yaWdpbmFsTm9kZS0+aXNJblNoYWRvd1RyZWUoKSAm
JiBub2RlLmlzSW5TaGFkb3dUcmVlKCkpOwogICAgIH0gZWxzZQogICAgICAgICBBU1NFUlQoIW1f
b3JpZ2luYWxOb2RlKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkZTA2N2Q1N2VmMjM1ZWExZDljYzRkNTQyYmY5MWMy
OTJjYjM0NGFiLi4zN2FlNzkzMDRkMGFhZDg5YWY5ODZmNjFlMzI3YmY2ZTk1N2NhNDdhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMjQgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3Vo
YWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjQ0OTk1KTogQXNzZXJ0
aW9uIGZhaWx1cmUgd2hlbiBhZGRFdmVudExpc3RlbmVyIHRvIGFuIFNWR0VsZW1lbnQgd2hpY2gg
aGFzIGFuLiBpbnN0YW5jZSBpbiBzaGFkb3cgdHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1z
aGFkb3ctdHJlZS1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1
c3RvbS9hZGQtZXZlbnQtbGlzdGVuZXItc2hhZG93LXRyZWUtZWxlbWVudC5odG1sOiBBZGRlZC4K
KwogMjAxOS0wNy0yMyAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtXZWJHUFVdIEltcGxlbWVudCBlcnJvcnMgZm9yIEdQVVJlbmRlclBpcGVsaW5lIGNyZWF0
aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5l
ci1zaGFkb3ctdHJlZS1lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0
b20vYWRkLWV2ZW50LWxpc3RlbmVyLXNoYWRvdy10cmVlLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJmZjljNzgzODljN2UwODFlYTQzNmJmNzNlYTY1YTdhMTQzODM3ZGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1z
aGFkb3ctdHJlZS1lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1BBU1MgaWYg
aXQgZG9lc24ndCBhc3NlcnQgaW4gZGVidWcgYnVpbGRzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1zaGFkb3ctdHJlZS1lbGVtZW50Lmh0
bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1zaGFkb3ctdHJl
ZS1lbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZmZGM5MTRjMjc2ZWNkNTk0NzRjMTMwMGMwODQ5
ZDI4ZGMxNmIzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vYWRk
LWV2ZW50LWxpc3RlbmVyLXNoYWRvdy10cmVlLWVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDI3IEBA
Cis8aHRtbD4KKzxib2R5IG9ubG9hZD10ZXN0KCk+CisgICA8c3ZnPgorICAgICAgICA8ZGVmPgor
ICAgICAgICAgICAgPHJlY3QgaWQ9InJlY3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxs
PSJyZWQiLz4KKyAgICAgICAgPC9kZWY+CisgICAgICAgIDx1c2UgaWQ9InVzZTEiIGhyZWY9IiNy
ZWN0Ii8+CisgICAgICAgIDx1c2UgaWQ9InVzZTIiIGhyZWY9IiN1c2UxIi8+CisgICAgICAgIDx0
ZXh0IHk9IjEyMCI+UEFTUyBpZiBpdCBkb2Vzbid0IGFzc2VydCBpbiBkZWJ1ZyBidWlsZHMuPC90
ZXh0PgorICAgIDwvc3ZnPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGV2ZW50aGFu
ZGxlcigpIHsKKyAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgp
IHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdXNlMS5zZXRBdHRyaWJ1
dGUoIm9uZm9jdXNpbiIsICJldmVudGhhbmRsZXIoKSIpOworICAgICAgICAgICAgdXNlMS5mb2N1
cygpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374827</attachid>
            <date>2019-07-24 16:25:42 -0700</date>
            <delta_ts>2019-07-24 17:18:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200083-20190724162542.patch</filename>
            <type>text/plain</type>
            <size>5329</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0Nzc5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA3LTI0ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjI0NDk5NSk6IEFzc2VydGlvbiBmYWlsdXJlIHdoZW4gYWRkRXZlbnRMaXN0ZW5lciB0byBh
biBTVkdFbGVtZW50IHdoaWNoIGhhcyBhbi4gaW5zdGFuY2UgaW4gc2hhZG93IHRyZWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYWRkaW5nIGFu
IGV2ZW50IGxpc3RlbmVyIHRvIGFuIFNWR0VsZW1lbnQsIHRoZSBzYW1lIGV2ZW50IGxpc3RlbmVy
CisgICAgICAgIGhhcyB0byBiZSBhZGQgdG8gYWxsIHRoZSBpbnN0YW5jZXMgb2YgU1ZHRWxlbWVu
dCBpbiB0aGUgc2hhZG93IHRyZWUuIFNlZQorICAgICAgICBTVkdFbGVtZW50OjphZGRFdmVudExp
c3RlbmVyKCkuCisKKyAgICAgICAgSW4gcjI0NDk5NSwgYW4gYXNzZXJ0aW9uIHdhcyBhZGRlZCB0
byBlbnN1cmUgaWYgdGhlIGV2ZW50IGxpc3RlbmVyIGlzCisgICAgICAgIGF0dGFjaGVkIHRvIGFu
IGV2ZW50IHRhcmdldCwgdGhlIG5ldyBldmVudCB0YXJnZXQgaGFzIGJlIHRoZSBzYW1lIGFzIHRo
ZQorICAgICAgICBhdHRhY2hlZCBvbmUuIFRoaXMgYXNzZXJ0aW9uIGlzbid0IGNvcnJlY3QgZm9y
IHRoZSBldmVudCB0YXJnZXRzIHdoaWNoIAorICAgICAgICB3ZXJlIGNvcGllZCBmcm9tIHRoZSB0
YXJnZXRFbGVtZW50IHN1YiB0cmVlIG9mIGFuIFNWR1VzZUVsZW1lbnQgdG8gdGhlCisgICAgICAg
IHNoYWRvdyB0cmVlLgorCisgICAgICAgIFRlc3Q6IHN2Zy9jdXN0b20vYWRkLWV2ZW50LWxpc3Rl
bmVyLXNoYWRvdy10cmVlLWVsZW1lbnQuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNM
YXp5RXZlbnRMaXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0xhenlFdmVudExpc3Rl
bmVyOjpjaGVja1ZhbGlkaXR5Rm9yRXZlbnRUYXJnZXQpOgorCiAyMDE5LTA3LTI0ICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcmlu
dCB0aGUgdGFyZ2V0IG9mIGBjb25zb2xlLnNjcmVlbnNob3RgIGxhc3Qgc28gdGhlIHRhcmdldCBp
cyB0aGUgY2xvc2VzdCBpdGVtIHRvIHRoZSBpbWFnZQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAJKHJldmlzaW9uIDI0Nzc5
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTGF6eUV2ZW50TGlzdGVuZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCisjaW5jbHVkZSAi
U1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9DYXRjaFNjb3BlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRnVu
Y3Rpb25Db25zdHJ1Y3Rvci5oPgpAQCAtODMsMTEgKzg0LDI3IEBAIEpTTGF6eUV2ZW50TGlzdGVu
ZXI6OkpTTGF6eUV2ZW50TGlzdGVuZXIKIC8vIFRoaXMgaXMgdG8gaGVscCBmaW5kIHRoZSB1bmRl
cmx5aW5nIGNhdXNlIG9mIDxyZGFyOi8vcHJvYmxlbS8yNDMxNDAyNz4uCiB2b2lkIEpTTGF6eUV2
ZW50TGlzdGVuZXI6OmNoZWNrVmFsaWRpdHlGb3JFdmVudFRhcmdldChFdmVudFRhcmdldCYgZXZl
bnRUYXJnZXQpCiB7Ci0gICAgaWYgKGV2ZW50VGFyZ2V0LmlzTm9kZSgpKSB7Ci0gICAgICAgIEFT
U0VSVChtX29yaWdpbmFsTm9kZSk7Ci0gICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxFdmVudFRh
cmdldCo+KG1fb3JpZ2luYWxOb2RlLmdldCgpKSA9PSAmZXZlbnRUYXJnZXQpOwotICAgIH0gZWxz
ZQorICAgIGlmICghZXZlbnRUYXJnZXQuaXNOb2RlKCkpIHsKICAgICAgICAgQVNTRVJUKCFtX29y
aWdpbmFsTm9kZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlQobV9vcmln
aW5hbE5vZGUpOworCisgICAgYXV0byYgbm9kZSA9IGRvd25jYXN0PE5vZGU+KGV2ZW50VGFyZ2V0
KTsKKyAgICBpZiAoaXM8U1ZHRWxlbWVudD4obm9kZSkpIHsKKyAgICAgICAgYXV0byYgZWxlbWVu
dCA9IGRvd25jYXN0PFNWR0VsZW1lbnQ+KG5vZGUpOworCisgICAgICAgIGlmIChlbGVtZW50LmNv
cnJlc3BvbmRpbmdFbGVtZW50KCkpIHsKKyAgICAgICAgICAgIC8vIFRoZSBlbGVtZW50IHdhcyBj
b3BpZWQgZnJvbSB0aGUgdGFyZ2V0RWxlbWVudCBzdWIgdHJlZSBvZiBhbiBTVkdVc2VFbGVtZW50
LgorICAgICAgICAgICAgQVNTRVJUKGlzPFNWR0VsZW1lbnQ+KG1fb3JpZ2luYWxOb2RlLmdldCgp
KSk7CisgICAgICAgICAgICBBU1NFUlQoIW1fb3JpZ2luYWxOb2RlLT5pc0luU2hhZG93VHJlZSgp
ICYmIGVsZW1lbnQuaXNJblNoYWRvd1RyZWUoKSk7CisgICAgICAgICAgICBBU1NFUlQobV9vcmln
aW5hbE5vZGUuZ2V0KCkgPT0gZWxlbWVudC5jb3JyZXNwb25kaW5nRWxlbWVudCgpKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIEFTU0VSVChtX29yaWdpbmFs
Tm9kZS5nZXQoKSA9PSAmZXZlbnRUYXJnZXQpOwogfQogI2VuZGlmCiAKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI0Nzc5MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDE5LTA3LTI0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3
YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI0NDk5NSk6IEFzc2VydGlvbiBm
YWlsdXJlIHdoZW4gYWRkRXZlbnRMaXN0ZW5lciB0byBhbiBTVkdFbGVtZW50IHdoaWNoIGhhcyBh
bi4gaW5zdGFuY2UgaW4gc2hhZG93IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMDA4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3ZnL2N1c3RvbS9hZGQtZXZlbnQtbGlzdGVuZXItc2hhZG93
LXRyZWUtZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20v
YWRkLWV2ZW50LWxpc3RlbmVyLXNoYWRvdy10cmVlLWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIw
MTktMDctMjQgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHByaW50IHRoZSB0YXJnZXQgb2YgYGNvbnNvbGUuc2NyZWVuc2hvdGAgbGFz
dCBzbyB0aGUgdGFyZ2V0IGlzIHRoZSBjbG9zZXN0IGl0ZW0gdG8gdGhlIGltYWdlCkluZGV4OiBM
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1zaGFkb3ctdHJlZS1lbGVt
ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Fk
ZC1ldmVudC1saXN0ZW5lci1zaGFkb3ctdHJlZS1lbGVtZW50LWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1zaGFk
b3ctdHJlZS1lbGVtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIg
QEAKK1BBU1MgaWYgaXQgZG9lc24ndCBhc3NlcnQgaW4gZGVidWcgYnVpbGRzLgorCkluZGV4OiBM
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1zaGFkb3ctdHJlZS1lbGVt
ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9hZGQtZXZlbnQt
bGlzdGVuZXItc2hhZG93LXRyZWUtZWxlbWVudC5odG1sCShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL3N2Zy9jdXN0b20vYWRkLWV2ZW50LWxpc3RlbmVyLXNoYWRvdy10cmVlLWVsZW1lbnQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBACis8aHRtbD4KKzxib2R5IG9ubG9h
ZD10ZXN0KCk+CisgICA8c3ZnPgorICAgICAgICA8ZGVmPgorICAgICAgICAgICAgPHJlY3QgaWQ9
InJlY3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJyZWQiLz4KKyAgICAgICAgPC9k
ZWY+CisgICAgICAgIDx1c2UgaWQ9InVzZTEiIGhyZWY9IiNyZWN0Ii8+CisgICAgICAgIDx1c2Ug
aWQ9InVzZTIiIGhyZWY9IiN1c2UxIi8+CisgICAgICAgIDx0ZXh0IHk9IjEyMCI+UEFTUyBpZiBp
dCBkb2Vzbid0IGFzc2VydCBpbiBkZWJ1ZyBidWlsZHMuPC90ZXh0PgorICAgIDwvc3ZnPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGV2ZW50aGFuZGxlcigpIHsKKyAgICAgICAgICAg
IHJlY3Quc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgdXNlMS5zZXRBdHRyaWJ1dGUoIm9uZm9jdXNpbiIsICJldmVu
dGhhbmRsZXIoKSIpOworICAgICAgICAgICAgdXNlMS5mb2N1cygpOworICAgICAgICB9CisgICAg
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374837</attachid>
            <date>2019-07-24 17:18:39 -0700</date>
            <delta_ts>2019-07-25 10:56:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200083-20190724171838.patch</filename>
            <type>text/plain</type>
            <size>5293</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0NzgwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE5LTA3LTI0ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjI0NDk5NSk6IEFzc2VydGlvbiBmYWlsdXJlIHdoZW4gYWRkRXZlbnRMaXN0ZW5lciB0byBh
biBTVkdFbGVtZW50IHdoaWNoIGhhcyBhbi4gaW5zdGFuY2UgaW4gc2hhZG93IHRyZWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBXaGVuIGFkZGluZyBhbiBl
dmVudCBsaXN0ZW5lciB0byBhbiBTVkdFbGVtZW50LCB0aGUgc2FtZSBldmVudCBsaXN0ZW5lcgor
ICAgICAgICBoYXMgdG8gYmUgYWRkIHRvIGFsbCB0aGUgaW5zdGFuY2VzIG9mIFNWR0VsZW1lbnQg
aW4gdGhlIHNoYWRvdyB0cmVlLiBTZWUKKyAgICAgICAgU1ZHRWxlbWVudDo6YWRkRXZlbnRMaXN0
ZW5lcigpLgorCisgICAgICAgIEluIHIyNDQ5OTUsIGFuIGFzc2VydGlvbiB3YXMgYWRkZWQgdG8g
ZW5zdXJlIGlmIHRoZSBldmVudCBsaXN0ZW5lciBpcworICAgICAgICBhdHRhY2hlZCB0byBhbiBl
dmVudCB0YXJnZXQsIHRoZSBuZXcgZXZlbnQgdGFyZ2V0IGhhcyBiZSB0aGUgc2FtZSBhcyB0aGUK
KyAgICAgICAgYXR0YWNoZWQgb25lLiBUaGlzIGFzc2VydGlvbiBpc24ndCBjb3JyZWN0IGZvciB0
aGUgZXZlbnQgdGFyZ2V0cyB3aGljaCAKKyAgICAgICAgd2VyZSBjb3BpZWQgZnJvbSB0aGUgdGFy
Z2V0RWxlbWVudCBzdWIgdHJlZSBvZiBhbiBTVkdVc2VFbGVtZW50IHRvIHRoZQorICAgICAgICBz
aGFkb3cgdHJlZS4KKworICAgICAgICBUZXN0OiBzdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5l
ci1zaGFkb3ctdHJlZS1lbGVtZW50Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTGF6
eUV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNDbG9uZUluU2hhZG93VHJl
ZU9mU1ZHVXNlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpKU0xhenlFdmVudExpc3RlbmVy
OjpjaGVja1ZhbGlkaXR5Rm9yRXZlbnRUYXJnZXQpOgorCiAyMDE5LTA3LTI0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgTWVkaWFQbGF5ZXJQcml2
YXRlOjpzdXBwb3J0c011dGluZygpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0xhenlFdmVudExpc3RlbmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0xhenlFdmVudExpc3RlbmVyLmNwcAkocmV2aXNpb24gMjQ3NzkxKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNMYXp5RXZlbnRMaXN0ZW5lci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpT
Tm9kZS5oIgogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKKyNpbmNsdWRlICJTVkdFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0NhdGNoU2NvcGUuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GdW5jdGlvbkNvbnN0
cnVjdG9yLmg+CkBAIC04MCwxMiArODEsMjkgQEAgSlNMYXp5RXZlbnRMaXN0ZW5lcjo6SlNMYXp5
RXZlbnRMaXN0ZW5lcgogfQogCiAjaWYgIUFTU0VSVF9ESVNBQkxFRAorc3RhdGljIGlubGluZSBi
b29sIGlzQ2xvbmVJblNoYWRvd1RyZWVPZlNWR1VzZUVsZW1lbnQoTm9kZSYgb3JpZ2luYWxOb2Rl
LCBFdmVudFRhcmdldCYgZXZlbnRUYXJnZXQpCit7CisgICAgaWYgKCFldmVudFRhcmdldC5pc05v
ZGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byYgbm9kZSA9IGRvd25jYXN0
PE5vZGU+KGV2ZW50VGFyZ2V0KTsKKyAgICBpZiAoIWlzPFNWR0VsZW1lbnQ+KG5vZGUpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhdXRvJiBlbGVtZW50ID0gZG93bmNhc3Q8U1ZHRWxl
bWVudD4obm9kZSk7CisgICAgaWYgKCFlbGVtZW50LmNvcnJlc3BvbmRpbmdFbGVtZW50KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEFTU0VSVChlbGVtZW50LmlzSW5TaGFkb3dUcmVl
KCkpOworICAgIHJldHVybiAmb3JpZ2luYWxOb2RlID09IGVsZW1lbnQuY29ycmVzcG9uZGluZ0Vs
ZW1lbnQoKTsKK30KKwogLy8gVGhpcyBpcyB0byBoZWxwIGZpbmQgdGhlIHVuZGVybHlpbmcgY2F1
c2Ugb2YgPHJkYXI6Ly9wcm9ibGVtLzI0MzE0MDI3Pi4KIHZvaWQgSlNMYXp5RXZlbnRMaXN0ZW5l
cjo6Y2hlY2tWYWxpZGl0eUZvckV2ZW50VGFyZ2V0KEV2ZW50VGFyZ2V0JiBldmVudFRhcmdldCkK
IHsKICAgICBpZiAoZXZlbnRUYXJnZXQuaXNOb2RlKCkpIHsKICAgICAgICAgQVNTRVJUKG1fb3Jp
Z2luYWxOb2RlKTsKLSAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PEV2ZW50VGFyZ2V0Kj4obV9v
cmlnaW5hbE5vZGUuZ2V0KCkpID09ICZldmVudFRhcmdldCk7CisgICAgICAgIEFTU0VSVChzdGF0
aWNfY2FzdDxFdmVudFRhcmdldCo+KG1fb3JpZ2luYWxOb2RlLmdldCgpKSA9PSAmZXZlbnRUYXJn
ZXQgfHwgaXNDbG9uZUluU2hhZG93VHJlZU9mU1ZHVXNlRWxlbWVudCgqbV9vcmlnaW5hbE5vZGUs
IGV2ZW50VGFyZ2V0KSk7CiAgICAgfSBlbHNlCiAgICAgICAgIEFTU0VSVCghbV9vcmlnaW5hbE5v
ZGUpOwogfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQ3NzkxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMjQgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9O
IChyMjQ0OTk1KTogQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBhZGRFdmVudExpc3RlbmVyIHRvIGFu
IFNWR0VsZW1lbnQgd2hpY2ggaGFzIGFuLiBpbnN0YW5jZSBpbiBzaGFkb3cgdHJlZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAwMDgzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogc3ZnL2N1c3RvbS9hZGQt
ZXZlbnQtbGlzdGVuZXItc2hhZG93LXRyZWUtZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9jdXN0b20vYWRkLWV2ZW50LWxpc3RlbmVyLXNoYWRvdy10cmVlLWVsZW1l
bnQuaHRtbDogQWRkZWQuCisKIDIwMTktMDctMjQgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByaW50IHRoZSB0YXJnZXQgb2YgYGNv
bnNvbGUuc2NyZWVuc2hvdGAgbGFzdCBzbyB0aGUgdGFyZ2V0IGlzIHRoZSBjbG9zZXN0IGl0ZW0g
dG8gdGhlIGltYWdlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0
ZW5lci1zaGFkb3ctdHJlZS1lbGVtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0ZW5lci1zaGFkb3ctdHJlZS1lbGVtZW50
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Fk
ZC1ldmVudC1saXN0ZW5lci1zaGFkb3ctdHJlZS1lbGVtZW50LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDIgQEAKK1BBU1MgaWYgaXQgZG9lc24ndCBhc3NlcnQgaW4gZGVi
dWcgYnVpbGRzLgorCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2FkZC1ldmVudC1saXN0
ZW5lci1zaGFkb3ctdHJlZS1lbGVtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS9hZGQtZXZlbnQtbGlzdGVuZXItc2hhZG93LXRyZWUtZWxlbWVudC5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vYWRkLWV2ZW50LWxpc3RlbmVy
LXNoYWRvdy10cmVlLWVsZW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI3IEBA
Cis8aHRtbD4KKzxib2R5IG9ubG9hZD10ZXN0KCk+CisgICA8c3ZnPgorICAgICAgICA8ZGVmPgor
ICAgICAgICAgICAgPHJlY3QgaWQ9InJlY3QiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxs
PSJyZWQiLz4KKyAgICAgICAgPC9kZWY+CisgICAgICAgIDx1c2UgaWQ9InVzZTEiIGhyZWY9IiNy
ZWN0Ii8+CisgICAgICAgIDx1c2UgaWQ9InVzZTIiIGhyZWY9IiN1c2UxIi8+CisgICAgICAgIDx0
ZXh0IHk9IjEyMCI+UEFTUyBpZiBpdCBkb2Vzbid0IGFzc2VydCBpbiBkZWJ1ZyBidWlsZHMuPC90
ZXh0PgorICAgIDwvc3ZnPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIGV2ZW50aGFu
ZGxlcigpIHsKKyAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgp
IHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdXNlMS5zZXRBdHRyaWJ1
dGUoIm9uZm9jdXNpbiIsICJldmVudGhhbmRsZXIoKSIpOworICAgICAgICAgICAgdXNlMS5mb2N1
cygpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>