<?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>157233</bug_id>
          
          <creation_ts>2016-04-30 02:27:29 -0700</creation_ts>
          <short_desc>Node.prototype.rootNode is not Web compatible</short_desc>
          <delta_ts>2016-04-30 14:58:15 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eoconnor</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1189040</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-04-30 02:27:29 -0700</bug_when>
    <thetext>Turns out that adding `rootNode` to `Node.prototype` break a bunch of websites.

We need to rename this to something else (https://github.com/whatwg/dom/issues/241).
Meanwhile, unbreak the Web by removing this property from Node&apos;s prototype for now.

&lt;rdar://problem/25547767&gt;
&lt;rdar://problem/25766328&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189041</commentid>
    <comment_count>1</comment_count>
      <attachid>277806</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-04-30 02:58:18 -0700</bug_when>
    <thetext>Created attachment 277806
Removes the method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189042</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-04-30 02:58:39 -0700</bug_when>
    <thetext>Note that C++ side&apos;s Node::rootNode is still used internally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189053</commentid>
    <comment_count>3</comment_count>
      <attachid>277806</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-30 08:00:04 -0700</bug_when>
    <thetext>Comment on attachment 277806
Removes the method

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

r=me

&gt; Source/WebCore/dom/Node.idl:-64
&gt; -    readonly attribute Node rootNode;

Shouldn&apos;t it have been RuntimeEnabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189124</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-04-30 14:12:18 -0700</bug_when>
    <thetext>Blink had a similar report as well: https://bugs.chromium.org/p/chromium/issues/detail?id=600950</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189130</commentid>
    <comment_count>5</comment_count>
      <attachid>277806</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-30 14:58:09 -0700</bug_when>
    <thetext>Comment on attachment 277806
Removes the method

Clearing flags on attachment: 277806

Committed r200297: &lt;http://trac.webkit.org/changeset/200297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189131</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-30 14:58:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277806</attachid>
            <date>2016-04-30 02:58:18 -0700</date>
            <delta_ts>2016-04-30 14:58:09 -0700</delta_ts>
            <desc>Removes the method</desc>
            <filename>bug-157233-20160430025851.patch</filename>
            <type>text/plain</type>
            <size>17343</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMDI4OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA0LTMwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE5vZGUucHJvdG90eXBlLnJvb3RO
b2RlIGlzIG5vdCBXZWIgY29tcGF0aWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVHVybnMgb3V0IHRoYXQgdGhlIG5hbWUgcm9vdE5vZGUgaXMgbm90
IFdlYiBjb21wYXRpYmxlLiBSZW1vdmUgdGhlIG1ldGhvZCBmb3Igbm93CisgICAgICAgIHVudGls
IHdlIGNhbiBjb21lIHVwIHdpdGggYSBiZXR0ZXIgbmFtZSBpbiBodHRwczovL2dpdGh1Yi5jb20v
d2hhdHdnL2RvbS9pc3N1ZXMvMjQxLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSB3ZSdy
ZSBqdXN0IHJlbW92aW5nIGEgbWV0aG9kLgorCisgICAgICAgICogZG9tL05vZGUuaWRsOgorCiAy
MDE2LTA0LTI5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1dl
YiBJRExdIFNwZWNpZnkgZGVmYXVsdCBwYXJhbWV0ZXIgdmFsdWVzIGZvciBjYWxsYmFjayBwYXJh
bWV0ZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCShyZXZpc2lvbiAyMDAyODkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTYxLDggKzYxLDYgQEAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAgICAgICAgICAgICBuZXh0U2libGluZzsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQgICAgICAgICBvd25lckRvY3VtZW50OwogCi0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIE5vZGUgcm9vdE5vZGU7Ci0KICAgICAvLyBGSVhNRTogbmV3Q2hp
bGQgc2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0
ZXJzLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gTm9kZSBpbnNlcnRCZWZvcmUoW0N1c3RvbVJl
dHVybl0gTm9kZT8gbmV3Q2hpbGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOb2RlPyByZWZDaGlsZCk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyMDAyODkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxOCBAQAorMjAxNi0wNC0zMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KKworICAgICAgICBOb2RlLnByb3RvdHlwZS5yb290Tm9kZSBpcyBub3QgV2ViIGNvbXBhdGli
bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzIz
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZWQgdGVzdHMgZm9yIE5vZGUucHJvdG90eXBlLnJvb3ROb2RlLgorCisgICAgICAgICogZmFzdC9k
b20vTm9kZS9yb290Tm9kZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9k
b20vTm9kZS9yb290Tm9kZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvc2hhZG93LWRv
bS9Ob2RlLWludGVyZmFjZS1yb290Tm9kZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9zaGFkb3ctZG9tL05vZGUtaW50ZXJmYWNlLXJvb3ROb2RlLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICoganMvZG9tL2RvbS1zdGF0aWMtcHJvcGVydHktZm9yLWluLWl0ZXJhdGlvbi1l
eHBlY3RlZC50eHQ6CisKIDIwMTYtMDQtMjkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmVuYW1lIGdldEFzc2lnbmVkTm9kZXMgdG8gYXNzaWduZWROb2RlcyBh
bmQgc3VwcG9ydCBmbGF0dGVuZWQgb3B0aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9O
b2RlL3Jvb3ROb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9Ob2RlL3Jvb3ROb2RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjAwMjg5KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9kb20vTm9kZS9yb290Tm9kZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNyArMCwwIEBACi0KLVBBU1Mgcm9vdE5vZGUgYXR0cmlidXRlIG11c3QgYmUgZGVm
aW5lZCBvbiBOb2RlIGludGVyZmFjZSAKLVBBU1Mgcm9vdE5vZGUgYXR0cmlidXRlIG11c3QgcmV0
dXJuIHRoZSBjb250ZXh0IG9iamVjdCB3aGVuIGl0IGRvZXMgbm90IGhhdmUgYW55IHBhcmVudCAK
LVBBU1Mgcm9vdE5vZGUgYXR0cmlidXRlIG11c3QgcmV0dXJuIHRoZSBwYXJlbnQgbm9kZSBvZiB0
aGUgY29udGV4dCBvYmplY3Qgd2hlbiB0aGUgY29udGV4dCBvYmplY3QgaGFzIGEgc2luZ2xlIGFu
Y2VzdG9yIG5vdCBpbiBhIGRvY3VtZW50IAotUEFTUyByb290Tm9kZSBhdHRyaWJ1dGUgbXVzdCBy
ZXR1cm4gdGhlIGRvY3VtZW50IHdoZW4gYSBub2RlIGlzIGluIGRvY3VtZW50IAotUEFTUyByb290
Tm9kZSBhdHRyaWJ1dGUgbXVzdCByZXR1cm4gYSBkb2N1bWVudCBmcmFnbWVudCB3aGVuIGEgbm9k
ZSBpcyBpbiB0aGUgZnJhZ21lbnQgCi0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL05vZGUv
cm9vdE5vZGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Ob2RlL3Jv
b3ROb2RlLmh0bWwJKHJldmlzaW9uIDIwMDI4OSkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL05v
ZGUvcm9vdE5vZGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5NCArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+RE9NOiA0LjQuIEludGVyZmFjZSBOb2Rl
PC90aXRsZT4KLTxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0i
bWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJO
b2RlIGludGVyZmFjZSBtdXN0IGhhdmUgcm9vdE5vZGUgYXR0cmlidXRlIj4KLTxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tbm9kZS1yb290bm9k
ZSI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPScuLi8uLi8uLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuY3NzJz4KLTwvaGVhZD4KLTxib2R5PgotPGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxzY3JpcHQ+Ci0KLXRlc3QoZnVuY3Rpb24gKCkgewotICAgIGFzc2VydF90cnVlKCdy
b290Tm9kZScgaW4gTm9kZS5wcm90b3R5cGUsICdyb290Tm9kZSBtdXN0IGJlIGRlZmluZWQgb24g
Tm9kZS5wcm90b3R5cGUnKTsKLSAgICBhc3NlcnRfdHJ1ZSgncm9vdE5vZGUnIGluIGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLCAncm9vdE5vZGUgbXVzdCBiZSBkZWZpbmVkIG9uIGEgZGl2
IGVsZW1lbnQnKTsKLSAgICBhc3NlcnRfdHJ1ZSgncm9vdE5vZGUnIGluIGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKCcnKSwgJ3Jvb3ROb2RlIG11c3QgYmUgZGVmaW5lZCBvbiBhIHRleHQgbm9kZScp
OwotICAgIGFzc2VydF90cnVlKCdyb290Tm9kZScgaW4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgn
JyksICdyb290Tm9kZSBtdXN0IGJlIGRlZmluZWQgb24gYSBjb21tZW50IG5vZGUnKTsKLSAgICBh
c3NlcnRfdHJ1ZSgncm9vdE5vZGUnIGluIGRvY3VtZW50LmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVj
dGlvbigndGFyZ2V0JywgJ2RhdGEnKSwgJ3Jvb3ROb2RlIG11c3QgYmUgZGVmaW5lZCBvbiBhIHBy
b2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbm9kZScpOwotICAgIGFzc2VydF90cnVlKCdyb290Tm9kZScg
aW4gZG9jdW1lbnQsICdyb290Tm9kZSBtdXN0IGJlIGRlZmluZWQgb24gYSBkb2N1bWVudCBub2Rl
Jyk7Ci19LCAncm9vdE5vZGUgYXR0cmlidXRlIG11c3QgYmUgZGVmaW5lZCBvbiBOb2RlIGludGVy
ZmFjZScpOwotCi10ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIGFzc2VydF9lcXVhbHMoZWxlbWVudC5yb290Tm9k
ZSwgZWxlbWVudCwgJ3Jvb3ROb2RlIG9uIGFuIGVsZW1lbnQgd2l0aG91dCBhIHBhcmVudCBtdXN0
IHJldHVybiB0aGUgZWxlbWVudCBpdHNlbGYnKTsKLQotICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoJycpOwotICAgIGFzc2VydF9lcXVhbHModGV4dC5yb290Tm9kZSwgdGV4
dCwgJ3Jvb3ROb2RlIG9uIGEgdGV4dCBub2RlIHdpdGhvdXQgYSBwYXJlbnQgbXVzdCByZXR1cm4g
dGhlIHRleHQgbm9kZSBpdHNlbGYnKTsKLQotICAgIHZhciBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24g
PSBkb2N1bWVudC5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJ3RhcmdldCcsICdkYXRhJyk7
Ci0gICAgYXNzZXJ0X2VxdWFscyhwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ucm9vdE5vZGUsIHByb2Nl
c3NpbmdJbnN0cnVjdGlvbiwgJ3Jvb3ROb2RlIG9uIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBu
b2RlIHdpdGhvdXQgYSBwYXJlbnQgbXVzdCByZXR1cm4gdGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rp
b24gbm9kZSBpdHNlbGYnKTsKLQotICAgIGFzc2VydF9lcXVhbHMoZG9jdW1lbnQucm9vdE5vZGUs
IGRvY3VtZW50LCAncm9vdE5vZGUgb24gYSBkb2N1bWVudCBub2RlIG11c3QgcmV0dXJuIHRoZSBk
b2N1bWVudCBpdHNlbGYnKTsKLQotfSwgJ3Jvb3ROb2RlIGF0dHJpYnV0ZSBtdXN0IHJldHVybiB0
aGUgY29udGV4dCBvYmplY3Qgd2hlbiBpdCBkb2VzIG5vdCBoYXZlIGFueSBwYXJlbnQnKTsKLQot
dGVzdChmdW5jdGlvbiAoKSB7Ci0gICAgdmFyIHBhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwotCi0gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKLSAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7Ci0gICAgYXNzZXJ0X2VxdWFs
cyhlbGVtZW50LnJvb3ROb2RlLCBwYXJlbnQsICdyb290Tm9kZSBvbiBhbiBlbGVtZW50IHdpdGgg
YSBzaW5nbGUgYW5jZXN0b3IgbXVzdCByZXR1cm4gdGhlIHBhcmVudCBub2RlJyk7Ci0KLSAgICB2
YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKTsKLSAgICBwYXJlbnQuYXBwZW5k
Q2hpbGQodGV4dCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0ZXh0LnJvb3ROb2RlLCBwYXJlbnQsICdy
b290Tm9kZSBvbiBhIHRleHQgbm9kZSB3aXRoIGEgc2luZ2xlIGFuY2VzdG9yIG11c3QgcmV0dXJu
IHRoZSBwYXJlbnQgbm9kZScpOwotCi0gICAgdmFyIHByb2Nlc3NpbmdJbnN0cnVjdGlvbiA9IGRv
Y3VtZW50LmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigndGFyZ2V0JywgJ2RhdGEnKTsKLSAg
ICBwYXJlbnQuYXBwZW5kQ2hpbGQocHJvY2Vzc2luZ0luc3RydWN0aW9uKQotICAgIGFzc2VydF9l
cXVhbHMocHJvY2Vzc2luZ0luc3RydWN0aW9uLnJvb3ROb2RlLCBwYXJlbnQsICdyb290Tm9kZSBv
biBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbm9kZSB3aXRoIGEgc2luZ2xlIGFuY2VzdG9yIG11
c3QgcmV0dXJuIHRoZSBwYXJlbnQgbm9kZScpOwotCi19LCAncm9vdE5vZGUgYXR0cmlidXRlIG11
c3QgcmV0dXJuIHRoZSBwYXJlbnQgbm9kZSBvZiB0aGUgY29udGV4dCBvYmplY3Qgd2hlbiB0aGUg
Y29udGV4dCBvYmplY3QgaGFzIGEgc2luZ2xlIGFuY2VzdG9yIG5vdCBpbiBhIGRvY3VtZW50Jyk7
Ci0KLXRlc3QoZnVuY3Rpb24gKCkgewotICAgIHZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0K
LSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHBh
cmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICBhc3NlcnRfZXF1YWxzKGVsZW1lbnQucm9v
dE5vZGUsIGRvY3VtZW50LCAncm9vdE5vZGUgb24gYW4gZWxlbWVudCBpbnNpZGUgYSBkb2N1bWVu
dCBtdXN0IHJldHVybiB0aGUgZG9jdW1lbnQnKTsKLQotICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoJycpOwotICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0ZXh0KTsKLSAgICBh
c3NlcnRfZXF1YWxzKHRleHQucm9vdE5vZGUsIGRvY3VtZW50LCAncm9vdE5vZGUgb24gYSB0ZXh0
IG5vZGUgaW5zaWRlIGEgZG9jdW1lbnQgbXVzdCByZXR1cm4gdGhlIGRvY3VtZW50Jyk7Ci0KLSAg
ICB2YXIgcHJvY2Vzc2luZ0luc3RydWN0aW9uID0gZG9jdW1lbnQuY3JlYXRlUHJvY2Vzc2luZ0lu
c3RydWN0aW9uKCd0YXJnZXQnLCAnZGF0YScpOwotICAgIHBhcmVudC5hcHBlbmRDaGlsZChwcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24pCi0gICAgYXNzZXJ0X2VxdWFscyhwcm9jZXNzaW5nSW5zdHJ1Y3Rp
b24ucm9vdE5vZGUsIGRvY3VtZW50LCAncm9vdE5vZGUgb24gYSBwcm9jZXNzaW5nIGluc3RydWN0
aW9uIG5vZGUgaW5zaWRlIGEgZG9jdW1lbnQgbXVzdCByZXR1cm4gdGhlIGRvY3VtZW50Jyk7Ci19
LCAncm9vdE5vZGUgYXR0cmlidXRlIG11c3QgcmV0dXJuIHRoZSBkb2N1bWVudCB3aGVuIGEgbm9k
ZSBpcyBpbiBkb2N1bWVudCcpOwotCi10ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICB2YXIgZnJhZ21l
bnQgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Ci0gICAgdmFyIHBhcmVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIGZyYWdtZW50LmFwcGVuZENoaWxk
KHBhcmVudCk7Ci0KLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwotICAgIHBhcmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICBhc3NlcnRfZXF1YWxz
KGVsZW1lbnQucm9vdE5vZGUsIGZyYWdtZW50LCAncm9vdE5vZGUgb24gYW4gZWxlbWVudCBpbnNp
ZGUgYSBkb2N1bWVudCBmcmFnbWVudCBtdXN0IHJldHVybiB0aGUgZnJhZ21lbnQnKTsKLQotICAg
IHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpOwotICAgIHBhcmVudC5hcHBl
bmRDaGlsZCh0ZXh0KTsKLSAgICBhc3NlcnRfZXF1YWxzKHRleHQucm9vdE5vZGUsIGZyYWdtZW50
LCAncm9vdE5vZGUgb24gYSB0ZXh0IG5vZGUgaW5zaWRlIGEgZG9jdW1lbnQgZnJhZ21lbnQgbXVz
dCByZXR1cm4gdGhlIGZyYWdtZW50Jyk7Ci0KLSAgICB2YXIgcHJvY2Vzc2luZ0luc3RydWN0aW9u
ID0gZG9jdW1lbnQuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKCd0YXJnZXQnLCAnZGF0YScp
OwotICAgIHBhcmVudC5hcHBlbmRDaGlsZChwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pCi0gICAgYXNz
ZXJ0X2VxdWFscyhwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ucm9vdE5vZGUsIGZyYWdtZW50LAotICAg
ICAgICAncm9vdE5vZGUgb24gYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIG5vZGUgaW5zaWRlIGEg
ZG9jdW1lbnQgZnJhZ21lbnQgbXVzdCByZXR1cm4gdGhlIGZyYWdtZW50Jyk7Ci19LCAncm9vdE5v
ZGUgYXR0cmlidXRlIG11c3QgcmV0dXJuIGEgZG9jdW1lbnQgZnJhZ21lbnQgd2hlbiBhIG5vZGUg
aXMgaW4gdGhlIGZyYWdtZW50Jyk7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL05vZGUtaW50ZXJmYWNlLXJvb3ROb2RlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vTm9k
ZS1pbnRlcmZhY2Utcm9vdE5vZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyMDAyODkpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vTm9kZS1pbnRlcmZhY2Utcm9vdE5vZGUtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyICswLDAgQEAKLQotUEFTUyByb290Tm9kZSBh
dHRyaWJ1dGUgbXVzdCBiZSBkZWZpbmVkIG9uIFNoYWRvd1Jvb3QgaW50ZXJmYWNlIAotUEFTUyBy
b290Tm9kZSBhdHRyaWJ1dGUgbXVzdCByZXR1cm4gdGhlIGNvbnRleHQgb2JqZWN0IHdoZW4gaXQg
ZG9lcyBub3QgaGF2ZSBhbnkgcGFyZW50IAotUEFTUyByb290Tm9kZSBhdHRyaWJ1dGUgbXVzdCBy
ZXR1cm4gdGhlIHBhcmVudCBub2RlIG9mIHRoZSBjb250ZXh0IG9iamVjdCB3aGVuIHRoZSBjb250
ZXh0IG9iamVjdCBoYXMgYSBzaW5nbGUgYW5jZXN0b3Igbm90IGluIGEgZG9jdW1lbnQgCi1QQVNT
IHJvb3ROb2RlIGF0dHJpYnV0ZSBtdXN0IHJldHVybiB0aGUgZG9jdW1lbnQgd2hlbiBhIG5vZGUg
aXMgaW4gZG9jdW1lbnQgYW5kIG5vdCBpbiBhIHNoYWRvdyB0cmVlIAotUEFTUyByb290Tm9kZSBh
dHRyaWJ1dGUgbXVzdCByZXR1cm4gdGhlIG9wZW4gc2hhZG93IHJvb3Qgb2YgdGhlIGNvbnRleHQg
b2JqZWN0IHdoZW4gdGhlIHNoYWRvdyBob3N0IGlzIGluIGEgZG9jdW1lbnQgCi1QQVNTIHJvb3RO
b2RlIGF0dHJpYnV0ZSBtdXN0IHJldHVybiB0aGUgY2xvc2VkIHNoYWRvdyByb290IG9mIHRoZSBj
b250ZXh0IG9iamVjdCB3aGVuIHRoZSBzaGFkb3cgaG9zdCBpcyBpbiBhIGRvY3VtZW50IAotUEFT
UyByb290Tm9kZSBhdHRyaWJ1dGUgbXVzdCByZXR1cm4gdGhlIHJvb3Qgbm9kZSBvZiB0aGUgY29u
dGV4dCBvYmplY3Qgd2hlbiB0aGUgY29udGV4dCBvYmplY3QgaXMgaW5zaWRlIGEgb3BlbiBzaGFk
b3cgcm9vdCB3aG9zZSBzaGFkb3cgaG9zdCBpcyBpbiBhbm90aGVyIG9wZW4gc2hhZG93IHJvb3Qg
Ci1QQVNTIHJvb3ROb2RlIGF0dHJpYnV0ZSBtdXN0IHJldHVybiB0aGUgcm9vdCBub2RlIG9mIHRo
ZSBjb250ZXh0IG9iamVjdCB3aGVuIHRoZSBjb250ZXh0IG9iamVjdCBpcyBpbnNpZGUgYSBjbG9z
ZWQgc2hhZG93IHJvb3Qgd2hvc2Ugc2hhZG93IGhvc3QgaXMgaW4gYW5vdGhlciBvcGVuIHNoYWRv
dyByb290IAotUEFTUyByb290Tm9kZSBhdHRyaWJ1dGUgbXVzdCByZXR1cm4gdGhlIHJvb3Qgbm9k
ZSBvZiB0aGUgY29udGV4dCBvYmplY3Qgd2hlbiB0aGUgY29udGV4dCBvYmplY3QgaXMgaW5zaWRl
IGEgb3BlbiBzaGFkb3cgcm9vdCB3aG9zZSBzaGFkb3cgaG9zdCBpcyBpbiBhbm90aGVyIGNsb3Nl
ZCBzaGFkb3cgcm9vdCAKLVBBU1Mgcm9vdE5vZGUgYXR0cmlidXRlIG11c3QgcmV0dXJuIHRoZSBy
b290IG5vZGUgb2YgdGhlIGNvbnRleHQgb2JqZWN0IHdoZW4gdGhlIGNvbnRleHQgb2JqZWN0IGlz
IGluc2lkZSBhIGNsb3NlZCBzaGFkb3cgcm9vdCB3aG9zZSBzaGFkb3cgaG9zdCBpcyBpbiBhbm90
aGVyIGNsb3NlZCBzaGFkb3cgcm9vdCAKLQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ct
ZG9tL05vZGUtaW50ZXJmYWNlLXJvb3ROb2RlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zaGFkb3ctZG9tL05vZGUtaW50ZXJmYWNlLXJvb3ROb2RlLmh0bWwJKHJldmlzaW9u
IDIwMDI4OSkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9Ob2RlLWludGVyZmFjZS1y
b290Tm9kZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEyMSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+U2hhZG93IERPTTogRXh0ZW5zaW9ucyB0byBO
b2RlIGludGVyZmFjZTwvdGl0bGU+Ci08bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtl
IE5pd2EiIGhyZWY9Im1haWx0bzpybml3YUB3ZWJraXQub3JnIj4KLTxtZXRhIG5hbWU9ImFzc2Vy
dCIgY29udGVudD0iTm9kZSBpbnRlcmZhY2UgbXVzdCBoYXZlIHJvb3ROb2RlIGF0dHJpYnV0ZSI+
Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYmNvbXBvbmVu
dHMvc3BlYy9zaGFkb3cvI2V4dGVuc2lvbnMtdG8tbm9kZS1pbnRlcmZhY2UiPgotPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxsaW5r
IHJlbD0nc3R5bGVzaGVldCcgaHJlZj0nLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmNzcyc+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08c2NyaXB0PgotCi10ZXN0
KGZ1bmN0aW9uICgpIHsKLSAgICBhc3NlcnRfdHJ1ZSgncm9vdE5vZGUnIGluIGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpLmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KSwgJ3Jvb3RO
b2RlIG11c3QgYmUgZGVmaW5lZCBvbiBhIGNsb3NlZCBzaGFkb3cgcm9vdCBlbGVtZW50Jyk7Ci0g
ICAgYXNzZXJ0X3RydWUoJ3Jvb3ROb2RlJyBpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KS5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pLCAncm9vdE5vZGUgbXVzdCBiZSBkZWZpbmVk
IG9uIGEgb3BlbiBzaGFkb3cgcm9vdCBlbGVtZW50Jyk7Ci19LCAncm9vdE5vZGUgYXR0cmlidXRl
IG11c3QgYmUgZGVmaW5lZCBvbiBTaGFkb3dSb290IGludGVyZmFjZScpOwotCi10ZXN0KGZ1bmN0
aW9uICgpIHsKLSAgICB2YXIgY2xvc2VkU2hhZG93Um9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpLmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKLSAgICBhc3NlcnRfZXF1
YWxzKGNsb3NlZFNoYWRvd1Jvb3Qucm9vdE5vZGUsIGNsb3NlZFNoYWRvd1Jvb3QsICdyb290Tm9k
ZSBvbiBhIGNsb3NlZCBzaGFkb3cgcm9vdCBtdXN0IHJldHVybiB0aGUgc2hhZG93IHJvb3QgaXRz
ZWxmJyk7Ci0KLSAgICB2YXIgb3BlblNoYWRvd1Jvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKS5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOwotICAgIGFzc2VydF9lcXVhbHMo
b3BlblNoYWRvd1Jvb3Qucm9vdE5vZGUsIG9wZW5TaGFkb3dSb290LCAncm9vdE5vZGUgb24gYSBv
cGVuIHNoYWRvdyByb290IG11c3QgcmV0dXJuIHRoZSBzaGFkb3cgcm9vdCBpdHNlbGYnKTsKLX0s
ICdyb290Tm9kZSBhdHRyaWJ1dGUgbXVzdCByZXR1cm4gdGhlIGNvbnRleHQgb2JqZWN0IHdoZW4g
aXQgZG9lcyBub3QgaGF2ZSBhbnkgcGFyZW50Jyk7Ci0KLXRlc3QoZnVuY3Rpb24gKCkgewotICAg
IHZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLQotICAgIHZhciBo
b3N0V2l0aENsb3NlZFNoYWRvd1Jvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
LSAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoaG9zdFdpdGhDbG9zZWRTaGFkb3dSb290KTsKLSAgICB2
YXIgY2xvc2VkU2hhZG93Um9vdCA9IGhvc3RXaXRoQ2xvc2VkU2hhZG93Um9vdC5hdHRhY2hTaGFk
b3coe21vZGU6ICdjbG9zZWQnfSk7Ci0gICAgYXNzZXJ0X2VxdWFscyhjbG9zZWRTaGFkb3dSb290
LnJvb3ROb2RlLCBjbG9zZWRTaGFkb3dSb290LCAncm9vdE5vZGUgb24gYSBjbG9zZWQgc2hhZG93
IHJvb3Qgd2l0aCBhIHNpbmdsZSBhbmNlc3RvciBvbiBpdHMgaG9zdCBtdXN0IHJldHVybiB0aGUg
c2hhZG93IHJvb3QgaXRzZWxmJyk7Ci0KLSAgICB2YXIgaG9zdFdpdGhPcGVuU2hhZG93Um9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgIHBhcmVudC5hcHBlbmRDaGlsZCho
b3N0V2l0aE9wZW5TaGFkb3dSb290KTsKLSAgICB2YXIgb3BlblNoYWRvd1Jvb3QgPSBob3N0V2l0
aE9wZW5TaGFkb3dSb290LmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7Ci0gICAgYXNzZXJ0
X2VxdWFscyhvcGVuU2hhZG93Um9vdC5yb290Tm9kZSwgb3BlblNoYWRvd1Jvb3QsICdyb290Tm9k
ZSBvbiBhIG9wZW4gc2hhZG93IHJvb3Qgd2l0aCBhIHNpbmdsZSBhbmNlc3RvciBvbiBpdHMgaG9z
dCBtdXN0IHJldHVybiB0aGUgc2hhZG93IHJvb3QgaXRzZWxmJyk7Ci19LCAncm9vdE5vZGUgYXR0
cmlidXRlIG11c3QgcmV0dXJuIHRoZSBwYXJlbnQgbm9kZSBvZiB0aGUgY29udGV4dCBvYmplY3Qg
d2hlbiB0aGUgY29udGV4dCBvYmplY3QgaGFzIGEgc2luZ2xlIGFuY2VzdG9yIG5vdCBpbiBhIGRv
Y3VtZW50Jyk7Ci0KLXRlc3QoZnVuY3Rpb24gKCkgewotICAgIHZhciBwYXJlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBh
cmVudCk7Ci0KLSAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OwotICAgIHBhcmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTsKLSAgICBhc3NlcnRfZXF1YWxzKGVs
ZW1lbnQucm9vdE5vZGUsIGRvY3VtZW50LCAncm9vdE5vZGUgb24gYW4gZWxlbWVudCBpbnNpZGUg
YSBkb2N1bWVudCBtdXN0IHJldHVybiB0aGUgZG9jdW1lbnQnKTsKLQotICAgIHZhciB0ZXh0ID0g
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpOwotICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0ZXh0
KTsKLSAgICBhc3NlcnRfZXF1YWxzKHRleHQucm9vdE5vZGUsIGRvY3VtZW50LCAncm9vdE5vZGUg
b24gYSB0ZXh0IG5vZGUgaW5zaWRlIGEgZG9jdW1lbnQgbXVzdCByZXR1cm4gdGhlIGRvY3VtZW50
Jyk7Ci0KLSAgICB2YXIgcHJvY2Vzc2luZ0luc3RydWN0aW9uID0gZG9jdW1lbnQuY3JlYXRlUHJv
Y2Vzc2luZ0luc3RydWN0aW9uKCd0YXJnZXQnLCAnZGF0YScpOwotICAgIHBhcmVudC5hcHBlbmRD
aGlsZChwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pCi0gICAgYXNzZXJ0X2VxdWFscyhwcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24ucm9vdE5vZGUsIGRvY3VtZW50LCAncm9vdE5vZGUgb24gYSBwcm9jZXNzaW5n
IGluc3RydWN0aW9uIG5vZGUgaW5zaWRlIGEgZG9jdW1lbnQgbXVzdCByZXR1cm4gdGhlIGRvY3Vt
ZW50Jyk7Ci19LCAncm9vdE5vZGUgYXR0cmlidXRlIG11c3QgcmV0dXJuIHRoZSBkb2N1bWVudCB3
aGVuIGEgbm9kZSBpcyBpbiBkb2N1bWVudCBhbmQgbm90IGluIGEgc2hhZG93IHRyZWUnKTsKLQot
ZnVuY3Rpb24gdGVzdHJvb3ROb2RlT25Ob2RlSW5zaWRlU2hhZG93VHJlZShtb2RlKSB7Ci0gICAg
dGVzdChmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBob3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaG9zdCk7Ci0K
LSAgICAgICAgdmFyIHNoYWRvd1Jvb3QgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogbW9kZX0p
OwotICAgICAgICB2YXIgcGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwotICAg
ICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKHBhcmVudCk7Ci0KLSAgICAgICAgdmFyIGVsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7Ci0gICAgICAgIHBhcmVudC5hcHBl
bmRDaGlsZChlbGVtZW50KTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhlbGVtZW50LnJvb3ROb2Rl
LCBzaGFkb3dSb290LCAncm9vdE5vZGUgb24gYW4gZWxlbWVudCBpbnNpZGUgYSBzaGFkb3cgdHJl
ZSBtdXN0IHJldHVybiB0aGUgc2hhZG93IHJvb3QnKTsKLQotICAgICAgICB2YXIgdGV4dCA9IGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKTsKLSAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHRl
eHQpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHRleHQucm9vdE5vZGUsIHNoYWRvd1Jvb3QsICdy
b290Tm9kZSBvbiBhIHRleHQgbm9kZSBpbnNpZGUgYSBzaGFkb3cgdHJlZSBtdXN0IHJldHVybiB0
aGUgc2hhZG93IHJvb3QnKTsKLQotICAgICAgICB2YXIgcHJvY2Vzc2luZ0luc3RydWN0aW9uID0g
ZG9jdW1lbnQuY3JlYXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uKCd0YXJnZXQnLCAnZGF0YScpOwot
ICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQocHJvY2Vzc2luZ0luc3RydWN0aW9uKTsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ucm9vdE5vZGUsIHNoYWRvd1Jv
b3QsICdyb290Tm9kZSBvbiBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbm9kZSBpbnNpZGUgYSBz
aGFkb3cgdHJlZSBtdXN0IHJldHVybiB0aGUgc2hhZG93IHJvb3QnKTsKLSAgICB9LCAncm9vdE5v
ZGUgYXR0cmlidXRlIG11c3QgcmV0dXJuIHRoZSAnICsgbW9kZSArICcgc2hhZG93IHJvb3Qgb2Yg
dGhlIGNvbnRleHQgb2JqZWN0IHdoZW4gdGhlIHNoYWRvdyBob3N0IGlzIGluIGEgZG9jdW1lbnQn
KTsKLX0KLQotdGVzdHJvb3ROb2RlT25Ob2RlSW5zaWRlU2hhZG93VHJlZSgnb3BlbicpOwotdGVz
dHJvb3ROb2RlT25Ob2RlSW5zaWRlU2hhZG93VHJlZSgnY2xvc2VkJyk7Ci0KLWZ1bmN0aW9uIHRl
c3Ryb290Tm9kZU9uTm9kZUluc2lkZU5lc3RlZFNoYWRvd1RyZWUob3V0ZXJNb2RlLCBpbm5lck1v
ZGUpIHsKLSAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKLSAgICAgICAgdmFyIG91dGVySG9zdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKG91dGVySG9zdCk7Ci0gICAgICAgIHZhciBvdXRlclNoYWRvd1Jvb3QgPSBvdXRlckhv
c3QuYXR0YWNoU2hhZG93KHttb2RlOiBvdXRlck1vZGV9KTsKLQotICAgICAgICB2YXIgaW5uZXJI
b3N0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2VjdGlvbicpOwotICAgICAgICBvdXRlclNo
YWRvd1Jvb3QuYXBwZW5kQ2hpbGQoaW5uZXJIb3N0KTsKLSAgICAgICAgdmFyIGlubmVyU2hhZG93
Um9vdCA9IGlubmVySG9zdC5hdHRhY2hTaGFkb3coe21vZGU6IGlubmVyTW9kZX0pOwotCi0gICAg
ICAgIHZhciBwYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7Ci0gICAgICAgIGlu
bmVyU2hhZG93Um9vdC5hcHBlbmRDaGlsZChwYXJlbnQpOwotCi0gICAgICAgIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwotICAgICAgICBwYXJlbnQuYXBwZW5k
Q2hpbGQoZWxlbWVudCk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZWxlbWVudC5yb290Tm9kZSwg
aW5uZXJTaGFkb3dSb290LCAncm9vdE5vZGUgb24gYW4gZWxlbWVudCBpbnNpZGUgYSBzaGFkb3cg
dHJlZSBtdXN0IHJldHVybiBpdHMgcm9vdCBub2RlJyk7Ci0KLSAgICAgICAgdmFyIHRleHQgPSBk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJyk7Ci0gICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0
ZXh0KTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXh0LnJvb3ROb2RlLCBpbm5lclNoYWRvd1Jv
b3QsICdyb290Tm9kZSBvbiBhIHRleHQgbm9kZSBpbnNpZGUgYSBzaGFkb3cgdHJlZSBtdXN0IHJl
dHVybiBpdHMgcm9vdCBub2RlJyk7Ci0KLSAgICAgICAgdmFyIHByb2Nlc3NpbmdJbnN0cnVjdGlv
biA9IGRvY3VtZW50LmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbigndGFyZ2V0JywgJ2RhdGEn
KTsKLSAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHByb2Nlc3NpbmdJbnN0cnVjdGlvbik7Ci0g
ICAgICAgIGFzc2VydF9lcXVhbHMocHJvY2Vzc2luZ0luc3RydWN0aW9uLnJvb3ROb2RlLCBpbm5l
clNoYWRvd1Jvb3QsICdyb290Tm9kZSBvbiBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbm9kZSBp
bnNpZGUgYSBzaGFkb3cgdHJlZSBtdXN0IHJldHVybiBpdHMgcm9vdCBub2RlJyk7Ci0gICAgfSwg
J3Jvb3ROb2RlIGF0dHJpYnV0ZSBtdXN0IHJldHVybiB0aGUgcm9vdCBub2RlIG9mIHRoZSBjb250
ZXh0IG9iamVjdCB3aGVuIHRoZSBjb250ZXh0IG9iamVjdCBpcyBpbnNpZGUgYSAnICsgaW5uZXJN
b2RlCi0gICAgICAgICsgJyBzaGFkb3cgcm9vdCB3aG9zZSBzaGFkb3cgaG9zdCBpcyBpbiBhbm90
aGVyICcgKyBvdXRlck1vZGUgKyAnIHNoYWRvdyByb290Jyk7Ci19Ci0KLXRlc3Ryb290Tm9kZU9u
Tm9kZUluc2lkZU5lc3RlZFNoYWRvd1RyZWUoJ29wZW4nLCAnb3BlbicpOwotdGVzdHJvb3ROb2Rl
T25Ob2RlSW5zaWRlTmVzdGVkU2hhZG93VHJlZSgnb3BlbicsICdjbG9zZWQnKTsKLXRlc3Ryb290
Tm9kZU9uTm9kZUluc2lkZU5lc3RlZFNoYWRvd1RyZWUoJ2Nsb3NlZCcsICdvcGVuJyk7Ci10ZXN0
cm9vdE5vZGVPbk5vZGVJbnNpZGVOZXN0ZWRTaGFkb3dUcmVlKCdjbG9zZWQnLCAnY2xvc2VkJyk7
Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvZG9t
L2RvbS1zdGF0aWMtcHJvcGVydHktZm9yLWluLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvanMvZG9tL2RvbS1zdGF0aWMtcHJvcGVydHktZm9yLWluLWl0
ZXJhdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIwMDI4OSkKKysrIExheW91dFRlc3RzL2pz
L2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1pbi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xNDMsNyArMTQzLDYgQEAgUEFTUyBhWyJsYXN0Q2hpbGQiXSBpcyBb
b2JqZWN0IFRleHRdCiBQQVNTIGFbInByZXZpb3VzU2libGluZyJdIGlzIFtvYmplY3QgVGV4dF0K
IFBBU1MgYVsibmV4dFNpYmxpbmciXSBpcyBbb2JqZWN0IFRleHRdCiBQQVNTIGFbIm93bmVyRG9j
dW1lbnQiXSBpcyBbb2JqZWN0IEhUTUxEb2N1bWVudF0KLVBBU1MgYVsicm9vdE5vZGUiXSBpcyBb
b2JqZWN0IEhUTUxEb2N1bWVudF0KIFBBU1MgYVsibmFtZXNwYWNlVVJJIl0gaXMgaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbAogUEFTUyBhWyJwcmVmaXgiXSBpcyBudWxsCiBQQVNTIGFbImxv
Y2FsTmFtZSJdIGlzIGEK
</data>

          </attachment>
      

    </bug>

</bugzilla>