<?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>209233</bug_id>
          
          <creation_ts>2020-03-18 08:16:46 -0700</creation_ts>
          <short_desc>WebDriver Input clear/value commands fails when target is inside shadow dom</short_desc>
          <delta_ts>2020-10-05 10:38:37 -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>WebDriver</component>
          <version>Safari 13</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</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="Bnaya">me</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkitbugzilla</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1631148</commentid>
    <comment_count>0</comment_count>
      <attachid>393856</attachid>
    <who name="Bnaya">me</who>
    <bug_when>2020-03-18 08:16:46 -0700</bug_when>
    <thetext>Created attachment 393856
Failing selenium webdriver code

When sending input commands to input element inside shadow dom,
The commands fails with
&quot;WebDriverError: An unknown error occurred: A JavaScript exception occured: Argument 1 (&apos;element&apos;) to Window.getComputedStyle must be an instance of Element&quot;


A repro snippet is attached.
you will need to install https://www.npmjs.com/package/selenium-webdriver package.

The snippet tested to work works in chrome, firefox

Debugging into the node code, the commands `/{element-id}/clear`, `/{element-id}/value` returning that error from the safari side


these errors happens with Safari 12 &amp; 13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691619</commentid>
    <comment_count>1</comment_count>
      <attachid>409609</attachid>
    <who name="linkgoron">webkitbugzilla</who>
    <bug_when>2020-09-24 11:53:33 -0700</bug_when>
    <thetext>Created attachment 409609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691621</commentid>
    <comment_count>2</comment_count>
    <who name="linkgoron">webkitbugzilla</who>
    <bug_when>2020-09-24 12:01:39 -0700</bug_when>
    <thetext>Just a note that the isShadowDescendent was kind of a guess... I got the element is not interactable error, went over the code to see where it was thrown, and the only path that made sense to me that would cause the shadow dom issue was the isDescendentOf path. 

Regarding the ElementIsDisplayed change, that&apos;s also how the implementation is in Selenium (https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/atoms/domcore.js#L167)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691665</commentid>
    <comment_count>3</comment_count>
      <attachid>409609</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-09-24 14:13:59 -0700</bug_when>
    <thetext>Comment on attachment 409609
Patch

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

This code change looks good, but it lacks a new test. I&apos;ll try running the WPT suite with this change to see if it progresses any failures.

&gt; Source/WebCore/ChangeLog:8
&gt; +        Added support for nested shadow DOM in isDescendantOrShadowDescendantOf,

Reword: &quot;Add support for nested shadow DOM elements in Node::isDescendantOrShadowDescendantOf().&quot;

&gt; Source/WebCore/ChangeLog:9
&gt; +        and exposed it for use in the WebDriver

Reword: delete this line.

&gt; Source/WebCore/ChangeLog:11
&gt; +        Did not add a new test.

If there&apos;s no new test for this specifically, mention which test(s) exercise the behavior already if you know.

&gt; Source/WebCore/dom/Node.h:378
&gt; +    bool isDescendantOrShadowDescendantOf(const Node* other) const { return other &amp;&amp; isDescendantOrShadowDescendantOf(*other); } 

This is unusual. Typically we change all call sites at once rather than adding more wrappers.

&gt; Source/WebKit/UIProcess/Automation/atoms/ElementDisplayed.js:30
&gt; +        return !!node &amp;&amp; node.nodeType === Node.ELEMENT_NODE

Nit: needs a trailing newline.

&gt; Source/WebKit/UIProcess/Automation/atoms/ElementDisplayed.js:41
&gt; +        for (let node = targetNode; node &amp;&amp; node !== targetNode.getRootNode(); node = node.parentNode)

This is essentially changing the parent node search from composed to not-composed. I think that&apos;s okay because this is used to determine containment/obscured elements, not to do actual hit testing like elementsFromPoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692203</commentid>
    <comment_count>4</comment_count>
    <who name="linkgoron">webkitbugzilla</who>
    <bug_when>2020-09-26 11:54:22 -0700</bug_when>
    <thetext>Thanks for the review!

Regarding the isDescendantOrShadowDescendantOf new refence overload, I just wanted to change it so that it will be consistent with isDescendantOf which also has similar reference and pointer overloads. Do you want me to change other calls, or just remove the overload that I added?

Regarding tests - I&apos;ll look around and see how to add tests.

In addition to what I added, I saw that there&apos;s a missing check for Shadow DOM active elements with the focus check in the send keys command (a check which exists in ChromeDriver). In the WebKit implementation it only checks the outer active element, while in ChromeDriver it also checks inside of the shadow DOM. Is it out of scope or should I also add it?

I&apos;ll fix everything once you give me the clear that your testing passed (or, I&apos;ll fix what&apos;s needed if you encounter any issues).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693080</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-09-29 12:24:50 -0700</bug_when>
    <thetext>(In reply to linkgoron from comment #4)
&gt; Thanks for the review!
&gt; 
&gt; Regarding the isDescendantOrShadowDescendantOf new refence overload, I just
&gt; wanted to change it so that it will be consistent with isDescendantOf which
&gt; also has similar reference and pointer overloads. Do you want me to change
&gt; other calls, or just remove the overload that I added?

Oh, I totally missed that. I think your change is appropriate, then.

&gt; 
&gt; Regarding tests - I&apos;ll look around and see how to add tests.

This didn&apos;t cause any WPT regressions which is great!

As for adding tests, it&apos;s easiest to make a new test in the WPT format. The top-level directory for WebDriver is here:

https://github.com/web-platform-tests/wpt/tree/master/webdriver

I suggest you check out the wpt repository, create the test, then try to run against Chrome/Firefox and Safari to ensure that it passes and fails as expected.

&gt; In addition to what I added, I saw that there&apos;s a missing check for Shadow
&gt; DOM active elements with the focus check in the send keys command (a check
&gt; which exists in ChromeDriver). In the WebKit implementation it only checks
&gt; the outer active element, while in ChromeDriver it also checks inside of the
&gt; shadow DOM. Is it out of scope or should I also add it?

I&apos;d prefer this is a separate patch. That way it&apos;s easier to upstream separate tests to WPT, or to amend the specification to include these essential-but-missing checks.

Thanks, and feel free to ping me on WebKit Slack (see webkit.org for details).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694406</commentid>
    <comment_count>6</comment_count>
      <attachid>410426</attachid>
    <who name="linkgoron">webkitbugzilla</who>
    <bug_when>2020-10-03 08:55:49 -0700</bug_when>
    <thetext>Created attachment 410426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694739</commentid>
    <comment_count>7</comment_count>
      <attachid>410426</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-10-05 10:22:25 -0700</bug_when>
    <thetext>Comment on attachment 410426
Patch

r=me, thanks for your help!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694747</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-05 10:37:24 -0700</bug_when>
    <thetext>Committed r267978: &lt;https://trac.webkit.org/changeset/267978&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410426.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694750</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-05 10:38:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/69960660&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>393856</attachid>
            <date>2020-03-18 08:16:46 -0700</date>
            <delta_ts>2020-03-18 08:16:46 -0700</delta_ts>
            <desc>Failing selenium webdriver code</desc>
            <filename>file_209233.txt</filename>
            <type>text/plain</type>
            <size>2388</size>
            <attacher name="Bnaya">me</attacher>
            
              <data encoding="base64">Y29uc3Qgd2ViZHJpdmVyID0gcmVxdWlyZSgic2VsZW5pdW0td2ViZHJpdmVyIik7DQpjb25zdCBz
YWZhcmkgPSByZXF1aXJlKCJzZWxlbml1bS13ZWJkcml2ZXIvc2FmYXJpIik7DQpjb25zdCBmcyA9
IHJlcXVpcmUoImZzIik7DQoNCg0KYXN5bmMgZnVuY3Rpb24gc3RhcnQoKSB7DQogICAgY29uc3Qg
cHJlZnMgPSBuZXcgd2ViZHJpdmVyLmxvZ2dpbmcuUHJlZmVyZW5jZXMoKTsNCiAgICBwcmVmcy5z
ZXRMZXZlbCh3ZWJkcml2ZXIubG9nZ2luZy5UeXBlLkRSSVZFUiwgd2ViZHJpdmVyLmxvZ2dpbmcu
TGV2ZWwuQUxMKTsNCiAgICBwcmVmcy5zZXRMZXZlbCh3ZWJkcml2ZXIubG9nZ2luZy5UeXBlLkJS
T1dTRVIsIHdlYmRyaXZlci5sb2dnaW5nLkxldmVsLkFMTCk7DQogICAgcHJlZnMuc2V0TGV2ZWwo
d2ViZHJpdmVyLmxvZ2dpbmcuVHlwZS5DTElFTlQsIHdlYmRyaXZlci5sb2dnaW5nLkxldmVsLkFM
TCk7DQogICAgcHJlZnMuc2V0TGV2ZWwod2ViZHJpdmVyLmxvZ2dpbmcuVHlwZS5TRVJWRVIsIHdl
YmRyaXZlci5sb2dnaW5nLkxldmVsLkFMTCk7DQoNCiAgICBsZXQgYnVpbGRlciA9IG5ldyB3ZWJk
cml2ZXIuQnVpbGRlcigpDQogICAgICAgIC5mb3JCcm93c2VyKHdlYmRyaXZlci5Ccm93c2VyLlNB
RkFSSSkNCiAgICAgICAgLnNldExvZ2dpbmdQcmVmcyhwcmVmcykNCiAgICAgICAgLnVzaW5nU2Vy
dmVyKCdodHRwOi8vbG9jYWxob3N0OjQ0NDQvd2QvaHViJyk7DQoNCiAgICBjb25zdCBjID0gYnVp
bGRlci5nZXRDYXBhYmlsaXRpZXMoKTsNCg0KICAgIGJ1aWxkZXIud2l0aENhcGFiaWxpdGllcyhj
KTsNCg0KICAgIGJ1aWxkZXIuZ2V0U2FmYXJpT3B0aW9ucygpDQoNCiAgICBjb25zdCBkcml2ZXIg
PSBidWlsZGVyLmJ1aWxkKCk7DQoNCiAgICB0cnkgew0KICAgICAgICBhd2FpdCBkcml2ZXIuZ2V0
KCdodHRwczovL291dHB1dC5qc2Jpbi5jb20vamVwb2tldCcpOw0KDQogICAgICAgIGNvbnN0IHNo
YWRvd1Jvb3QgPSBhd2FpdCBnZXRTaGFkb3dSb290KGRyaXZlciwgImN1c3RvbS10aGluZ3MiKTsN
CiAgICANCiAgICAgICAgY29uc3QgaW5wdXQgPSBhd2FpdCBzaGFkb3dSb290LmZpbmRFbGVtZW50
KHdlYmRyaXZlci5CeS5jc3MoImlucHV0IikpOw0KICAgIA0KICAgICAgICBhd2FpdCBpbnB1dC5z
ZW5kS2V5cygic29tZSB2YWx1ZSIpOw0KICAgIA0KICAgICAgICBjb25zb2xlLmxvZygidGhlIHZh
bHVlIiwgYXdhaXQgaW5wdXQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpKTsNCiAgICANCiAgICAgICAg
YXdhaXQgaW5wdXQuY2xlYXIoKTsNCiAgICANCiAgICAgICAgY29uc29sZS5sb2coInZhbHVlIGFm
dGVyIGNsZWFyIiwgYXdhaXQgaW5wdXQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpKTsNCiAgICB9IGNh
dGNoIChlKSB7DQogICAgICAgIGNvbnNvbGUuZXJyb3IoInNvbWV0aGluZyB3ZW50IHdyb25nIiwg
ZSk7DQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgLy8gZmFpbGluZyB3aXRoIHNhZmFyaQ0KDQog
ICAgICAgIC8vIGNvbnN0IGxvZ3MgPSBkcml2ZXIubWFuYWdlKCkubG9ncygpOw0KDQogICAgICAg
IC8vIC8vIGZhaWxpbmcgd2l0aCBzYWZhcmkNCiAgICAgICAgLy8gLy8gY29uc3QgbG9nc1R5cGVz
ID0gYXdhaXQgbG9ncy5nZXRBdmFpbGFibGVMb2dUeXBlcygpOw0KDQogICAgICAgIC8vIGNvbnN0
IGxvZ3NUeXBlcyA9IFsiZHJpdmVyIiwgImJyb3dzZXIiXTsNCg0KICAgICAgICAvLyBmb3IgKGNv
bnN0IGxvZ1R5cGUgb2YgbG9nc1R5cGVzKSB7DQogICAgICAgIC8vICAgICB0cnkgew0KICAgICAg
ICAvLyAgICAgICAgIGNvbnNvbGUubG9nKGF3YWl0IGxvZ3MuZ2V0KGxvZ1R5cGUpKTsNCiAgICAg
ICAgLy8gICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgLy8gICAgICAgICBjb25zb2xlLmVycm9y
KCJmYWlsZWQgZ2V0dGluZyBsb2cgdHlwZSIsIGxvZ1R5cGUpOw0KICAgICAgICAvLyAgICAgfQ0K
DQogICAgICAgIC8vIH0NCg0KICAgICAgICBhd2FpdCBkcml2ZXIuY2xvc2UoKTsNCiAgICB9DQp9
DQoNCnN0YXJ0KCk7DQoNCi8qKg0KICogDQogKiBAcGFyYW0ge2ltcG9ydCgic2VsZW5pdW0td2Vi
ZHJpdmVyIikuVGhlbmFibGVXZWJEcml2ZXJ9IGRyaXZlciANCiAqIEBwYXJhbSB7c3RyaW5nfSBz
ZWxlY3Rvcg0KICogQHJldHVybnMge2ltcG9ydCgic2VsZW5pdW0td2ViZHJpdmVyIikuV2ViRWxl
bWVudFByb21pc2V9DQogKi8NCmFzeW5jIGZ1bmN0aW9uIGdldFNoYWRvd1Jvb3QoZHJpdmVyLCBz
ZWxlY3Rvcikgew0KICAgIHNoYWRvd0hvc3QgPSBhd2FpdCBkcml2ZXIuZmluZEVsZW1lbnQod2Vi
ZHJpdmVyLkJ5LmNzcyhzZWxlY3RvcikpOw0KICAgIHJldHVybiBkcml2ZXIuZXhlY3V0ZVNjcmlw
dCgicmV0dXJuIGFyZ3VtZW50c1swXS5zaGFkb3dSb290Iiwgc2hhZG93SG9zdCk7DQp9
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409609</attachid>
            <date>2020-09-24 11:53:33 -0700</date>
            <delta_ts>2020-10-03 08:55:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209233-20200924215331.patch</filename>
            <type>text/plain</type>
            <size>6866</size>
            <attacher name="linkgoron">webkitbugzilla</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRiYmQ3YmE3ZjFiMDZj
NDVkMWM1ODdlZTU1NjY2NGM4NmJhMDFhZi4uMDIwNTg0YjRiMWIzZmRhZTE4Y2FhYWM2ZTMxOGNj
ZDU4MzNmM2U0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA5LTI0ICBOaXR6
YW4gVXppZWx5ICA8bml0emFuQHRlc3RpbS5pbz4KKworICAgICAgICBXZWJEcml2ZXIgSW5wdXQg
Y2xlYXIvdmFsdWUgY29tbWFuZHMgZmFpbHMgd2hlbiB0YXJnZXQgaXMgaW5zaWRlIHNoYWRvdyBk
b20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTIz
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IHN1cHBvcnQgZm9yIG5lc3RlZCBzaGFkb3cgRE9NIGluIGlzRGVzY2VuZGFudE9yU2hhZG93RGVz
Y2VuZGFudE9mLAorICAgICAgICBhbmQgZXhwb3NlZCBpdCBmb3IgdXNlIGluIHRoZSBXZWJEcml2
ZXIKKworICAgICAgICBEaWQgbm90IGFkZCBhIG5ldyB0ZXN0LgorCisgICAgICAgICogZG9tL05v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNEZXNjZW5kYW50T3JTaGFkb3dEZXNj
ZW5kYW50T2YgY29uc3QpOgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpOb2RlOjppc0Rlc2NlbmRhbnRPclNoYWRvd0Rlc2NlbmRhbnRPZiBjb25zdCk6CisKIDIwMjAt
MDktMTggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlbGVjdGlv
biBBUEk6IEV4dGVuZCBsaWZldGltZSBvZiBzZWxlY3Rpb24gbGl2ZSByYW5nZSB0byBwcmVzZXJ2
ZSBleHBhbmRvIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMGZjYWZjYWVkMzM5ZmFiZGE3YjQ5OThl
MjBlNWJiNGUwOWJjMmU3Ny4uNWY0OTQxNGFhMGQ2MzVlM2YxY2YwZTE4YzQ2OGVjNTI5ZDcxZDYx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMC0wOS0yNCAgTml0emFuIFV6aWVseSAg
PG5pdHphbkB0ZXN0aW0uaW8+CisKKyAgICAgICAgV2ViRHJpdmVyIElucHV0IGNsZWFyL3ZhbHVl
IGNvbW1hbmRzIGZhaWxzIHdoZW4gdGFyZ2V0IGlzIGluc2lkZSBzaGFkb3cgZG9tCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkyMzMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBub2RlSXNFbGVt
ZW50IHdoaWNoIHdvdWxkIHJldHVybiB0cnVlIGZvciBub24tZWxlbWVudCBub2RlcywKKyAgICAg
ICAgd2hpY2ggY2F1c2VkIGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24gd2hlbiBnZXRDb21wdXRl
ZFN0eWxlIHdhcyBjYWxsZWQKKyAgICAgICAgb24gbm9uIHNoYWRvdyBlbGVtZW50cy4KKworICAg
ICAgICBGaXhlZCBjb21wdXRlRWxlbWVudExheW91dCB0byBjb25zaWRlciBzaGFkb3cgcm9vdCBk
ZXNjZW5kYW50cyBhcyBkZXNjZW5kYW50cworICAgICAgICB3aGVuIGV4ZWN1dGluZyBlbGVtZW50
c0F0UG9pbnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9hdG9tcy9FbGVtZW50
RGlzcGxheWVkLmpzOgorICAgICAgICAoaXNTaG93bi5ub2RlSXNFbGVtZW50KToKKyAgICAgICAg
KGlzU2hvd24uZW5jbG9zaW5nTm9kZU9yU2VsZk1hdGNoaW5nUHJlZGljYXRlKToKKyAgICAgICAg
KGlzU2hvd24uZW5jbG9zaW5nRWxlbWVudE9yU2VsZk1hdGNoaW5nUHJlZGljYXRlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmNvbXB1dGVFbGVt
ZW50TGF5b3V0KToKKwogMjAyMC0wOS0xOSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5n
IHRoZSBDcm9zc09yaWdpblJlc291cmNlUG9saWN5IEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDg2
Njk5OTYxOGZkMjBkY2E0NjY5MmE0OWJjMGVmNDJlY2FhMDBkYjguLmZlZjA0NzA3YTVkYzQwZTUx
NjFjZmI4N2I5ZGM3MzY2ODZjY2IxMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTEwMzIsMTAgKzEw
MzIsMTcgQEAgYm9vbCBOb2RlOjppc0Rlc2NlbmRhbnRPZihjb25zdCBOb2RlJiBvdGhlcikgY29u
c3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgTm9kZTo6aXNEZXNjZW5kYW50T3JTaGFk
b3dEZXNjZW5kYW50T2YoY29uc3QgTm9kZSogb3RoZXIpIGNvbnN0Citib29sIE5vZGU6OmlzRGVz
Y2VuZGFudE9yU2hhZG93RGVzY2VuZGFudE9mKGNvbnN0IE5vZGUmIG90aGVyKSBjb25zdAogewot
ICAgIC8vIEZJWE1FOiBDb3JyZWN0bHkgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBzaGFkb3cg
aG9zdCBpcyBpdHNlbGYgaW4gYSBzaGFkb3cgdHJlZS4KLSAgICByZXR1cm4gb3RoZXIgJiYgKGlz
RGVzY2VuZGFudE9mKCpvdGhlcikgfHwgb3RoZXItPmNvbnRhaW5zKHNoYWRvd0hvc3QoKSkpOwor
ICAgIGlmIChpc0Rlc2NlbmRhbnRPZihvdGhlcikpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgZm9yIChhdXRvIGhvc3QgPSBzaGFkb3dIb3N0KCk7IGhvc3Q7IGhvc3QgPSBob3N0LT5zaGFk
b3dIb3N0KCkpIHsKKyAgICAgICAgaWYgKG90aGVyLmNvbnRhaW5zKCpob3N0KSkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJv
b2wgTm9kZTo6Y29udGFpbnMoY29uc3QgTm9kZSYgbm9kZSkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4
IDFkZTQ5NDRmYTBmNWJmZGVjMjIxMDhlNWIxNmQ2ZGZjMmI5OGMwZDcuLjFmNDE4NTQ1MjViMWQ4
ZWUzMmM4MDQ0MGFkNzgyMTQ0NzA2ZGI2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMzc0LDcgKzM3NCw4
IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNvbnRhaW5zKGNvbnN0IE5vZGUm
KSBjb25zdDsKICAgICBib29sIGNvbnRhaW5zKGNvbnN0IE5vZGUqIG90aGVyKSBjb25zdCB7IHJl
dHVybiBvdGhlciAmJiBjb250YWlucygqb3RoZXIpOyB9CiAKLSAgICBib29sIGlzRGVzY2VuZGFu
dE9yU2hhZG93RGVzY2VuZGFudE9mKGNvbnN0IE5vZGUqKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGlzRGVzY2VuZGFudE9yU2hhZG93RGVzY2VuZGFudE9mKGNvbnN0IE5vZGUmKSBj
b25zdDsKKyAgICBib29sIGlzRGVzY2VuZGFudE9yU2hhZG93RGVzY2VuZGFudE9mKGNvbnN0IE5v
ZGUqIG90aGVyKSBjb25zdCB7IHJldHVybiBvdGhlciAmJiBpc0Rlc2NlbmRhbnRPclNoYWRvd0Rl
c2NlbmRhbnRPZigqb3RoZXIpOyB9IAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY29udGFpbnNJ
bmNsdWRpbmdTaGFkb3dET00oY29uc3QgTm9kZSopIGNvbnN0OwogCiAgICAgLy8gV2hldGhlciBv
ciBub3QgYSBzZWxlY3Rpb24gY2FuIGJlIHN0YXJ0ZWQgaW4gdGhpcyBvYmplY3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vYXRvbXMvRWxlbWVudERpc3Bs
YXllZC5qcyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vYXRvbXMvRWxlbWVu
dERpc3BsYXllZC5qcwppbmRleCBhNmVjOWYzYjVkYjdiNWVkMTExNjY5MmJlY2RiYmNjNjgyYmMy
ZmRjLi5lYWRkODFkNWY2MDM5YmY2YTJiNWFiMGVjNzRmMjhkNzAwNWNlZmQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2F0b21zL0VsZW1lbnREaXNwbGF5
ZWQuanMKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9hdG9tcy9FbGVt
ZW50RGlzcGxheWVkLmpzCkBAIC0yNywxOCArMjcsNyBAQCBmdW5jdGlvbiBpc1Nob3duKGVsZW1l
bnQpIHsKICAgICAidXNlIHN0cmljdCI7CiAKICAgICBmdW5jdGlvbiBub2RlSXNFbGVtZW50KG5v
ZGUpIHsKLSAgICAgICAgaWYgKCFub2RlKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgICAgIHN3aXRjaCAobm9kZS5ub2RlVHlwZSkgewotICAgICAgICBjYXNlIE5vZGUuRUxFTUVO
VF9OT0RFOgotICAgICAgICBjYXNlIE5vZGUuRE9DVU1FTlRfTk9ERToKLSAgICAgICAgY2FzZSBO
b2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLQot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Cisg
ICAgICAgIHJldHVybiAhIW5vZGUgJiYgbm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05P
REUKICAgICB9CiAKICAgICBmdW5jdGlvbiBwYXJlbnRFbGVtZW50Rm9yRWxlbWVudChlbGVtZW50
KSB7CkBAIC00OSw3ICszOCw3IEBAIGZ1bmN0aW9uIGlzU2hvd24oZWxlbWVudCkgewogICAgIH0K
IAogICAgIGZ1bmN0aW9uIGVuY2xvc2luZ05vZGVPclNlbGZNYXRjaGluZ1ByZWRpY2F0ZSh0YXJn
ZXROb2RlLCBwcmVkaWNhdGUpIHsKLSAgICAgICAgZm9yIChsZXQgbm9kZSA9IHRhcmdldE5vZGU7
IG5vZGUgJiYgbm9kZSAhPT0gdGFyZ2V0Tm9kZS5vd25lckRvY3VtZW50OyBub2RlID0gbm9kZS5w
YXJlbnROb2RlKQorICAgICAgICBmb3IgKGxldCBub2RlID0gdGFyZ2V0Tm9kZTsgbm9kZSAmJiBu
b2RlICE9PSB0YXJnZXROb2RlLmdldFJvb3ROb2RlKCk7IG5vZGUgPSBub2RlLnBhcmVudE5vZGUp
CiAgICAgICAgICAgICBpZiAocHJlZGljYXRlKG5vZGUpKQogICAgICAgICAgICAgICAgIHJldHVy
biBub2RlOwogCkBAIC01Nyw3ICs0Niw3IEBAIGZ1bmN0aW9uIGlzU2hvd24oZWxlbWVudCkgewog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIGVuY2xvc2luZ0VsZW1lbnRPclNlbGZNYXRjaGluZ1ByZWRp
Y2F0ZSh0YXJnZXRFbGVtZW50LCBwcmVkaWNhdGUpIHsKLSAgICAgICAgZm9yIChsZXQgZWxlbWVu
dCA9IHRhcmdldEVsZW1lbnQ7IGVsZW1lbnQgJiYgZWxlbWVudCAhPT0gdGFyZ2V0RWxlbWVudC5v
d25lckRvY3VtZW50OyBlbGVtZW50ID0gcGFyZW50RWxlbWVudEZvckVsZW1lbnQoZWxlbWVudCkp
CisgICAgICAgIGZvciAobGV0IGVsZW1lbnQgPSB0YXJnZXRFbGVtZW50OyBlbGVtZW50ICYmIGVs
ZW1lbnQgIT09IHRhcmdldEVsZW1lbnQuZ2V0Um9vdE5vZGUoKTsgZWxlbWVudCA9IHBhcmVudEVs
ZW1lbnRGb3JFbGVtZW50KGVsZW1lbnQpKQogICAgICAgICAgICAgaWYgKHByZWRpY2F0ZShlbGVt
ZW50KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvblByb3h5LmNwcAppbmRleCBiM2E1NGNhMDI0M2Q3ODFhNzg0MjgzMmYxZjViYTQ2Nzgy
ZTRkMmEyLi5iYmVhOTQyN2E0ZDg3MWQ1ZTI2NjU2OTE0Y2UyYTliNzdhNTBiYjY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9X
ZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcApAQCAtNzM4LDcgKzczOCw3IEBAIHZvaWQgV2Vi
QXV0b21hdGlvblNlc3Npb25Qcm94eTo6Y29tcHV0ZUVsZW1lbnRMYXlvdXQoV2ViQ29yZTo6UGFn
ZUlkZW50aWZpZXIgcGFnCiAgICAgLy8gQ2hlY2sgdGhlIGNhc2Ugd2hlcmUgYSBub24tZGVzY2Vu
ZGFudCBlbGVtZW50IGhpdCB0ZXN0cyBiZWZvcmUgdGhlIHRhcmdldCBlbGVtZW50LiBGb3IgZXhh
bXBsZSwgYSBjaGlsZCA8b3B0aW9uPgogICAgIC8vIG9mIGEgPHNlbGVjdD4gZG9lcyBub3Qgb2Jz
Y3VyZSB0aGUgPHNlbGVjdD4sIGJ1dCB0d28gc2libGluZyA8ZGl2PiB0aGF0IG92ZXJsYXAgYXQg
dGhlIElWQ1Agd2lsbCBvYnNjdXJlIGVhY2ggb3RoZXIuCiAgICAgLy8gTm9kZTo6aXNEZXNjZW5k
YW50T2YoKSBpcyBub3Qgc2VsZi1pbmNsdXNpdmUsIHNvIHRoYXQgaXMgZXhwbGljaXRseSBjaGVj
a2VkIGhlcmUuCi0gICAgaXNPYnNjdXJlZCA9IGVsZW1lbnRMaXN0WzBdICE9IGNvbnRhaW5lckVs
ZW1lbnQgJiYgIWVsZW1lbnRMaXN0WzBdLT5pc0Rlc2NlbmRhbnRPZihjb250YWluZXJFbGVtZW50
KTsKKyAgICBpc09ic2N1cmVkID0gZWxlbWVudExpc3RbMF0gIT0gY29udGFpbmVyRWxlbWVudCAm
JiAhZWxlbWVudExpc3RbMF0tPmlzRGVzY2VuZGFudE9yU2hhZG93RGVzY2VuZGFudE9mKGNvbnRh
aW5lckVsZW1lbnQpOwogCiAgICAgc3dpdGNoIChjb29yZGluYXRlU3lzdGVtKSB7CiAgICAgY2Fz
ZSBDb29yZGluYXRlU3lzdGVtOjpQYWdlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410426</attachid>
            <date>2020-10-03 08:55:49 -0700</date>
            <delta_ts>2020-10-05 10:37:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209233-20201003185547.patch</filename>
            <type>text/plain</type>
            <size>6870</size>
            <attacher name="linkgoron">webkitbugzilla</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRiYmQ3YmE3ZjFiMDZj
NDVkMWM1ODdlZTU1NjY2NGM4NmJhMDFhZi4uNGRiYWIwMDNkMWIxZDMzMjE5YzA5NjgwNGEzYTJl
NjY3ZjQ3ZWQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA5LTI0ICBOaXR6
YW4gVXppZWx5ICA8bml0emFuQHRlc3RpbS5pbz4KKworICAgICAgICBXZWJEcml2ZXIgSW5wdXQg
Y2xlYXIvdmFsdWUgY29tbWFuZHMgZmFpbHMgd2hlbiB0YXJnZXQgaXMgaW5zaWRlIHNoYWRvdyBk
b20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTIz
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBuZXN0ZWQgc2hhZG93IERPTSBpbiBpc0Rlc2NlbmRhbnRPclNoYWRvd0Rlc2Nl
bmRhbnRPZiwKKworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
ZGU6OmlzRGVzY2VuZGFudE9yU2hhZG93RGVzY2VuZGFudE9mIGNvbnN0KToKKyAgICAgICAgKiBk
b20vTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNEZXNjZW5kYW50T3JTaGFkb3dE
ZXNjZW5kYW50T2YgY29uc3QpOgorCiAyMDIwLTA5LTE4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KIAogICAgICAgICBTZWxlY3Rpb24gQVBJOiBFeHRlbmQgbGlmZXRpbWUgb2Ygc2Vs
ZWN0aW9uIGxpdmUgcmFuZ2UgdG8gcHJlc2VydmUgZXhwYW5kbyBwcm9wZXJ0aWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDBmY2FmY2FlZDMzOWZhYmRhN2I0OTk4ZTIwZTViYjRlMDliYzJlNzcuLjZmYmVlMTg1ZDgx
ZTIwYzc5ZDNlZGMzOTAxY2ZkZDM1MjJiZTdlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMjAtMDktMjQgIE5pdHphbiBVemllbHkgIDxuaXR6YW5AdGVzdGltLmlvPgorCisgICAgICAg
IFdlYkRyaXZlciBJbnB1dCBjbGVhci92YWx1ZSBjb21tYW5kcyBmYWlscyB3aGVuIHRhcmdldCBp
cyBpbnNpZGUgc2hhZG93IGRvbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA5MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4ZWQgbm9kZUlzRWxlbWVudCB3aGljaCB3b3VsZCByZXR1cm4gdHJ1ZSBm
b3Igbm9uLWVsZW1lbnQgbm9kZXMsCisgICAgICAgIHdoaWNoIGNhdXNlZCBhbiBleGNlcHRpb24g
dG8gYmUgdGhyb3duIHdoZW4gZ2V0Q29tcHV0ZWRTdHlsZSB3YXMgY2FsbGVkCisgICAgICAgIG9u
IG5vbiBzaGFkb3cgZWxlbWVudHMuCisKKyAgICAgICAgRml4ZWQgY29tcHV0ZUVsZW1lbnRMYXlv
dXQgdG8gY29uc2lkZXIgc2hhZG93IHJvb3QgZGVzY2VuZGFudHMgYXMgZGVzY2VuZGFudHMKKyAg
ICAgICAgd2hlbiBleGVjdXRpbmcgZWxlbWVudHNBdFBvaW50LgorCisgICAgICAgIFRlc3QgZm9y
IFdQVCAoaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvcHVsbC8yNTk2
MikKKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL2F0b21zL0VsZW1lbnREaXNwbGF5
ZWQuanM6CisgICAgICAgIChpc1Nob3duLm5vZGVJc0VsZW1lbnQpOgorICAgICAgICAoaXNTaG93
bi5lbmNsb3NpbmdOb2RlT3JTZWxmTWF0Y2hpbmdQcmVkaWNhdGUpOgorICAgICAgICAoaXNTaG93
bi5lbmNsb3NpbmdFbGVtZW50T3JTZWxmTWF0Y2hpbmdQcmVkaWNhdGUpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6Y29tcHV0ZUVsZW1lbnRMYXlv
dXQpOgorCiAyMDIwLTA5LTE5ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIENy
b3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggODY2OTk5NjE4
ZmQyMGRjYTQ2NjkyYTQ5YmMwZWY0MmVjYWEwMGRiOC4uZmVmMDQ3MDdhNWRjNDBlNTE2MWNmYjg3
YjlkYzczNjY4NmNjYjEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTAzMiwxMCArMTAzMiwxNyBA
QCBib29sIE5vZGU6OmlzRGVzY2VuZGFudE9mKGNvbnN0IE5vZGUmIG90aGVyKSBjb25zdAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBOb2RlOjppc0Rlc2NlbmRhbnRPclNoYWRvd0Rlc2Nl
bmRhbnRPZihjb25zdCBOb2RlKiBvdGhlcikgY29uc3QKK2Jvb2wgTm9kZTo6aXNEZXNjZW5kYW50
T3JTaGFkb3dEZXNjZW5kYW50T2YoY29uc3QgTm9kZSYgb3RoZXIpIGNvbnN0CiB7Ci0gICAgLy8g
RklYTUU6IENvcnJlY3RseSBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIHNoYWRvdyBob3N0IGlz
IGl0c2VsZiBpbiBhIHNoYWRvdyB0cmVlLgotICAgIHJldHVybiBvdGhlciAmJiAoaXNEZXNjZW5k
YW50T2YoKm90aGVyKSB8fCBvdGhlci0+Y29udGFpbnMoc2hhZG93SG9zdCgpKSk7CisgICAgaWYg
KGlzRGVzY2VuZGFudE9mKG90aGVyKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmb3Ig
KGF1dG8gaG9zdCA9IHNoYWRvd0hvc3QoKTsgaG9zdDsgaG9zdCA9IGhvc3QtPnNoYWRvd0hvc3Qo
KSkgeworICAgICAgICBpZiAob3RoZXIuY29udGFpbnMoKmhvc3QpKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICAgIAorICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBOb2Rl
Ojpjb250YWlucyhjb25zdCBOb2RlJiBub2RlKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggMWRlNDk0
NGZhMGY1YmZkZWMyMjEwOGU1YjE2ZDZkZmMyYjk4YzBkNy4uMWY0MTg1NDUyNWIxZDhlZTMyYzgw
NDQwYWQ3ODIxNDQ3MDZkYjY3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBAIC0zNzQsNyArMzc0LDggQEAgcHVi
bGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY29udGFpbnMoY29uc3QgTm9kZSYpIGNvbnN0
OwogICAgIGJvb2wgY29udGFpbnMoY29uc3QgTm9kZSogb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG90
aGVyICYmIGNvbnRhaW5zKCpvdGhlcik7IH0KIAotICAgIGJvb2wgaXNEZXNjZW5kYW50T3JTaGFk
b3dEZXNjZW5kYW50T2YoY29uc3QgTm9kZSopIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgaXNEZXNjZW5kYW50T3JTaGFkb3dEZXNjZW5kYW50T2YoY29uc3QgTm9kZSYpIGNvbnN0Owor
ICAgIGJvb2wgaXNEZXNjZW5kYW50T3JTaGFkb3dEZXNjZW5kYW50T2YoY29uc3QgTm9kZSogb3Ro
ZXIpIGNvbnN0IHsgcmV0dXJuIG90aGVyICYmIGlzRGVzY2VuZGFudE9yU2hhZG93RGVzY2VuZGFu
dE9mKCpvdGhlcik7IH0gCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjb250YWluc0luY2x1ZGlu
Z1NoYWRvd0RPTShjb25zdCBOb2RlKikgY29uc3Q7CiAKICAgICAvLyBXaGV0aGVyIG9yIG5vdCBh
IHNlbGVjdGlvbiBjYW4gYmUgc3RhcnRlZCBpbiB0aGlzIG9iamVjdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9hdG9tcy9FbGVtZW50RGlzcGxheWVkLmpz
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9hdG9tcy9FbGVtZW50RGlzcGxh
eWVkLmpzCmluZGV4IGE2ZWM5ZjNiNWRiN2I1ZWQxMTE2NjkyYmVjZGJiY2M2ODJiYzJmZGMuLmEy
ZGJiMzgyZTdkMjA1MjA3NzE0ZDZiNDZiZTdiN2M4MWZmZGRjNDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vYXRvbXMvRWxlbWVudERpc3BsYXllZC5qcwor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2F0b21zL0VsZW1lbnREaXNw
bGF5ZWQuanMKQEAgLTI3LDE4ICsyNyw4IEBAIGZ1bmN0aW9uIGlzU2hvd24oZWxlbWVudCkgewog
ICAgICJ1c2Ugc3RyaWN0IjsKIAogICAgIGZ1bmN0aW9uIG5vZGVJc0VsZW1lbnQobm9kZSkgewot
ICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAg
c3dpdGNoIChub2RlLm5vZGVUeXBlKSB7Ci0gICAgICAgIGNhc2UgTm9kZS5FTEVNRU5UX05PREU6
Ci0gICAgICAgIGNhc2UgTm9kZS5ET0NVTUVOVF9OT0RFOgotICAgICAgICBjYXNlIE5vZGUuRE9D
VU1FTlRfRlJBR01FTlRfTk9ERToKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KKyAgICAgICAg
cmV0dXJuICEhbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERTsKKyAg
ICAgICAgCiAgICAgfQogCiAgICAgZnVuY3Rpb24gcGFyZW50RWxlbWVudEZvckVsZW1lbnQoZWxl
bWVudCkgewpAQCAtNDksNyArMzksNyBAQCBmdW5jdGlvbiBpc1Nob3duKGVsZW1lbnQpIHsKICAg
ICB9CiAKICAgICBmdW5jdGlvbiBlbmNsb3NpbmdOb2RlT3JTZWxmTWF0Y2hpbmdQcmVkaWNhdGUo
dGFyZ2V0Tm9kZSwgcHJlZGljYXRlKSB7Ci0gICAgICAgIGZvciAobGV0IG5vZGUgPSB0YXJnZXRO
b2RlOyBub2RlICYmIG5vZGUgIT09IHRhcmdldE5vZGUub3duZXJEb2N1bWVudDsgbm9kZSA9IG5v
ZGUucGFyZW50Tm9kZSkKKyAgICAgICAgZm9yIChsZXQgbm9kZSA9IHRhcmdldE5vZGU7IG5vZGUg
JiYgbm9kZSAhPT0gdGFyZ2V0Tm9kZS5nZXRSb290Tm9kZSgpOyBub2RlID0gbm9kZS5wYXJlbnRO
b2RlKQogICAgICAgICAgICAgaWYgKHByZWRpY2F0ZShub2RlKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gbm9kZTsKIApAQCAtNTcsNyArNDcsNyBAQCBmdW5jdGlvbiBpc1Nob3duKGVsZW1lbnQp
IHsKICAgICB9CiAKICAgICBmdW5jdGlvbiBlbmNsb3NpbmdFbGVtZW50T3JTZWxmTWF0Y2hpbmdQ
cmVkaWNhdGUodGFyZ2V0RWxlbWVudCwgcHJlZGljYXRlKSB7Ci0gICAgICAgIGZvciAobGV0IGVs
ZW1lbnQgPSB0YXJnZXRFbGVtZW50OyBlbGVtZW50ICYmIGVsZW1lbnQgIT09IHRhcmdldEVsZW1l
bnQub3duZXJEb2N1bWVudDsgZWxlbWVudCA9IHBhcmVudEVsZW1lbnRGb3JFbGVtZW50KGVsZW1l
bnQpKQorICAgICAgICBmb3IgKGxldCBlbGVtZW50ID0gdGFyZ2V0RWxlbWVudDsgZWxlbWVudCAm
JiBlbGVtZW50ICE9PSB0YXJnZXRFbGVtZW50LmdldFJvb3ROb2RlKCk7IGVsZW1lbnQgPSBwYXJl
bnRFbGVtZW50Rm9yRWxlbWVudChlbGVtZW50KSkKICAgICAgICAgICAgIGlmIChwcmVkaWNhdGUo
ZWxlbWVudCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9u
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb25Qcm94eS5jcHAKaW5kZXggYjNhNTRjYTAyNDNkNzgxYTc4NDI4MzJmMWY1YmE0
Njc4MmU0ZDJhMi4uYmJlYTk0MjdhNGQ4NzFkNWUyNjY1NjkxNGNlMmE5Yjc3YTUwYmI2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb25Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAKQEAgLTczOCw3ICs3MzgsNyBAQCB2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uUHJveHk6OmNvbXB1dGVFbGVtZW50TGF5b3V0KFdlYkNvcmU6
OlBhZ2VJZGVudGlmaWVyIHBhZwogICAgIC8vIENoZWNrIHRoZSBjYXNlIHdoZXJlIGEgbm9uLWRl
c2NlbmRhbnQgZWxlbWVudCBoaXQgdGVzdHMgYmVmb3JlIHRoZSB0YXJnZXQgZWxlbWVudC4gRm9y
IGV4YW1wbGUsIGEgY2hpbGQgPG9wdGlvbj4KICAgICAvLyBvZiBhIDxzZWxlY3Q+IGRvZXMgbm90
IG9ic2N1cmUgdGhlIDxzZWxlY3Q+LCBidXQgdHdvIHNpYmxpbmcgPGRpdj4gdGhhdCBvdmVybGFw
IGF0IHRoZSBJVkNQIHdpbGwgb2JzY3VyZSBlYWNoIG90aGVyLgogICAgIC8vIE5vZGU6OmlzRGVz
Y2VuZGFudE9mKCkgaXMgbm90IHNlbGYtaW5jbHVzaXZlLCBzbyB0aGF0IGlzIGV4cGxpY2l0bHkg
Y2hlY2tlZCBoZXJlLgotICAgIGlzT2JzY3VyZWQgPSBlbGVtZW50TGlzdFswXSAhPSBjb250YWlu
ZXJFbGVtZW50ICYmICFlbGVtZW50TGlzdFswXS0+aXNEZXNjZW5kYW50T2YoY29udGFpbmVyRWxl
bWVudCk7CisgICAgaXNPYnNjdXJlZCA9IGVsZW1lbnRMaXN0WzBdICE9IGNvbnRhaW5lckVsZW1l
bnQgJiYgIWVsZW1lbnRMaXN0WzBdLT5pc0Rlc2NlbmRhbnRPclNoYWRvd0Rlc2NlbmRhbnRPZihj
b250YWluZXJFbGVtZW50KTsKIAogICAgIHN3aXRjaCAoY29vcmRpbmF0ZVN5c3RlbSkgewogICAg
IGNhc2UgQ29vcmRpbmF0ZVN5c3RlbTo6UGFnZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>