<?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>210954</bug_id>
          
          <creation_ts>2020-04-23 23:32:40 -0700</creation_ts>
          <short_desc>Use @isUndefinedOrNull instead of abstract equality with null</short_desc>
          <delta_ts>2020-05-21 11:38:17 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=193127</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1645096</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-23 23:32:40 -0700</bug_when>
    <thetext>Use @isUndefinedOrNull instead of abstract equality with null</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645098</commentid>
    <comment_count>1</comment_count>
      <attachid>397430</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-23 23:36:59 -0700</bug_when>
    <thetext>Created attachment 397430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645099</commentid>
    <comment_count>2</comment_count>
      <attachid>397430</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-23 23:50:30 -0700</bug_when>
    <thetext>Comment on attachment 397430
Patch

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

r=me with comment.

&gt; Source/JavaScriptCore/ChangeLog:14
&gt; +        b) Replaces 3 `!= @undefined` and 7 `!= null` comparisons with @isUndefinedOrNull()
&gt; +        as only the latter is correct with [[IsHTMLDDA]] aka MasqueradesAsUndefined objects [2].

Can you add a test with IsHTMLDDA? jsc shell has IsHTMLDDA mechanism so we can write a test for MasqueradesAsUndefined with JSC shell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653725</commentid>
    <comment_count>3</comment_count>
      <attachid>399669</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-05-18 13:11:00 -0700</bug_when>
    <thetext>Created attachment 399669
Patch

Rebase JSTests/test262/expectations.yaml and set reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653726</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-05-18 13:11:43 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #2)
&gt; Can you add a test with IsHTMLDDA? jsc shell has IsHTMLDDA mechanism so we
&gt; can write a test for MasqueradesAsUndefined with JSC shell.

I&apos;ve added test262 coverage for all the comparisons fixed by this patch (r259587 introduced proper $262.IsHTMLDDA).
These tests will be also beneficial for non-mainstream engines like Hermes, which, judging by source code
(https://github.com/facebook/hermes/blob/b6530ae7e25604839c33b60261fb2832f49ca464/lib/InternalBytecode/String.js#L673),
may have the same bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653727</commentid>
    <comment_count>5</comment_count>
      <attachid>399669</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-05-18 13:13:15 -0700</bug_when>
    <thetext>Comment on attachment 399669
Patch

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

&gt; JSTests/test262/expectations.yaml:11
&gt;  test/annexB/built-ins/String/prototype/replaceAll/custom-replacer-emulates-undefined.js:

This test is wrong. Upstream fix: https://github.com/tc39/test262/pull/2626.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655013</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-21 11:37:54 -0700</bug_when>
    <thetext>Committed r262017: &lt;https://trac.webkit.org/changeset/262017&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399669.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655014</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-21 11:38:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/63502823&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397430</attachid>
            <date>2020-04-23 23:36:59 -0700</date>
            <delta_ts>2020-05-18 13:10:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210954-20200424093657.patch</filename>
            <type>text/plain</type>
            <size>9516</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
YTk1YmJkZDkwZjQ2YTUyNDVkMWMzOTNmODJhYThiN2Y5ZmY4MTM4Li5lZGE0MWRhNTc5MGZlMGZm
ZTA5NjljNjk5YWU2Y2ZjOWIzNzdlOWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAyMC0wNC0yMyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFp
bC5jb20+CisKKyAgICAgICAgVXNlIEBpc1VuZGVmaW5lZE9yTnVsbCBpbnN0ZWFkIG9mIGFic3Ry
YWN0IGVxdWFsaXR5IHdpdGggbnVsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjEwOTU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaDoKKworICAgICAgICBhKSBSZXBsYWNlcyAyIGAhPT0g
QHVuZGVmaW5lZGAgY29tcGFyaXNvbnMgaW4gU3RyaW5nLnByb3RvdHlwZS57cmVwbGFjZSxyZXBs
YWNlQWxsfQorICAgICAgICB3aXRoIEBpc1VuZGVmaW5lZE9yTnVsbCgpIGFzIHBlciBzcGVjIFsx
XSwgYWxpZ25pbmcgSlNDIHdpdGggVjggYW5kIFNwaWRlck1vbmtleS4KKworICAgICAgICBiKSBS
ZXBsYWNlcyAzIGAhPSBAdW5kZWZpbmVkYCBhbmQgNyBgIT0gbnVsbGAgY29tcGFyaXNvbnMgd2l0
aCBAaXNVbmRlZmluZWRPck51bGwoKQorICAgICAgICBhcyBvbmx5IHRoZSBsYXR0ZXIgaXMgY29y
cmVjdCB3aXRoIFtbSXNIVE1MRERBXV0gYWthIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQgb2JqZWN0
cyBbMl0uCisKKyAgICAgICAgYykgUmVtb3ZlcyBAaXNEaWN0aW9uYXJ5KCkgc2luY2UgaXQgaXMg
dW51c2VkLCBlYXN5IHRvIGlubGluZSBhbmQgaXRzIG5hbWUgaXMgcXVpdGUKKyAgICAgICAgbWlz
bGVhZGluZzogSSB3b3VsZCBleHBlY3QgaXQgdG8gcGVyZm9ybSBTdHJ1Y3R1cmU6OmlzRGljdGlv
bmFyeSgpLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1nZXRt
ZXRob2QgKHN0ZXAgMykKKyAgICAgICAgWzJdOiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2Vj
LUlzSFRNTEREQS1pbnRlcm5hbC1zbG90CisKKyAgICAgICAgKiBidWlsdGlucy9BcnJheUNvbnN0
cnVjdG9yLmpzOgorICAgICAgICAqIGJ1aWx0aW5zL0dsb2JhbE9wZXJhdGlvbnMuanM6CisgICAg
ICAgIChnbG9iYWxQcml2YXRlLmlzRGljdGlvbmFyeSk6IERlbGV0ZWQuCisgICAgICAgICogYnVp
bHRpbnMvUmVnRXhwUHJvdG90eXBlLmpzOgorICAgICAgICAoU3ltYm9sLnNwbGl0KTogVW5vYnNl
cnZhYmxlIGFzIHRoZXJlIGlzIGA9PT0gbnVsbGAgY2hlY2sgaW4gQHJlZ0V4cEV4ZWMuCisgICAg
ICAgICogYnVpbHRpbnMvU3RyaW5nUHJvdG90eXBlLmpzOgorICAgICAgICAobWF0Y2gpOgorICAg
ICAgICAocmVwbGFjZSk6CisgICAgICAgIChyZXBsYWNlQWxsKToKKyAgICAgICAgKHNlYXJjaCk6
CisgICAgICAgIChzcGxpdCk6CisgICAgICAgICogYnVpbHRpbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9yLmpzOgorCiAyMDIwLTA0LTIyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBPU1IgZXhpdGluZy9pdGVyYXRvciBvYmplY3QgY2hlY2tzIGlu
IGZvci1vZiBieXRlY29kZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9BcnJheUNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0FycmF5Q29uc3RydWN0b3IuanMKaW5kZXggODg3N2ViZjlhMzA1ODBmY2E2NDQ1MzUwMzlmZjJl
NTVhNjJjMzg2NS4uMzdiZTEwMTQxZmU2N2E2ZjNhZTgwOWMzOTQzMzE4OWNkMTAzMTc3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5Q29uc3RydWN0b3Iu
anMKQEAgLTU1LDcgKzU1LDcgQEAgZnVuY3Rpb24gZnJvbShpdGVtcyAvKiwgbWFwRm4sIHRoaXNB
cmcgKi8pCiAgICAgdmFyIGFycmF5TGlrZSA9IEB0b09iamVjdChpdGVtcywgIkFycmF5LmZyb20g
cmVxdWlyZXMgYW4gYXJyYXktbGlrZSBvYmplY3QgLSBub3QgbnVsbCBvciB1bmRlZmluZWQiKTsK
IAogICAgIHZhciBpdGVyYXRvck1ldGhvZCA9IGl0ZW1zLkBAaXRlcmF0b3I7Ci0gICAgaWYgKGl0
ZXJhdG9yTWV0aG9kICE9IG51bGwpIHsKKyAgICBpZiAoIUBpc1VuZGVmaW5lZE9yTnVsbChpdGVy
YXRvck1ldGhvZCkpIHsKICAgICAgICAgaWYgKHR5cGVvZiBpdGVyYXRvck1ldGhvZCAhPT0gImZ1
bmN0aW9uIikKICAgICAgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiQXJyYXkuZnJvbSByZXF1aXJl
cyB0aGF0IHRoZSBwcm9wZXJ0eSBvZiB0aGUgZmlyc3QgYXJndW1lbnQsIGl0ZW1zW1N5bWJvbC5p
dGVyYXRvcl0sIHdoZW4gZXhpc3RzLCBiZSBhIGZ1bmN0aW9uIik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HbG9iYWxPcGVyYXRpb25zLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9wZXJhdGlvbnMuanMKaW5kZXggYTRmZjA4
ZGNlODY3NTNlM2ZjMWVlMGJhOWQwMDhhMDcxMWU3OGUzMC4uZjM0NjFlZDc4MjhkZWM5OTQwMWQ4
ODdjZjM1NDJkNTA0NGIyMjdjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0dsb2JhbE9wZXJhdGlvbnMuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0dsb2JhbE9wZXJhdGlvbnMuanMKQEAgLTQ5LDE0ICs0OSw2IEBAIGZ1bmN0aW9uIHRv
TGVuZ3RoKHRhcmdldCkKICAgICByZXR1cm4gKyhsZW5ndGggPiAwID8gKGxlbmd0aCA8IEBNQVhf
U0FGRV9JTlRFR0VSID8gbGVuZ3RoIDogQE1BWF9TQUZFX0lOVEVHRVIpIDogMCk7CiB9CiAKLUBn
bG9iYWxQcml2YXRlCi1mdW5jdGlvbiBpc0RpY3Rpb25hcnkob2JqZWN0KQotewotICAgICJ1c2Ug
c3RyaWN0IjsKLQotICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCB8fCB0eXBlb2Ygb2JqZWN0ID09
PSAib2JqZWN0IjsKLX0KLQogQGdsb2JhbFByaXZhdGUKIEBnZXR0ZXIKIEBvdmVycmlkZGVuTmFt
ZT0iZ2V0IFtTeW1ib2wuc3BlY2llc10iCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvUmVnRXhwUHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL1JlZ0V4cFByb3RvdHlwZS5qcwppbmRleCBhMzJmYmIzMmNhZThkMTEzYjQ2OTA2YmJm
ODZkMzg0M2JkZGE4ZTdmLi5lNTM2ZmQyMzU4ZmM4NTI4OGY2OTljMWRlZmEyOGRhNDlmMDE2MjQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUmVnRXhwUHJvdG90
eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9SZWdFeHBQcm90b3R5
cGUuanMKQEAgLTUyOSw3ICs1MjksNyBAQCBmdW5jdGlvbiBzcGxpdChzdHJpbmcsIGxpbWl0KQog
ICAgICAgICAvLyBhLiBMZXQgeiBiZSA/IFJlZ0V4cEV4ZWMoc3BsaXR0ZXIsIFMpLgogICAgICAg
ICB2YXIgeiA9IEByZWdFeHBFeGVjKHNwbGl0dGVyLCBzdHIpOwogICAgICAgICAvLyBiLiBJZiB6
IGlzIG5vdCBudWxsLCByZXR1cm4gQS4KLSAgICAgICAgaWYgKHogIT0gbnVsbCkKKyAgICAgICAg
aWYgKHogIT09IG51bGwpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAvLyBj
LiBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5KEEsICIwIiwgUykuCiAgICAgICAgIEBwdXRC
eVZhbERpcmVjdChyZXN1bHQsIDAsIHN0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnVpbHRpbnMvU3RyaW5nUHJvdG90eXBlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL1N0cmluZ1Byb3RvdHlwZS5qcwppbmRleCA2OWU2M2QzZjc3YWMxZTM0ZGEyYWVm
ODNjNjRmMmM5Mzc3ODM5M2Y1Li44MjRiMDFhY2IxMzU3ZTlmZWYxYzBkYTJmNDJkMzZmNDUwMDZh
YmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU3RyaW5nUHJv
dG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9TdHJpbmdQcm90
b3R5cGUuanMKQEAgLTMyLDkgKzMyLDkgQEAgZnVuY3Rpb24gbWF0Y2gocmVnZXhwKQogICAgIGlm
IChAaXNVbmRlZmluZWRPck51bGwodGhpcykpCiAgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiU3Ry
aW5nLnByb3RvdHlwZS5tYXRjaCByZXF1aXJlcyB0aGF0IHx0aGlzfCBub3QgYmUgbnVsbCBvciB1
bmRlZmluZWQiKTsKIAotICAgIGlmIChyZWdleHAgIT0gbnVsbCkgeworICAgIGlmICghQGlzVW5k
ZWZpbmVkT3JOdWxsKHJlZ2V4cCkpIHsKICAgICAgICAgdmFyIG1hdGNoZXIgPSByZWdleHAuQEBt
YXRjaDsKLSAgICAgICAgaWYgKG1hdGNoZXIgIT0gQHVuZGVmaW5lZCkKKyAgICAgICAgaWYgKCFA
aXNVbmRlZmluZWRPck51bGwobWF0Y2hlcikpCiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlci5A
Y2FsbChyZWdleHAsIHRoaXMpOwogICAgIH0KIApAQCAtMjQ1LDkgKzI0NSw5IEBAIGZ1bmN0aW9u
IHJlcGxhY2Uoc2VhcmNoLCByZXBsYWNlKQogICAgIGlmIChAaXNVbmRlZmluZWRPck51bGwodGhp
cykpCiAgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIHJl
cXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpOwogCi0gICAgaWYg
KHNlYXJjaCAhPSBudWxsKSB7CisgICAgaWYgKCFAaXNVbmRlZmluZWRPck51bGwoc2VhcmNoKSkg
ewogICAgICAgICB2YXIgcmVwbGFjZXIgPSBzZWFyY2guQEByZXBsYWNlOwotICAgICAgICBpZiAo
cmVwbGFjZXIgIT09IEB1bmRlZmluZWQpIHsKKyAgICAgICAgaWYgKCFAaXNVbmRlZmluZWRPck51
bGwocmVwbGFjZXIpKSB7CiAgICAgICAgICAgICBpZiAoIUBoYXNPYnNlcnZhYmxlU2lkZUVmZmVj
dHNGb3JTdHJpbmdSZXBsYWNlKHNlYXJjaCwgcmVwbGFjZXIpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBAdG9TdHJpbmcodGhpcykuQHJlcGxhY2VVc2luZ1JlZ0V4cChzZWFyY2gsIHJlcGxhY2Up
OwogICAgICAgICAgICAgcmV0dXJuIHJlcGxhY2VyLkBjYWxsKHNlYXJjaCwgdGhpcywgcmVwbGFj
ZSk7CkBAIC0yNjYsMTIgKzI2NiwxMiBAQCBmdW5jdGlvbiByZXBsYWNlQWxsKHNlYXJjaCwgcmVw
bGFjZSkKICAgICBpZiAoQGlzVW5kZWZpbmVkT3JOdWxsKHRoaXMpKQogICAgICAgICBAdGhyb3dU
eXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCByZXF1aXJlcyB8dGhpc3wgbm90
IHRvIGJlIG51bGwgbm9yIHVuZGVmaW5lZCIpOwogCi0gICAgaWYgKHNlYXJjaCAhPSBudWxsKSB7
CisgICAgaWYgKCFAaXNVbmRlZmluZWRPck51bGwoc2VhcmNoKSkgewogICAgICAgICBpZiAoQGlz
UmVnRXhwKHNlYXJjaCkgJiYgIUBzdHJpbmdJbmNsdWRlc0ludGVybmFsLkBjYWxsKEB0b1N0cmlu
ZyhzZWFyY2guZmxhZ3MpLCAiZyIpKQogICAgICAgICAgICAgQHRocm93VHlwZUVycm9yKCJTdHJp
bmcucHJvdG90eXBlLnJlcGxhY2VBbGwgYXJndW1lbnQgbXVzdCBub3QgYmUgYSBub24tZ2xvYmFs
IHJlZ3VsYXIgZXhwcmVzc2lvbiIpOwogCiAgICAgICAgIHZhciByZXBsYWNlciA9IHNlYXJjaC5A
QHJlcGxhY2U7Ci0gICAgICAgIGlmIChyZXBsYWNlciAhPT0gQHVuZGVmaW5lZCkgeworICAgICAg
ICBpZiAoIUBpc1VuZGVmaW5lZE9yTnVsbChyZXBsYWNlcikpIHsKICAgICAgICAgICAgIGlmICgh
QGhhc09ic2VydmFibGVTaWRlRWZmZWN0c0ZvclN0cmluZ1JlcGxhY2Uoc2VhcmNoLCByZXBsYWNl
cikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEB0b1N0cmluZyh0aGlzKS5AcmVwbGFjZVVzaW5n
UmVnRXhwKHNlYXJjaCwgcmVwbGFjZSk7CiAgICAgICAgICAgICByZXR1cm4gcmVwbGFjZXIuQGNh
bGwoc2VhcmNoLCB0aGlzLCByZXBsYWNlKTsKQEAgLTI5MCw5ICsyOTAsOSBAQCBmdW5jdGlvbiBz
ZWFyY2gocmVnZXhwKQogICAgIGlmIChAaXNVbmRlZmluZWRPck51bGwodGhpcykpCiAgICAgICAg
IEB0aHJvd1R5cGVFcnJvcigiU3RyaW5nLnByb3RvdHlwZS5zZWFyY2ggcmVxdWlyZXMgdGhhdCB8
dGhpc3wgbm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7CiAKLSAgICBpZiAocmVnZXhwICE9IG51
bGwpIHsKKyAgICBpZiAoIUBpc1VuZGVmaW5lZE9yTnVsbChyZWdleHApKSB7CiAgICAgICAgIHZh
ciBzZWFyY2hlciA9IHJlZ2V4cC5AQHNlYXJjaDsKLSAgICAgICAgaWYgKHNlYXJjaGVyICE9IEB1
bmRlZmluZWQpCisgICAgICAgIGlmICghQGlzVW5kZWZpbmVkT3JOdWxsKHNlYXJjaGVyKSkKICAg
ICAgICAgICAgIHJldHVybiBzZWFyY2hlci5AY2FsbChyZWdleHAsIHRoaXMpOwogICAgIH0KIApA
QCAtMzA4LDkgKzMwOCw5IEBAIGZ1bmN0aW9uIHNwbGl0KHNlcGFyYXRvciwgbGltaXQpCiAgICAg
aWYgKEBpc1VuZGVmaW5lZE9yTnVsbCh0aGlzKSkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJT
dHJpbmcucHJvdG90eXBlLnNwbGl0IHJlcXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSBudWxsIG9y
IHVuZGVmaW5lZCIpOwogICAgIAotICAgIGlmIChzZXBhcmF0b3IgIT0gbnVsbCkgeworICAgIGlm
ICghQGlzVW5kZWZpbmVkT3JOdWxsKHNlcGFyYXRvcikpIHsKICAgICAgICAgdmFyIHNwbGl0dGVy
ID0gc2VwYXJhdG9yLkBAc3BsaXQ7Ci0gICAgICAgIGlmIChzcGxpdHRlciAhPSBAdW5kZWZpbmVk
KQorICAgICAgICBpZiAoIUBpc1VuZGVmaW5lZE9yTnVsbChzcGxpdHRlcikpCiAgICAgICAgICAg
ICByZXR1cm4gc3BsaXR0ZXIuQGNhbGwoc2VwYXJhdG9yLCB0aGlzLCBsaW1pdCk7CiAgICAgfQog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3IuanMKaW5kZXggOTRhYzY3OWM1MTE4ZjQ1ODI4NjdiY2ZhYjgwNmNkYmI3
YjI1ODEzZi4uNmYzZTQyMGY1NjI4NTc3NTRkZTJmMTZjNjNmY2JjZGQ5NjU1MjA2NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
ci5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9yLmpzCkBAIC02Miw3ICs2Miw3IEBAIGZ1bmN0aW9uIGZyb20oaXRlbXMgLyogWyAsIG1h
cGZuIFsgLCB0aGlzQXJnIF0gXSAqLykKICAgICB2YXIgYXJyYXlMaWtlID0gQHRvT2JqZWN0KGl0
ZW1zLCAiVHlwZWRBcnJheS5mcm9tIHJlcXVpcmVzIGFuIGFycmF5LWxpa2Ugb2JqZWN0IC0gbm90
IG51bGwgb3IgdW5kZWZpbmVkIik7CiAKICAgICB2YXIgaXRlcmF0b3JNZXRob2QgPSBpdGVtcy5A
QGl0ZXJhdG9yOwotICAgIGlmIChpdGVyYXRvck1ldGhvZCAhPSBudWxsKSB7CisgICAgaWYgKCFA
aXNVbmRlZmluZWRPck51bGwoaXRlcmF0b3JNZXRob2QpKSB7CiAgICAgICAgIGlmICh0eXBlb2Yg
aXRlcmF0b3JNZXRob2QgIT09ICJmdW5jdGlvbiIpCiAgICAgICAgICAgICBAdGhyb3dUeXBlRXJy
b3IoIlR5cGVkQXJyYXkuZnJvbSByZXF1aXJlcyB0aGF0IHRoZSBwcm9wZXJ0eSBvZiB0aGUgZmly
c3QgYXJndW1lbnQsIGl0ZW1zW1N5bWJvbC5pdGVyYXRvcl0sIHdoZW4gZXhpc3RzLCBiZSBhIGZ1
bmN0aW9uIik7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZjlhZWVmNDYyMDY1ODViYmJmY2Y5ZDg1MjI0NWJiNmI0YjUyNzg4ZS4uZGUz
NGNlOGRlYjdmYjBlMzEzOTZlNDczMzhlM2I3N2JmODg5MzVhNyAxMDA2NDQKLS0tIGEvSlNUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0wNC0yMyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAg
ICAgVXNlIEBpc1VuZGVmaW5lZE9yTnVsbCBpbnN0ZWFkIG9mIGFic3RyYWN0IGVxdWFsaXR5IHdp
dGggbnVsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB0ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sOiBNYXJrIDQgdGVzdCBjYXNlcyBhcyBwYXNzaW5n
LgorCiAyMDIwLTA0LTIzICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIHRlc3QyNjIgZ2FyZGVuaW5nIGZvbGxvd2luZyByMjYwNTkx
LgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0
cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IDQzYjY1NTFlM2VmNDY1MTUzNjU1NjNl
NWFlZmI1YThiZjFjODQ5OGQuLjQ2MTk4Zjc4ODRhYjZkYTQyYWUzN2MxZWU5NWVmNmZkODlmODcz
ZDkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTE3MjMsMTIgKzE3MjMsNiBAQCB0
ZXN0L2J1aWx0LWlucy9TZXQvcHJvdG8tZnJvbS1jdG9yLXJlYWxtLmpzOgogdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrwrssIMKrwrspIHRvIGJlIHRydWUnCiAgIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqvCuywgwqvCuykgdG8g
YmUgdHJ1ZScKLXRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZS9jc3RtLXJl
cGxhY2UtaXMtbnVsbC5qczoKLSAgZGVmYXVsdDogJ1R5cGVFcnJvcjogbnVsbCBpcyBub3QgYSBm
dW5jdGlvbicKLSAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IG51bGwgaXMgbm90IGEgZnVuY3Rp
b24nCi10ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFs
dWUtcmVwbGFjZXItaXMtbnVsbC5qczoKLSAgZGVmYXVsdDogJ1R5cGVFcnJvcjogbnVsbCBpcyBu
b3QgYSBmdW5jdGlvbicKLSAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IG51bGwgaXMgbm90IGEg
ZnVuY3Rpb24nCiB0ZXN0L2J1aWx0LWlucy9TeW1ib2wvaXMtY29uc3RydWN0b3IuanM6CiAgIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZScKICAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZScK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399669</attachid>
            <date>2020-05-18 13:11:00 -0700</date>
            <delta_ts>2020-05-21 11:37:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210954-20200518231058.patch</filename>
            <type>text/plain</type>
            <size>11935</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjE4MjMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEyIEBACisyMDIwLTA1LTE4ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBVc2UgQGlzVW5kZWZpbmVkT3JOdWxsIGluc3RlYWQgb2Yg
YWJzdHJhY3QgZXF1YWxpdHkgd2l0aCBudWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA5NTQKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2Ug
U3V6dWtpLgorCisgICAgICAgICogdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbDogTWFyayAxNiB0
ZXN0IGNhc2VzIGFzIHBhc3NpbmcuCisKIDIwMjAtMDUtMTggIFBhdWxvIE1hdG9zICA8cG1hdG9z
QGlnYWxpYS5jb20+CiAKICAgICAgICAgU2tpcCBzdHJlc3MgdGVzdCBhcnJheS1idWZmZXItdmll
dy13YXRjaHBvaW50LWNhbi1iZS1maXJlZC1pbi1yZWFsbHktYWRkLWluLWRmZy5qcyBvbiBNSVBT
CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCShyZXZpc2lvbiAyNjE4MjMpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNyAr
MSw0IEBACiAtLS0KLXRlc3QvYW5uZXhCL2J1aWx0LWlucy9BcnJheS9mcm9tL2l0ZXJhdG9yLW1l
dGhvZC1lbXVsYXRlcy11bmRlZmluZWQuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJv
d24gYXQgYWxsJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBl
RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0
ZXN0L2FubmV4Qi9idWlsdC1pbnMvRnVuY3Rpb24vY3JlYXRlZHluZm4taHRtbC1jbG9zZS1jb21t
ZW50LXBhcmFtcy5qczoKICAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICd9Jy4gRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgcGF0dGVybiBvciBhICcpJyBpbiBwYXJhbWV0ZXIg
bGlzdC4iCiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJ30n
LiBFeHBlY3RlZCBhIHBhcmFtZXRlciBwYXR0ZXJuIG9yIGEgJyknIGluIHBhcmFtZXRlciBsaXN0
LiIKQEAgLTExLDI0ICs4LDkgQEAgdGVzdC9hbm5leEIvYnVpbHQtaW5zL0Z1bmN0aW9uL2NyZWF0
ZWR5bgogdGVzdC9hbm5leEIvYnVpbHQtaW5zL0Z1bmN0aW9uL2NyZWF0ZWR5bmZuLW5vLWxpbmUt
dGVybWluYXRvci1odG1sLWNsb3NlLWNvbW1lbnQtYm9keS5qczoKICAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2Vw
dGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRo
cm93biBhdCBhbGwnCi10ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9tYXRj
aC9jdXN0b20tbWF0Y2hlci1lbXVsYXRlcy11bmRlZmluZWQuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzDCuywgwqsxwrspIHRvIGJlIHRydWUnCi0g
IHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqswwrssIMKr
McK7KSB0byBiZSB0cnVlJwotdGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
cmVwbGFjZS9jdXN0b20tcmVwbGFjZXItZW11bGF0ZXMtdW5kZWZpbmVkLmpzOgotICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqvCuywgwqtudWxswrspIHRvIGJl
IHRydWUnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUo
wqvCuywgwqtudWxswrspIHRvIGJlIHRydWUnCiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9yZXBsYWNlQWxsL2N1c3RvbS1yZXBsYWNlci1lbXVsYXRlcy11bmRlZmluZWQu
anM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq8K7LCDC
q251bGzCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIFNhbWVWYWx1ZSjCq8K7LCDCq251bGzCuykgdG8gYmUgdHJ1ZScKLXRlc3QvYW5uZXhCL2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NlYXJjaC9jdXN0b20tc2VhcmNoZXItZW11bGF0ZXMt
dW5kZWZpbmVkLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFs
dWUowqstMcK7LCDCq251bGzCuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqy0xwrssIMKrbnVsbMK7KSB0byBiZSB0cnVlJwot
dGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY3VzdG9tLXNwbGl0
dGVyLWVtdWxhdGVzLXVuZGVmaW5lZC5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgU2FtZVZhbHVlKMKrwrssIMKrbnVsbMK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9k
ZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrwrssIMKrbnVsbMK7KSB0byBi
ZSB0cnVlJwotdGVzdC9hbm5leEIvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvZnJv
bS9pdGVyYXRvci1tZXRob2QtZW11bGF0ZXMtdW5kZWZpbmVkLmpzOgotICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2Vw
dGlvbiB3YXMgdGhyb3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJwotICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhy
b3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9h
dDY0QXJyYXkuKScKIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V2YWwtY29kZS9kaXJlY3QvZnVuYy1i
bG9jay1kZWNsLWV2YWwtZnVuYy1za2lwLWVhcmx5LWVyci1ibG9jay5qczoKICAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogQW4gaW5pdGlhbGl6ZWQgYmluZGluZyBpcyBub3QgY3JlYXRlZCBwcmlv
ciB0byBldmFsdWF0aW9uIEV4cGVjdGVkIGEgUmVmZXJlbmNlRXJyb3IgdG8gYmUgdGhyb3duIGJ1
dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9l
dmFsLWNvZGUvZGlyZWN0L2Z1bmMtYmxvY2stZGVjbC1ldmFsLWZ1bmMtc2tpcC1lYXJseS1lcnIt
Zm9yLWluLmpzOgpAQCAtMTUyOCwxMiArMTUxMCw2IEBAIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvdW5pY29kZS8KIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9xdWFudGlmaWVyLWludGVn
ZXItbGltaXQuanM6CiAgIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4
cHJlc3Npb246IG51bWJlciB0b28gbGFyZ2UgaW4ge30gcXVhbnRpZmllcicKICAgc3RyaWN0IG1v
ZGU6ICdTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IG51bWJlciB0b28g
bGFyZ2UgaW4ge30gcXVhbnRpZmllcicKLXRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
cmVwbGFjZS9jc3RtLXJlcGxhY2UtaXMtbnVsbC5qczoKLSAgZGVmYXVsdDogJ1R5cGVFcnJvcjog
bnVsbCBpcyBub3QgYSBmdW5jdGlvbicKLSAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IG51bGwg
aXMgbm90IGEgZnVuY3Rpb24nCi10ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxh
Y2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItaXMtbnVsbC5qczoKLSAgZGVmYXVsdDogJ1R5cGVF
cnJvcjogbnVsbCBpcyBub3QgYSBmdW5jdGlvbicKLSAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6
IG51bGwgaXMgbm90IGEgZnVuY3Rpb24nCiB0ZXN0L2J1aWx0LWlucy9UaHJvd1R5cGVFcnJvci9l
eHRlbnNpYmxlLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFs
dWUowqt0cnVlwrssIMKrZmFsc2XCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0
cnVlJwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjE4MjMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzcgQEAKKzIwMjAtMDUtMTggIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29t
PgorCisgICAgICAgIFVzZSBAaXNVbmRlZmluZWRPck51bGwgaW5zdGVhZCBvZiBhYnN0cmFjdCBl
cXVhbGl0eSB3aXRoIG51bGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMDk1NAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisK
KyAgICAgICAgVGhpcyBwYXRjaDoKKworICAgICAgICBhKSBSZXBsYWNlcyAyIGAhPT0gQHVuZGVm
aW5lZGAgY29tcGFyaXNvbnMgaW4gU3RyaW5nLnByb3RvdHlwZS57cmVwbGFjZSxyZXBsYWNlQWxs
fQorICAgICAgICB3aXRoIEBpc1VuZGVmaW5lZE9yTnVsbCgpIGFzIHBlciBzcGVjIFsxXSwgYWxp
Z25pbmcgSlNDIHdpdGggVjggYW5kIFNwaWRlck1vbmtleS4KKworICAgICAgICBiKSBSZXBsYWNl
cyAzIGAhPSBAdW5kZWZpbmVkYCBhbmQgNyBgIT0gbnVsbGAgY29tcGFyaXNvbnMgd2l0aCBAaXNV
bmRlZmluZWRPck51bGwoKQorICAgICAgICBhcyBvbmx5IHRoZSBsYXR0ZXIgaXMgY29ycmVjdCB3
aXRoIFtbSXNIVE1MRERBXV0gYWthIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQgb2JqZWN0cyBbMl0u
CisKKyAgICAgICAgYykgUmVtb3ZlcyBAaXNEaWN0aW9uYXJ5KCkgc2luY2UgaXQgaXMgdW51c2Vk
LCBlYXN5IHRvIGlubGluZSBhbmQgaXRzIG5hbWUgaXMgcXVpdGUKKyAgICAgICAgbWlzbGVhZGlu
Zzogb25lIG1pZ2h0IGV4cGVjdCBpdCB0byBwZXJmb3JtIFN0cnVjdHVyZTo6aXNEaWN0aW9uYXJ5
KCkuCisKKyAgICAgICAgWzFdOiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWdldG1ldGhv
ZCAoc3RlcCAzKQorICAgICAgICBbMl06IGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtSXNI
VE1MRERBLWludGVybmFsLXNsb3QKKworICAgICAgICAqIGJ1aWx0aW5zL0FycmF5Q29uc3RydWN0
b3IuanM6CisgICAgICAgICogYnVpbHRpbnMvR2xvYmFsT3BlcmF0aW9ucy5qczoKKyAgICAgICAg
KGdsb2JhbFByaXZhdGUuaXNEaWN0aW9uYXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKiBidWlsdGlu
cy9SZWdFeHBQcm90b3R5cGUuanM6CisgICAgICAgIChTeW1ib2wuc3BsaXQpOiBVbm9ic2VydmFi
bGUgYXMgdGhlcmUgaXMgYD09PSBudWxsYCBjaGVjayBpbiBAcmVnRXhwRXhlYy4KKyAgICAgICAg
KiBidWlsdGlucy9TdHJpbmdQcm90b3R5cGUuanM6CisgICAgICAgIChtYXRjaCk6CisgICAgICAg
IChyZXBsYWNlKToKKyAgICAgICAgKHJlcGxhY2VBbGwpOgorICAgICAgICAoc2VhcmNoKToKKyAg
ICAgICAgKHNwbGl0KToKKyAgICAgICAgKiBidWlsdGlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Iu
anM6CisKIDIwMjAtMDUtMTcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCBsaW5rIGZpeCBmb3Igb3VyIGludGVybmFsIERlYnVnIGJ1aWxk
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlDb25zdHJ1Y3Rvci5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXlDb25z
dHJ1Y3Rvci5qcwkocmV2aXNpb24gMjYxODIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0FycmF5Q29uc3RydWN0b3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcg
QEAgZnVuY3Rpb24gZnJvbShpdGVtcyAvKiwgbWFwRm4sIHRoaXNBcmcgKgogICAgIHZhciBhcnJh
eUxpa2UgPSBAdG9PYmplY3QoaXRlbXMsICJBcnJheS5mcm9tIHJlcXVpcmVzIGFuIGFycmF5LWxp
a2Ugb2JqZWN0IC0gbm90IG51bGwgb3IgdW5kZWZpbmVkIik7CiAKICAgICB2YXIgaXRlcmF0b3JN
ZXRob2QgPSBpdGVtcy5AQGl0ZXJhdG9yOwotICAgIGlmIChpdGVyYXRvck1ldGhvZCAhPSBudWxs
KSB7CisgICAgaWYgKCFAaXNVbmRlZmluZWRPck51bGwoaXRlcmF0b3JNZXRob2QpKSB7CiAgICAg
ICAgIGlmICh0eXBlb2YgaXRlcmF0b3JNZXRob2QgIT09ICJmdW5jdGlvbiIpCiAgICAgICAgICAg
ICBAdGhyb3dUeXBlRXJyb3IoIkFycmF5LmZyb20gcmVxdWlyZXMgdGhhdCB0aGUgcHJvcGVydHkg
b2YgdGhlIGZpcnN0IGFyZ3VtZW50LCBpdGVtc1tTeW1ib2wuaXRlcmF0b3JdLCB3aGVuIGV4aXN0
cywgYmUgYSBmdW5jdGlvbiIpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvR2xvYmFsT3BlcmF0aW9ucy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvR2xvYmFsT3BlcmF0aW9ucy5qcwkocmV2aXNpb24gMjYxODIzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dsb2JhbE9wZXJhdGlvbnMuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDE0ICs1MCw2IEBAIGZ1bmN0aW9uIHRvTGVuZ3RoKHRhcmdldCkKIH0KIAog
QGdsb2JhbFByaXZhdGUKLWZ1bmN0aW9uIGlzRGljdGlvbmFyeShvYmplY3QpCi17Ci0gICAgInVz
ZSBzdHJpY3QiOwotCi0gICAgcmV0dXJuIG9iamVjdCA9PSBudWxsIHx8IHR5cGVvZiBvYmplY3Qg
PT09ICJvYmplY3QiOwotfQotCi1AZ2xvYmFsUHJpdmF0ZQogQGdldHRlcgogQG92ZXJyaWRkZW5O
YW1lPSJnZXQgW1N5bWJvbC5zcGVjaWVzXSIKIGZ1bmN0aW9uIHNwZWNpZXNHZXR0ZXIoKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1JlZ0V4cFByb3RvdHlwZS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUmVnRXhwUHJvdG90eXBl
LmpzCShyZXZpc2lvbiAyNjE4MjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
UmVnRXhwUHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01MjksNyArNTI5LDcgQEAgZnVu
Y3Rpb24gc3BsaXQoc3RyaW5nLCBsaW1pdCkKICAgICAgICAgLy8gYS4gTGV0IHogYmUgPyBSZWdF
eHBFeGVjKHNwbGl0dGVyLCBTKS4KICAgICAgICAgdmFyIHogPSBAcmVnRXhwRXhlYyhzcGxpdHRl
ciwgc3RyKTsKICAgICAgICAgLy8gYi4gSWYgeiBpcyBub3QgbnVsbCwgcmV0dXJuIEEuCi0gICAg
ICAgIGlmICh6ICE9IG51bGwpCisgICAgICAgIGlmICh6ICE9PSBudWxsKQogICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICAgICAgLy8gYy4gUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0
eShBLCAiMCIsIFMpLgogICAgICAgICBAcHV0QnlWYWxEaXJlY3QocmVzdWx0LCAwLCBzdHIpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1N0cmluZ1Byb3RvdHlwZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvU3RyaW5nUHJvdG90
eXBlLmpzCShyZXZpc2lvbiAyNjE4MjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvU3RyaW5nUHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw5ICszMiw5IEBAIGZ1
bmN0aW9uIG1hdGNoKHJlZ2V4cCkKICAgICBpZiAoQGlzVW5kZWZpbmVkT3JOdWxsKHRoaXMpKQog
ICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUubWF0Y2ggcmVxdWlyZXMg
dGhhdCB8dGhpc3wgbm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7CiAKLSAgICBpZiAocmVnZXhw
ICE9IG51bGwpIHsKKyAgICBpZiAoIUBpc1VuZGVmaW5lZE9yTnVsbChyZWdleHApKSB7CiAgICAg
ICAgIHZhciBtYXRjaGVyID0gcmVnZXhwLkBAbWF0Y2g7Ci0gICAgICAgIGlmIChtYXRjaGVyICE9
IEB1bmRlZmluZWQpCisgICAgICAgIGlmICghQGlzVW5kZWZpbmVkT3JOdWxsKG1hdGNoZXIpKQog
ICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXIuQGNhbGwocmVnZXhwLCB0aGlzKTsKICAgICB9CiAK
QEAgLTI0NSw5ICsyNDUsOSBAQCBmdW5jdGlvbiByZXBsYWNlKHNlYXJjaCwgcmVwbGFjZSkKICAg
ICBpZiAoQGlzVW5kZWZpbmVkT3JOdWxsKHRoaXMpKQogICAgICAgICBAdGhyb3dUeXBlRXJyb3Io
IlN0cmluZy5wcm90b3R5cGUucmVwbGFjZSByZXF1aXJlcyB0aGF0IHx0aGlzfCBub3QgYmUgbnVs
bCBvciB1bmRlZmluZWQiKTsKIAotICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeworICAgIGlmICgh
QGlzVW5kZWZpbmVkT3JOdWxsKHNlYXJjaCkpIHsKICAgICAgICAgdmFyIHJlcGxhY2VyID0gc2Vh
cmNoLkBAcmVwbGFjZTsKLSAgICAgICAgaWYgKHJlcGxhY2VyICE9PSBAdW5kZWZpbmVkKSB7Cisg
ICAgICAgIGlmICghQGlzVW5kZWZpbmVkT3JOdWxsKHJlcGxhY2VyKSkgewogICAgICAgICAgICAg
aWYgKCFAaGFzT2JzZXJ2YWJsZVNpZGVFZmZlY3RzRm9yU3RyaW5nUmVwbGFjZShzZWFyY2gsIHJl
cGxhY2VyKSkKICAgICAgICAgICAgICAgICByZXR1cm4gQHRvU3RyaW5nKHRoaXMpLkByZXBsYWNl
VXNpbmdSZWdFeHAoc2VhcmNoLCByZXBsYWNlKTsKICAgICAgICAgICAgIHJldHVybiByZXBsYWNl
ci5AY2FsbChzZWFyY2gsIHRoaXMsIHJlcGxhY2UpOwpAQCAtMjY2LDEyICsyNjYsMTIgQEAgZnVu
Y3Rpb24gcmVwbGFjZUFsbChzZWFyY2gsIHJlcGxhY2UpCiAgICAgaWYgKEBpc1VuZGVmaW5lZE9y
TnVsbCh0aGlzKSkKICAgICAgICAgQHRocm93VHlwZUVycm9yKCJTdHJpbmcucHJvdG90eXBlLnJl
cGxhY2VBbGwgcmVxdWlyZXMgfHRoaXN8IG5vdCB0byBiZSBudWxsIG5vciB1bmRlZmluZWQiKTsK
IAotICAgIGlmIChzZWFyY2ggIT0gbnVsbCkgeworICAgIGlmICghQGlzVW5kZWZpbmVkT3JOdWxs
KHNlYXJjaCkpIHsKICAgICAgICAgaWYgKEBpc1JlZ0V4cChzZWFyY2gpICYmICFAc3RyaW5nSW5j
bHVkZXNJbnRlcm5hbC5AY2FsbChAdG9TdHJpbmcoc2VhcmNoLmZsYWdzKSwgImciKSkKICAgICAg
ICAgICAgIEB0aHJvd1R5cGVFcnJvcigiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIGFyZ3Vt
ZW50IG11c3Qgbm90IGJlIGEgbm9uLWdsb2JhbCByZWd1bGFyIGV4cHJlc3Npb24iKTsKIAogICAg
ICAgICB2YXIgcmVwbGFjZXIgPSBzZWFyY2guQEByZXBsYWNlOwotICAgICAgICBpZiAocmVwbGFj
ZXIgIT09IEB1bmRlZmluZWQpIHsKKyAgICAgICAgaWYgKCFAaXNVbmRlZmluZWRPck51bGwocmVw
bGFjZXIpKSB7CiAgICAgICAgICAgICBpZiAoIUBoYXNPYnNlcnZhYmxlU2lkZUVmZmVjdHNGb3JT
dHJpbmdSZXBsYWNlKHNlYXJjaCwgcmVwbGFjZXIpKQogICAgICAgICAgICAgICAgIHJldHVybiBA
dG9TdHJpbmcodGhpcykuQHJlcGxhY2VVc2luZ1JlZ0V4cChzZWFyY2gsIHJlcGxhY2UpOwogICAg
ICAgICAgICAgcmV0dXJuIHJlcGxhY2VyLkBjYWxsKHNlYXJjaCwgdGhpcywgcmVwbGFjZSk7CkBA
IC0yOTAsOSArMjkwLDkgQEAgZnVuY3Rpb24gc2VhcmNoKHJlZ2V4cCkKICAgICBpZiAoQGlzVW5k
ZWZpbmVkT3JOdWxsKHRoaXMpKQogICAgICAgICBAdGhyb3dUeXBlRXJyb3IoIlN0cmluZy5wcm90
b3R5cGUuc2VhcmNoIHJlcXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5l
ZCIpOwogCi0gICAgaWYgKHJlZ2V4cCAhPSBudWxsKSB7CisgICAgaWYgKCFAaXNVbmRlZmluZWRP
ck51bGwocmVnZXhwKSkgewogICAgICAgICB2YXIgc2VhcmNoZXIgPSByZWdleHAuQEBzZWFyY2g7
Ci0gICAgICAgIGlmIChzZWFyY2hlciAhPSBAdW5kZWZpbmVkKQorICAgICAgICBpZiAoIUBpc1Vu
ZGVmaW5lZE9yTnVsbChzZWFyY2hlcikpCiAgICAgICAgICAgICByZXR1cm4gc2VhcmNoZXIuQGNh
bGwocmVnZXhwLCB0aGlzKTsKICAgICB9CiAKQEAgLTMwOCw5ICszMDgsOSBAQCBmdW5jdGlvbiBz
cGxpdChzZXBhcmF0b3IsIGxpbWl0KQogICAgIGlmIChAaXNVbmRlZmluZWRPck51bGwodGhpcykp
CiAgICAgICAgIEB0aHJvd1R5cGVFcnJvcigiU3RyaW5nLnByb3RvdHlwZS5zcGxpdCByZXF1aXJl
cyB0aGF0IHx0aGlzfCBub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTsKICAgICAKLSAgICBpZiAo
c2VwYXJhdG9yICE9IG51bGwpIHsKKyAgICBpZiAoIUBpc1VuZGVmaW5lZE9yTnVsbChzZXBhcmF0
b3IpKSB7CiAgICAgICAgIHZhciBzcGxpdHRlciA9IHNlcGFyYXRvci5AQHNwbGl0OwotICAgICAg
ICBpZiAoc3BsaXR0ZXIgIT0gQHVuZGVmaW5lZCkKKyAgICAgICAgaWYgKCFAaXNVbmRlZmluZWRP
ck51bGwoc3BsaXR0ZXIpKQogICAgICAgICAgICAgcmV0dXJuIHNwbGl0dGVyLkBjYWxsKHNlcGFy
YXRvciwgdGhpcywgbGltaXQpOwogICAgIH0KICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9UeXBlZEFycmF5Q29uc3RydWN0b3IuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rvci5qcwkocmV2
aXNpb24gMjYxODIzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3Rvci5qcwkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCBmdW5jdGlv
biBmcm9tKGl0ZW1zIC8qIFsgLCBtYXBmbiBbICwgdGhpCiAgICAgdmFyIGFycmF5TGlrZSA9IEB0
b09iamVjdChpdGVtcywgIlR5cGVkQXJyYXkuZnJvbSByZXF1aXJlcyBhbiBhcnJheS1saWtlIG9i
amVjdCAtIG5vdCBudWxsIG9yIHVuZGVmaW5lZCIpOwogCiAgICAgdmFyIGl0ZXJhdG9yTWV0aG9k
ID0gaXRlbXMuQEBpdGVyYXRvcjsKLSAgICBpZiAoaXRlcmF0b3JNZXRob2QgIT0gbnVsbCkgewor
ICAgIGlmICghQGlzVW5kZWZpbmVkT3JOdWxsKGl0ZXJhdG9yTWV0aG9kKSkgewogICAgICAgICBp
ZiAodHlwZW9mIGl0ZXJhdG9yTWV0aG9kICE9PSAiZnVuY3Rpb24iKQogICAgICAgICAgICAgQHRo
cm93VHlwZUVycm9yKCJUeXBlZEFycmF5LmZyb20gcmVxdWlyZXMgdGhhdCB0aGUgcHJvcGVydHkg
b2YgdGhlIGZpcnN0IGFyZ3VtZW50LCBpdGVtc1tTeW1ib2wuaXRlcmF0b3JdLCB3aGVuIGV4aXN0
cywgYmUgYSBmdW5jdGlvbiIpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>