<?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>160640</bug_id>
          
          <creation_ts>2016-08-06 16:16:10 -0700</creation_ts>
          <short_desc>a.replaceChild(a, a) should throw a HierarchyRequestError</short_desc>
          <delta_ts>2016-08-06 20:24:28 -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>DOM</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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1218292</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-06 16:16:10 -0700</bug_when>
    <thetext>a.replaceChild(a, a) should throw a HierarchyRequestError, because &apos;a&apos; is a host-including inclusive ancestor of &apos;a&apos;:
- https://dom.spec.whatwg.org/#concept-node-replace

However, the call is merely ignored in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218294</commentid>
    <comment_count>1</comment_count>
      <attachid>285506</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-06 16:17:31 -0700</bug_when>
    <thetext>Created attachment 285506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218309</commentid>
    <comment_count>2</comment_count>
      <attachid>285506</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-06 18:37:53 -0700</bug_when>
    <thetext>Comment on attachment 285506
Patch

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

&gt; Source/WebCore/dom/ContainerNode.cpp:407
&gt; +    if (&amp;oldChild == &amp;newChild) // nothing to do
&gt; +        return true;

Why move this past the NOT_FOUND_ERR check too and not just the validity check? Since this check is fast and it seems like a case we would like to optimize, I’d like this to remain as early in the function as practical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218313</commentid>
    <comment_count>3</comment_count>
      <attachid>285506</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-06 18:45:30 -0700</bug_when>
    <thetext>Comment on attachment 285506
Patch

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

&gt;&gt; Source/WebCore/dom/ContainerNode.cpp:407
&gt;&gt; +        return true;
&gt; 
&gt; Why move this past the NOT_FOUND_ERR check too and not just the validity check? Since this check is fast and it seems like a case we would like to optimize, I’d like this to remain as early in the function as practical.

But the whole point is that we should throw in cases we are expected to throw. If you call b.replaceChild(a, a) and a is not a child of b, then we need to throw a NotFoundError. Note that this &quot;optimization&quot; does not seem to be in the specification so chances are we will eventually have to skip it in cases where it is observable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218318</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-06 19:09:01 -0700</bug_when>
    <thetext>Makes sense; I misread the check as somehow comparing the parents of oldChild and newChild. We should add a test for the NOT_FOUND case when the two are the same since it seems we did not have one. If there had been a test I would not have been confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218321</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-06 19:21:13 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Makes sense; I misread the check as somehow comparing the parents of
&gt; oldChild and newChild. We should add a test for the NOT_FOUND case when the
&gt; two are the same since it seems we did not have one. If there had been a
&gt; test I would not have been confused.

Good point, I&apos;ll add a test before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218329</commentid>
    <comment_count>6</comment_count>
      <attachid>285517</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-08-06 19:54:57 -0700</bug_when>
    <thetext>Created attachment 285517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218332</commentid>
    <comment_count>7</comment_count>
      <attachid>285517</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-06 20:24:23 -0700</bug_when>
    <thetext>Comment on attachment 285517
Patch

Clearing flags on attachment: 285517

Committed r204237: &lt;http://trac.webkit.org/changeset/204237&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218333</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-06 20:24:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285506</attachid>
            <date>2016-08-06 16:17:31 -0700</date>
            <delta_ts>2016-08-06 19:54:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160640-20160806161602.patch</filename>
            <type>text/plain</type>
            <size>4177</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGJlNTc0YTkxNWM5ZTFk
YzU0MzcxZGJlYTg2OGUxMTRiNjY5ZGFmMi4uZDUzYWRmN2E5YzhhYThjYWY0ZTgyZGQ0NTMyYWQw
M2Q2NzJkYWI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA4LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgYS5yZXBsYWNlQ2hpbGQoYSwg
YSkgc2hvdWxkIHRocm93IGEgSGllcmFyY2h5UmVxdWVzdEVycm9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA2NDAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBhLnJlcGxhY2VDaGlsZChhLCBhKSBzaG91
bGQgdGhyb3cgYSBIaWVyYXJjaHlSZXF1ZXN0RXJyb3IsIGJlY2F1c2UgJ2EnCisgICAgICAgIGlz
IGEgaG9zdC1pbmNsdWRpbmcgaW5jbHVzaXZlIGFuY2VzdG9yIG9mICdhJzoKKyAgICAgICAgLSBo
dHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtbm9kZS1yZXBsYWNlCisKKyAgICAg
ICAgSG93ZXZlciwgdGhlIGNhbGwgaXMgbWVyZWx5IGlnbm9yZWQgaW4gV2ViS2l0LgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQgZXhpc3RpbmcgdGVzdC4KKworICAgICAgICAq
IGRvbS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6
OnJlcGxhY2VDaGlsZCk6CisKIDIwMTYtMDgtMDYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtGZXRjaCBBUEldIEZldGNoaW5nIHdpdGggYSBGb3JtRGF0YSBi
b2R5IHNob3VsZCByZWplY3QgdW50aWwgaXQgaXMgaW1wbGVtZW50ZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmNwcAppbmRleCBlMDJjY2MwOTIzNjVlZGMxOTc3MWM1ZDcyNTA1NTEyNmE1
NDg1NjUzLi42MzJmNWVjZmI2MDZjYzk1MTAwZDhhMGM5ZmRiYTE5MzdhOGQxZDJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCkBAIC0zOTMsOSArMzkzLDYgQEAgYm9vbCBDb250
YWluZXJOb2RlOjpyZXBsYWNlQ2hpbGQoTm9kZSYgbmV3Q2hpbGQsIE5vZGUmIG9sZENoaWxkLCBF
eGNlcHRpb25Db2RlJgogCiAgICAgZWMgPSAwOwogCi0gICAgaWYgKCZvbGRDaGlsZCA9PSAmbmV3
Q2hpbGQpIC8vIG5vdGhpbmcgdG8gZG8KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KICAgICAvLyBN
YWtlIHN1cmUgcmVwbGFjaW5nIHRoZSBvbGQgY2hpbGQgd2l0aCB0aGUgbmV3IGlzIG9rCiAgICAg
aWYgKCFjaGVja1ByZVJlcGxhY2VtZW50VmFsaWRpdHkoKnRoaXMsIG5ld0NoaWxkLCBvbGRDaGls
ZCwgZWMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MDYsNiArNDAzLDkgQEAgYm9vbCBD
b250YWluZXJOb2RlOjpyZXBsYWNlQ2hpbGQoTm9kZSYgbmV3Q2hpbGQsIE5vZGUmIG9sZENoaWxk
LCBFeGNlcHRpb25Db2RlJgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgaWYg
KCZvbGRDaGlsZCA9PSAmbmV3Q2hpbGQpIC8vIG5vdGhpbmcgdG8gZG8KKyAgICAgICAgcmV0dXJu
IHRydWU7CisKICAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlIG11dGF0aW9uKCp0aGlzKTsKIAog
ICAgIFJlZlB0cjxOb2RlPiByZWZDaGlsZCA9IG9sZENoaWxkLm5leHRTaWJsaW5nKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzMDE2MDBhMmFlZTY5ZDExMjVmNzgzNWRhZDEx
NmE4MmI4Mjc5ZjY4Li45YjBmYTUxOWRiODg4YTMwNTU4NWUwNTc0M2E4N2U5OGZjOGNjMThjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wOC0w
NiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIGEucmVwbGFjZUNo
aWxkKGEsIGEpIHNob3VsZCB0aHJvdyBhIEhpZXJhcmNoeVJlcXVlc3RFcnJvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNjQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXM0MgdGVz
dCBub3cgdGhhdCBvbmUgbW9yZSBjaGVjayBpcyBwYXNzaW5nLgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlLXJlcGxhY2VDaGlsZC1leHBlY3RlZC50eHQ6CisK
IDIwMTYtMDgtMDYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtGZXRjaCBBUEldIEZldGNoaW5nIHdpdGggYSBGb3JtRGF0YSBib2R5IHNob3VsZCByZWplY3Qg
dW50aWwgaXQgaXMgaW1wbGVtZW50ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGUtcmVwbGFjZUNoaWxkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL05vZGUtcmVwbGFjZUNoaWxkLWV4cGVjdGVkLnR4dAppbmRleCBmNTc2ODg5NzBkODUx
OWQ4ZWE4OGFlOGZlMTA1YTYxMzc5MjEzZWNlLi42NDg3YTU5NGI5MTRmYjY1Y2JhY2JmYWE0MGI4
NTYxMzhkODdjZmEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlLXJlcGxhY2VDaGlsZC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMv
Tm9kZS1yZXBsYWNlQ2hpbGQtZXhwZWN0ZWQudHh0CkBAIC0yLDkgKzIsNyBAQAogUEFTUyBQYXNz
aW5nIG51bGwgdG8gcmVwbGFjZUNoaWxkIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvci4gCiBQQVNT
IElmIGNoaWxkJ3MgcGFyZW50IGlzIG5vdCB0aGUgY29udGV4dCBub2RlLCBhIE5vdEZvdW5kRXJy
b3IgZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gCiBQQVNTIElmIHRoZSBjb250ZXh0IG5vZGUg
aXMgbm90IGEgbm9kZSB0aGF0IGNhbiBjb250YWluIGNoaWxkcmVuLCBhIE5vdEZvdW5kRXJyb3Ig
ZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gCi1GQUlMIElmIG5vZGUgaXMgYW4gaW5jbHVzaXZl
IGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG5vZGUsIGEgSGllcmFyY2h5UmVxdWVzdEVycm9yIHNo
b3VsZCBiZSB0aHJvd24uIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0g
ICAgYS5yZXBsYWNlQ2hpbGQoYSwgYSk7Ci0gIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgSWYgbm9k
ZSBpcyBhbiBpbmNsdXNpdmUgYW5jZXN0b3Igb2YgdGhlIGNvbnRleHQgbm9kZSwgYSBIaWVyYXJj
aHlSZXF1ZXN0RXJyb3Igc2hvdWxkIGJlIHRocm93bi4gCiBQQVNTIElmIHRoZSBjb250ZXh0IG5v
ZGUgaXMgYSBkb2N1bWVudCwgaW5zZXJ0aW5nIGEgZG9jdW1lbnQgb3IgdGV4dCBub2RlIHNob3Vs
ZCB0aHJvdyBhIEhpZXJhcmNoeVJlcXVlc3RFcnJvci4gCiBQQVNTIElmIHRoZSBjb250ZXh0IG5v
ZGUgaXMgYSBkb2N1bWVudCwgaW5zZXJ0aW5nIGEgRG9jdW1lbnRGcmFnbWVudCB0aGF0IGNvbnRh
aW5zIGEgdGV4dCBub2RlIG9yIHRvbyBtYW55IGVsZW1lbnRzIHNob3VsZCB0aHJvdyBhIEhpZXJh
cmNoeVJlcXVlc3RFcnJvci4gCiBQQVNTIElmIHRoZSBjb250ZXh0IG5vZGUgaXMgYSBkb2N1bWVu
dCAod2l0aG91dCBlbGVtZW50IGNoaWxkcmVuKSwgaW5zZXJ0aW5nIGEgRG9jdW1lbnRGcmFnbWVu
dCB0aGF0IGNvbnRhaW5zIG11bHRpcGxlIGVsZW1lbnRzIHNob3VsZCB0aHJvdyBhIEhpZXJhcmNo
eVJlcXVlc3RFcnJvci4gCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285517</attachid>
            <date>2016-08-06 19:54:57 -0700</date>
            <delta_ts>2016-08-06 20:24:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160640-20160806195328.patch</filename>
            <type>text/plain</type>
            <size>6634</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZhMmJlM2U4NzVkNGE4
NjkzMzBkZGJiMDE4NDliNmUwOGRkMDhmNi4uMTBhOWViMGYzMTZlODk0ZWRmMWNhZDQ1MDMyNWM3
OWVmYTAwZWMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA4LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgYS5yZXBsYWNlQ2hpbGQoYSwg
YSkgc2hvdWxkIHRocm93IGEgSGllcmFyY2h5UmVxdWVzdEVycm9yCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA2NDAKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBhLnJlcGxhY2VDaGlsZChhLCBhKSBzaG91bGQg
dGhyb3cgYSBIaWVyYXJjaHlSZXF1ZXN0RXJyb3IsIGJlY2F1c2UgJ2EnCisgICAgICAgIGlzIGEg
aG9zdC1pbmNsdWRpbmcgaW5jbHVzaXZlIGFuY2VzdG9yIG9mICdhJzoKKyAgICAgICAgLSBodHRw
czovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtbm9kZS1yZXBsYWNlCisKKyAgICAgICAg
SG93ZXZlciwgdGhlIGNhbGwgaXMgbWVyZWx5IGlnbm9yZWQgaW4gV2ViS2l0LgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQgZXhpc3RpbmcgdGVzdC4KKworICAgICAgICAqIGRv
bS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnJl
cGxhY2VDaGlsZCk6CisKIDIwMTYtMDgtMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFNpbXBsaWZ5IHZhbHVlVG9VU1ZTdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlLmNwcAppbmRleCBlMDJjY2MwOTIzNjVlZGMxOTc3MWM1ZDcyNTA1NTEyNmE1NDg1
NjUzLi42MzJmNWVjZmI2MDZjYzk1MTAwZDhhMGM5ZmRiYTE5MzdhOGQxZDJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCkBAIC0zOTMsOSArMzkzLDYgQEAgYm9vbCBDb250YWlu
ZXJOb2RlOjpyZXBsYWNlQ2hpbGQoTm9kZSYgbmV3Q2hpbGQsIE5vZGUmIG9sZENoaWxkLCBFeGNl
cHRpb25Db2RlJgogCiAgICAgZWMgPSAwOwogCi0gICAgaWYgKCZvbGRDaGlsZCA9PSAmbmV3Q2hp
bGQpIC8vIG5vdGhpbmcgdG8gZG8KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KICAgICAvLyBNYWtl
IHN1cmUgcmVwbGFjaW5nIHRoZSBvbGQgY2hpbGQgd2l0aCB0aGUgbmV3IGlzIG9rCiAgICAgaWYg
KCFjaGVja1ByZVJlcGxhY2VtZW50VmFsaWRpdHkoKnRoaXMsIG5ld0NoaWxkLCBvbGRDaGlsZCwg
ZWMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MDYsNiArNDAzLDkgQEAgYm9vbCBDb250
YWluZXJOb2RlOjpyZXBsYWNlQ2hpbGQoTm9kZSYgbmV3Q2hpbGQsIE5vZGUmIG9sZENoaWxkLCBF
eGNlcHRpb25Db2RlJgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgaWYgKCZv
bGRDaGlsZCA9PSAmbmV3Q2hpbGQpIC8vIG5vdGhpbmcgdG8gZG8KKyAgICAgICAgcmV0dXJuIHRy
dWU7CisKICAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlIG11dGF0aW9uKCp0aGlzKTsKIAogICAg
IFJlZlB0cjxOb2RlPiByZWZDaGlsZCA9IG9sZENoaWxkLm5leHRTaWJsaW5nKCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZWI4ZTJmNWExYzA5NmI5YTIwYzc1ZTBjMTU1MWFjYzg1YWY0NTIzYS4uMGMwOWZlMTE4NjIzNWZl
YjViN2I4YzQzY2ExMGIyYmI1NTM3OTdjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA4
LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgYS5yZXBsYWNl
Q2hpbGQoYSwgYSkgc2hvdWxkIHRocm93IGEgSGllcmFyY2h5UmVxdWVzdEVycm9yCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA2NDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGZhc3QvZG9tL05vZGUvcmVw
bGFjZUNoaWxkLW5vdEZvdW5kRXJyb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9Ob2RlL3JlcGxhY2VDaGlsZC1ub3RGb3VuZEVycm9yLmh0bWw6IEFkZGVkLgorCiAy
MDE2LTA4LTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBM
YXlvdXRUZXN0IGh0dHAvdGVzdHMvZmV0Y2gvZmV0Y2gtaW4td29ya2VyLWNyYXNoLmh0bWwgaXMg
Zmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDg3YjNhMTZjMzE1ZDNmMmQz
ZGQyOTQ5NjFkODA1YmM5YWE2NjA5YjMuLmVkNWJiMWNkYjYzNWY0OTEzYzE3YzQxMDlhMmI3ZGU0
ZmNmZjQ1NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE2LTA4LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
YS5yZXBsYWNlQ2hpbGQoYSwgYSkgc2hvdWxkIHRocm93IGEgSGllcmFyY2h5UmVxdWVzdEVycm9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA2NDAK
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBSZWJhc2VsaW5l
IFczQyB0ZXN0IG5vdyB0aGF0IG9uZSBtb3JlIGNoZWNrIGlzIHBhc3NpbmcuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGUtcmVwbGFjZUNoaWxkLWV4cGVjdGVk
LnR4dDoKKwogMjAxNi0wOC0wNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMv
bW9kZS1zYW1lLW9yaWdpbi5odG1sIGFuZCAtd29ya2VyLmh0bWwgYXJlIGZhaWxpbmcgYWZ0ZXIg
cjIwNDIyNApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZS9yZXBsYWNlQ2hp
bGQtbm90Rm91bmRFcnJvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Ob2Rl
L3JlcGxhY2VDaGlsZC1ub3RGb3VuZEVycm9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjQ2
ODgwNmRlMTVkZmJjMjA2OTUxYzI1MGYwY2VjMDU4OGYyYjM1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZS9yZXBsYWNlQ2hpbGQtbm90Rm91bmRFcnJvci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorTm9kZS5yZXBsYWNlQ2hpbGQoKSBzaG91bGQgdGhy
b3cgYSBOb3RGb3VuZEVycm9yIGlmIGNoaWxkIGlmIG5vdCBhIGNoaWxkIG9mIHBhcmVudAorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkaXYxLnJlcGxhY2VDaGlsZChuZXdO
b2RlLCBkaXYyKSB0aHJldyBleGNlcHRpb24gTm90Rm91bmRFcnJvciAoRE9NIEV4Y2VwdGlvbiA4
KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGZvdW5kIGhlcmUuLgorUEFTUyBkaXYxLnJlcGxhY2VD
aGlsZChkaXYyLCBkaXYyKSB0aHJldyBleGNlcHRpb24gTm90Rm91bmRFcnJvciAoRE9NIEV4Y2Vw
dGlvbiA4KTogVGhlIG9iamVjdCBjYW4gbm90IGJlIGZvdW5kIGhlcmUuLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL05vZGUvcmVwbGFjZUNoaWxkLW5vdEZvdW5kRXJyb3IuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL05vZGUvcmVwbGFjZUNoaWxkLW5vdEZvdW5kRXJyb3IuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NDQ5MTdmYmM0YTQxMWE0NGRlZWY2ZjI3ODM4ZjRmY2ZjZGY2ODNhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTm9kZS9yZXBsYWNlQ2hpbGQtbm90
Rm91bmRFcnJvci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxib2R5PgorPGRpdiBpZD0iZGl2MSI+PC9kaXY+Cis8ZGl2IGlkPSJkaXYyIj48L2Rpdj4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTm9kZS5yZXBsYWNlQ2hpbGQoKSBzaG91bGQgdGhyb3cg
YSBOb3RGb3VuZEVycm9yIGlmIGNoaWxkIGlmIG5vdCBhIGNoaWxkIG9mIHBhcmVudCIpOworCit2
YXIgZGl2MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYxIik7Cit2YXIgZGl2MiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYyIik7Cit2YXIgbmV3Tm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworc2hvdWxkVGhyb3dFcnJvck5hbWUoImRpdjEucmVwbGFjZUNo
aWxkKG5ld05vZGUsIGRpdjIpIiwgIk5vdEZvdW5kRXJyb3IiKTsKK3Nob3VsZFRocm93RXJyb3JO
YW1lKCJkaXYxLnJlcGxhY2VDaGlsZChkaXYyLCBkaXYyKSIsICJOb3RGb3VuZEVycm9yIik7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL05vZGUtcmVwbGFjZUNoaWxk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL25vZGVzL05vZGUtcmVwbGFjZUNoaWxkLWV4cGVjdGVkLnR4dAppbmRleCBmNTc2ODg5
NzBkODUxOWQ4ZWE4OGFlOGZlMTA1YTYxMzc5MjEzZWNlLi42NDg3YTU5NGI5MTRmYjY1Y2JhY2Jm
YWE0MGI4NTYxMzhkODdjZmEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Ob2RlLXJlcGxhY2VDaGlsZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
bm9kZXMvTm9kZS1yZXBsYWNlQ2hpbGQtZXhwZWN0ZWQudHh0CkBAIC0yLDkgKzIsNyBAQAogUEFT
UyBQYXNzaW5nIG51bGwgdG8gcmVwbGFjZUNoaWxkIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvci4g
CiBQQVNTIElmIGNoaWxkJ3MgcGFyZW50IGlzIG5vdCB0aGUgY29udGV4dCBub2RlLCBhIE5vdEZv
dW5kRXJyb3IgZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gCiBQQVNTIElmIHRoZSBjb250ZXh0
IG5vZGUgaXMgbm90IGEgbm9kZSB0aGF0IGNhbiBjb250YWluIGNoaWxkcmVuLCBhIE5vdEZvdW5k
RXJyb3IgZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gCi1GQUlMIElmIG5vZGUgaXMgYW4gaW5j
bHVzaXZlIGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG5vZGUsIGEgSGllcmFyY2h5UmVxdWVzdEVy
cm9yIHNob3VsZCBiZSB0aHJvd24uIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7Ci0gICAgYS5yZXBsYWNlQ2hpbGQoYSwgYSk7Ci0gIH0iIGRpZCBub3QgdGhyb3cKK1BBU1Mg
SWYgbm9kZSBpcyBhbiBpbmNsdXNpdmUgYW5jZXN0b3Igb2YgdGhlIGNvbnRleHQgbm9kZSwgYSBI
aWVyYXJjaHlSZXF1ZXN0RXJyb3Igc2hvdWxkIGJlIHRocm93bi4gCiBQQVNTIElmIHRoZSBjb250
ZXh0IG5vZGUgaXMgYSBkb2N1bWVudCwgaW5zZXJ0aW5nIGEgZG9jdW1lbnQgb3IgdGV4dCBub2Rl
IHNob3VsZCB0aHJvdyBhIEhpZXJhcmNoeVJlcXVlc3RFcnJvci4gCiBQQVNTIElmIHRoZSBjb250
ZXh0IG5vZGUgaXMgYSBkb2N1bWVudCwgaW5zZXJ0aW5nIGEgRG9jdW1lbnRGcmFnbWVudCB0aGF0
IGNvbnRhaW5zIGEgdGV4dCBub2RlIG9yIHRvbyBtYW55IGVsZW1lbnRzIHNob3VsZCB0aHJvdyBh
IEhpZXJhcmNoeVJlcXVlc3RFcnJvci4gCiBQQVNTIElmIHRoZSBjb250ZXh0IG5vZGUgaXMgYSBk
b2N1bWVudCAod2l0aG91dCBlbGVtZW50IGNoaWxkcmVuKSwgaW5zZXJ0aW5nIGEgRG9jdW1lbnRG
cmFnbWVudCB0aGF0IGNvbnRhaW5zIG11bHRpcGxlIGVsZW1lbnRzIHNob3VsZCB0aHJvdyBhIEhp
ZXJhcmNoeVJlcXVlc3RFcnJvci4gCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>