<?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>210671</bug_id>
          
          <creation_ts>2020-04-17 13:58:17 -0700</creation_ts>
          <short_desc>Web Inspector: REGRESSION(r242018): using `RegExp.prototype.test` with a global `RegExp` will ignore one potential match after each successful match</short_desc>
          <delta_ts>2020-04-20 09:41:48 -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>Web Inspector</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</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>
          <dependson>192527</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1642817</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-17 13:58:17 -0700</bug_when>
    <thetext>```
    let x = /script/gi;
    console.log(x.test(&quot;script&quot;)); // true
    console.log(x.test(&quot;script&quot;)); // false
    console.log(x.test(&quot;script&quot;)); // true
    console.log(x.test(&quot;script&quot;)); // false
```

this is due to the nature of `lastIndex`, which is set when using a global `RegExp` (see 12.a in &lt;https://tc39.es/ecma262/#sec-regexpbuiltinexec&gt;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642825</commentid>
    <comment_count>1</comment_count>
      <attachid>396795</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-17 14:09:39 -0700</bug_when>
    <thetext>Created attachment 396795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642829</commentid>
    <comment_count>2</comment_count>
      <attachid>396797</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-17 14:13:56 -0700</bug_when>
    <thetext>Created attachment 396797
Patch

use better names :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642830</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-17 14:17:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/61950043&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642872</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-17 15:33:10 -0700</bug_when>
    <thetext>Committed r260291: &lt;https://trac.webkit.org/changeset/260291&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396797.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643482</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-04-20 09:41:48 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #0)
&gt; ```
&gt;     let x = /script/gi;
&gt;     console.log(x.test(&quot;script&quot;)); // true
&gt;     console.log(x.test(&quot;script&quot;)); // false
&gt;     console.log(x.test(&quot;script&quot;)); // true
&gt;     console.log(x.test(&quot;script&quot;)); // false
&gt; ```
&gt; 
&gt; this is due to the nature of `lastIndex`, which is set when using a global
&gt; `RegExp` (see 12.a in &lt;https://tc39.es/ecma262/#sec-regexpbuiltinexec&gt;)


Wut.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396795</attachid>
            <date>2020-04-17 14:09:39 -0700</date>
            <delta_ts>2020-04-17 14:13:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210671-20200417150938.patch</filename>
            <type>text/plain</type>
            <size>14270</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDAyMzE2MGY0ZDE2ZTQ0MDA2MjNiMmQ0ZjgxMWVi
Mjc5MTY2Y2QxZDQuLmE5OWQ4Yzg3NTE1YzBjMjk1OGVhMTA1OGM3ZjdkYzY0NjdlYzAyNmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIwLTA0LTE3ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBS
RUdSRVNTSU9OKHIyNDIwMTgpOiB1c2luZyBgUmVnRXhwLnByb3RvdHlwZS50ZXN0YCB3aXRoIGEg
Z2xvYmFsIGBSZWdFeHBgIHdpbGwgaWdub3JlIG9uZSBwb3RlbnRpYWwgbWF0Y2ggYWZ0ZXIgZWFj
aCBzdWNjZXNzZnVsIG1hdGNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTA2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9TZWFyY2hVdGlsaXRpZXMuanM6CisgICAg
ICAgIChXSS5TZWFyY2hVdGlsaXRpZXMubWF0Y2hSZWdFeHBGb3JTdHJpbmcpOgorICAgICAgICAo
V0kuU2VhcmNoVXRpbGl0aWVzLnRlc3RSZWdFeHBGb3JTdHJpbmcpOgorICAgICAgICAoV0kuU2Vh
cmNoVXRpbGl0aWVzLl9yZWdFeHBGb3JTdHJpbmcpOgorICAgICAgICAoV0kuU2VhcmNoVXRpbGl0
aWVzLnJlZ0V4cEZvclN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIE1hbnkgdXNlcyBvZiBgV0ku
U2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmluZ2AgdXNlIHRoZSByZXR1cm5lZCBgUmVnRXhw
YCBtdWx0aXBsZSB0aW1lcywKKyAgICAgICAgZXhwZWN0aW5nIGVhY2ggdXNlIHRvIGJlIGRvbmUg
aW4gaXNvbGF0aW9uIGZyb20gZXZlcnkgb3RoZXIgdXNlIChlLmcuIGZpbHRlcmluZykuIEluIHRo
ZXNlCisgICAgICAgIGNhc2VzLCB0aGUgZ2xvYmFsIGZsYWcgYGdgIHNob3VsZCBub3QgYmUgc2V0
IG9uIHRoZSBgUmVnRXhwYCwgYXMgb3RoZXJ3aXNlIGl0IHdpbGwga2VlcCBhCisgICAgICAgIHN0
YXRlIG9mIHRoZSBsYXN0IG1hdGNoZWQgaW5kZXgsIHRoZXJlYnkgYnJlYWtpbmcgdGhpcyBpc29s
YXRpb24uIEFzIHN1Y2gsIGl0IGlzIG5lY2Vzc2FyeQorICAgICAgICB0byBzcGxpdCBgV0kuU2Vh
cmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmluZ2AgaW50byB0d28gdmVyc2lvbnMsIG9uZSBmb3Ig
ZWFjaCB1c2UgY2FzZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUVs
ZW1lbnQuanM6CisgICAgICAgIChXSS5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUuX2hpZ2hsaWdo
dFNlYXJjaFJlc3VsdHMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVu
dFZpZXcuanM6CisgICAgICAgIChXSS5Mb2dDb250ZW50Vmlldy5wcm90b3R5cGUucGVyZm9ybVNl
YXJjaCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUhlYWRlcnNDb250
ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LnByb3Rv
dHlwZS5fcGVyZm9tU2VhcmNoT25LZXlWYWx1ZVBhaXJzKToKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1Jlc291cmNlU2VjdXJpdHlDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlJl
c291cmNlU2VjdXJpdHlDb250ZW50Vmlldy5wcm90b3R5cGUuX3BlcmZvbVNlYXJjaE9uS2V5VmFs
dWVQYWlycyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFu
ZWwuanM6CisgICAgICAgIChXSS5TZWFyY2hTaWRlYmFyUGFuZWwucHJvdG90eXBlLnBlcmZvcm1T
ZWFyY2guZm9yRWFjaE1hdGNoKToKKyAgICAgICAgVXNlIGBXSS5TZWFyY2hVdGlsaXRpZXMubWF0
Y2hSZWdFeHBGb3JTdHJpbmdgIGFzIHRoZXNlIHZpZXdzIGV4cGVjdCB0aGUgc2VhcmNoIHRvIG1h
aW50YWluCisgICAgICAgIGl0cyBjdXJyZW50IHBvc2l0aW9uIHRocm91Z2hvdXQgdGhlIGNvbnRl
bnRzIG9mIHRoZSB2aWV3LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3Jp
ZC5qczoKKyAgICAgICAgKFdJLkRhdGFHcmlkLnByb3RvdHlwZS5fdXBkYXRlRmlsdGVyKToKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0luZGV4ZWREYXRhYmFzZU9iamVjdFN0b3JlQ29u
dGVudFZpZXcuanM6CisgICAgICAgIChXSS5JbmRleGVkRGF0YWJhc2VPYmplY3RTdG9yZUNvbnRl
bnRWaWV3LnByb3RvdHlwZS5kYXRhR3JpZE1hdGNoTm9kZUFnYWluc3RDdXN0b21GaWx0ZXJzKToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3Lmpz
OgorICAgICAgICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJvdG90eXBlLl91cmxGaWx0
ZXJEaWRDaGFuZ2UpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRl
eHRFZGl0b3IuanM6CisgICAgICAgIChXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5cGUu
Y3VzdG9tUGVyZm9ybVNlYXJjaC5zZWFyY2hSZXN1bHRDYWxsYmFjayk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzOgorICAgICAgICAoV0kuVGV4dEVkaXRvci5w
cm90b3R5cGUucGVyZm9ybVNlYXJjaCk6CisgICAgICAgIFVzZSBgV0kuU2VhcmNoVXRpbGl0aWVz
LnRlc3RSZWdFeHBGb3JTdHJpbmdgIGFzIHRoZXNlIHZpZXdzIGV4cGVjdCBlYWNoIHNlYXJjaCB0
byBiZSBkb25lIGluCisgICAgICAgIGlzb2xhdGlvbiBmcm9tIGV2ZXJ5IG90aGVyIHNlYXJjaCAo
ZS5nLiBmaWx0ZXJpbmcpLgorCiAyMDIwLTA0LTE3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2Fs
ZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBzaG91bGQgZXh0ZW5kIEV2
ZW50VGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL1NlYXJjaFV0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvU2VhcmNoVXRpbGl0aWVzLmpzCmluZGV4IGI2ODA5MzQ4YTM4OTQ3NjAwMGRi
ODZhODYyMjc2ODFiZDU3NjEzYjIuLmI1NmNjYTU0NDAxNmY5MjMzNDBkMjA3MWFmN2ZhMWVlZmI4
ZTI1MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jh
c2UvU2VhcmNoVXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvU2VhcmNoVXRpbGl0aWVzLmpzCkBAIC00OCwyNCArNDgsMTQgQEAgV0kuU2Vh
cmNoVXRpbGl0aWVzID0gY2xhc3MgU2VhcmNoVXRpbGl0aWVzIHsKICAgICAgICAgcmV0dXJuIHNl
dHRpbmdzOwogICAgIH0KIAotICAgIHN0YXRpYyByZWdFeHBGb3JTdHJpbmcocXVlcnksIHNldHRp
bmdzID0ge30pCisgICAgc3RhdGljIG1hdGNoUmVnRXhwRm9yU3RyaW5nKHF1ZXJ5LCBzZXR0aW5n
cyA9IHt9KQogICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2hlY2tTZXR0aW5nKHNldHRpbmcpIHsK
LSAgICAgICAgICAgIHJldHVybiBzZXR0aW5nIGluc3RhbmNlb2YgV0kuU2V0dGluZyA/IHNldHRp
bmcudmFsdWUgOiAhIXNldHRpbmc7Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFdJLlNlYXJj
aFV0aWxpdGllcy5fcmVnRXhwRm9yU3RyaW5nKHF1ZXJ5LCBzZXR0aW5ncywge2dsb2JhbDogdHJ1
ZX0pOworICAgIH0KIAotICAgICAgICBjb25zb2xlLmFzc2VydCgodHlwZW9mIHF1ZXJ5ID09PSAi
c3RyaW5nIiAmJiBxdWVyeSkgfHwgcXVlcnkgaW5zdGFuY2VvZiBSZWdFeHApOwotCi0gICAgICAg
IGlmICghY2hlY2tTZXR0aW5nKHNldHRpbmdzLnJlZ3VsYXJFeHByZXNzaW9uKSkKLSAgICAgICAg
ICAgIHF1ZXJ5ID0gc2ltcGxlR2xvYlN0cmluZ1RvUmVnRXhwKFN0cmluZyhxdWVyeSkpOwotCi0g
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KCh0eXBlb2YgcXVlcnkgPT09ICJzdHJpbmciICYmIHF1ZXJ5
KSB8fCBxdWVyeSBpbnN0YW5jZW9mIFJlZ0V4cCk7Ci0KLSAgICAgICAgbGV0IGZsYWdzID0gImci
OwotICAgICAgICBpZiAoIWNoZWNrU2V0dGluZyhzZXR0aW5ncy5jYXNlU2Vuc2l0aXZlKSkKLSAg
ICAgICAgICAgIGZsYWdzICs9ICJpIjsKLQotICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChxdWVy
eSwgZmxhZ3MpOworICAgIHN0YXRpYyB0ZXN0UmVnRXhwRm9yU3RyaW5nKHF1ZXJ5LCBzZXR0aW5n
cyA9IHt9KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdJLlNlYXJjaFV0aWxpdGllcy5fcmVnRXhw
Rm9yU3RyaW5nKHF1ZXJ5LCBzZXR0aW5ncyk7CiAgICAgfQogCiAgICAgc3RhdGljIGNyZWF0ZVNl
dHRpbmdzQnV0dG9uKHNldHRpbmdzKQpAQCAtMTAwLDQgKzkwLDI2IEBAIFdJLlNlYXJjaFV0aWxp
dGllcyA9IGNsYXNzIFNlYXJjaFV0aWxpdGllcyB7CiAKICAgICAgICAgcmV0dXJuIGJ1dHRvbjsK
ICAgICB9CisKKyAgICBzdGF0aWMgX3JlZ0V4cEZvclN0cmluZyhxdWVyeSwgc2V0dGluZ3MgPSB7
fSwgb3B0aW9ucyA9IHt9KQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tTZXR0aW5nKHNl
dHRpbmcpIHsKKyAgICAgICAgICAgIHJldHVybiBzZXR0aW5nIGluc3RhbmNlb2YgV0kuU2V0dGlu
ZyA/IHNldHRpbmcudmFsdWUgOiAhIXNldHRpbmc7CisgICAgICAgIH0KKworICAgICAgICBjb25z
b2xlLmFzc2VydCgodHlwZW9mIHF1ZXJ5ID09PSAic3RyaW5nIiAmJiBxdWVyeSkgfHwgcXVlcnkg
aW5zdGFuY2VvZiBSZWdFeHApOworCisgICAgICAgIGlmICghY2hlY2tTZXR0aW5nKHNldHRpbmdz
LnJlZ3VsYXJFeHByZXNzaW9uKSkKKyAgICAgICAgICAgIHF1ZXJ5ID0gc2ltcGxlR2xvYlN0cmlu
Z1RvUmVnRXhwKFN0cmluZyhxdWVyeSkpOworCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCh0eXBl
b2YgcXVlcnkgPT09ICJzdHJpbmciICYmIHF1ZXJ5KSB8fCBxdWVyeSBpbnN0YW5jZW9mIFJlZ0V4
cCk7CisKKyAgICAgICAgbGV0IGZsYWdzID0gIiI7CisgICAgICAgIGlmIChvcHRpb25zLmdsb2Jh
bCkKKyAgICAgICAgICAgIGZsYWdzICs9ICJnIgorICAgICAgICBpZiAoIWNoZWNrU2V0dGluZyhz
ZXR0aW5ncy5jYXNlU2Vuc2l0aXZlKSkKKyAgICAgICAgICAgIGZsYWdzICs9ICJpIjsKKworICAg
ICAgICByZXR1cm4gbmV3IFJlZ0V4cChxdWVyeSwgZmxhZ3MpOworICAgIH0KIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxl
bWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRy
ZWVFbGVtZW50LmpzCmluZGV4IGJkMGNhN2Y0YTJmOTk2ZjJjNDU4MWI0MTgwZTg4NTIxMTVkMTZm
OWQuLmRkOGMzYTM4MjcwZGExMzBlMGFjOGI5YjU1ZWU1Y2I2ZjdkNDNjYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRy
ZWVFbGVtZW50LmpzCkBAIC0xODEwLDcgKzE4MTAsNyBAQCBXSS5ET01UcmVlRWxlbWVudCA9IGNs
YXNzIERPTVRyZWVFbGVtZW50IGV4dGVuZHMgV0kuVHJlZUVsZW1lbnQKICAgICAgICAgfQogCiAg
ICAgICAgIHZhciB0ZXh0ID0gdGhpcy50aXRsZS50ZXh0Q29udGVudDsKLSAgICAgICAgbGV0IHNl
YXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmluZyh0aGlzLl9zZWFy
Y2hRdWVyeSwgV0kuU2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7CisgICAgICAgIGxl
dCBzZWFyY2hSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5tYXRjaFJlZ0V4cEZvclN0cmluZyh0
aGlzLl9zZWFyY2hRdWVyeSwgV0kuU2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7CiAK
ICAgICAgICAgdmFyIG1hdGNoID0gc2VhcmNoUmVnZXguZXhlYyh0ZXh0KTsKICAgICAgICAgdmFy
IG1hdGNoUmFuZ2VzID0gW107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCmluZGV4IGUwZDA1ZGRiNTc3YjYwNTZhZjNlOWY5
ZTU1YmU2ZDVlOTM0M2Q2ZmIuLjgwMWYwNjg1MjBkOWFkZDNiNDllZjY0NmVjZGQ1OTA1OTIyMzM0
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RhdGFHcmlkLmpzCkBAIC0xODc0LDcgKzE4NzQsNyBAQCBXSS5EYXRhR3JpZCA9IGNsYXNz
IERhdGFHcmlkIGV4dGVuZHMgV0kuVmlldwogICAgICAgICBpZiAoIXRoaXMuX3Jvd3MubGVuZ3Ro
KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3RleHRGaWx0ZXJSZWdleCA9
IHRoaXMuX2ZpbHRlclRleHQgPyBXSS5TZWFyY2hVdGlsaXRpZXMucmVnRXhwRm9yU3RyaW5nKHRo
aXMuX2ZpbHRlclRleHQsIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpIDogbnVs
bDsKKyAgICAgICAgdGhpcy5fdGV4dEZpbHRlclJlZ2V4ID0gdGhpcy5fZmlsdGVyVGV4dCA/IFdJ
LlNlYXJjaFV0aWxpdGllcy50ZXN0UmVnRXhwRm9yU3RyaW5nKHRoaXMuX2ZpbHRlclRleHQsIFdJ
LlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpIDogbnVsbDsKIAogICAgICAgICBpZiAo
dGhpcy5fYXBwbHlGaWx0ZXJUb05vZGVzVGFzayAmJiB0aGlzLl9hcHBseUZpbHRlclRvTm9kZXNU
YXNrLnByb2Nlc3NpbmcpCiAgICAgICAgICAgICB0aGlzLl9hcHBseUZpbHRlclRvTm9kZXNUYXNr
LmNhbmNlbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmVDb250ZW50Vmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0luZGV4ZWREYXRhYmFzZU9iamVj
dFN0b3JlQ29udGVudFZpZXcuanMKaW5kZXggYTdlNjBhNzAxYWE1YWJjZjY1YjU5MGUzY2NhN2Nj
M2UyYjBjMzQ1Yi4uMDBkZGU0OWZhNjJjOTFjZDUwMGQ3NzZmNDk0NDQ0Yzg4ZWNkNzhjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSW5kZXhl
ZERhdGFiYXNlT2JqZWN0U3RvcmVDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9JbmRleGVkRGF0YWJhc2VPYmplY3RTdG9yZUNvbnRl
bnRWaWV3LmpzCkBAIC0xNDAsNyArMTQwLDcgQEAgV0kuSW5kZXhlZERhdGFiYXNlT2JqZWN0U3Rv
cmVDb250ZW50VmlldyA9IGNsYXNzIEluZGV4ZWREYXRhYmFzZU9iamVjdFN0b3JlQ29udGUKICAg
ICAgICAgaWYgKCFmaWx0ZXJUZXh0KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAg
ICAgbGV0IHJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmluZyhmaWx0ZXJU
ZXh0LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgbGV0IHJl
Z2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLnRlc3RSZWdFeHBGb3JTdHJpbmcoZmlsdGVyVGV4dCwg
V0kuU2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7CiAKICAgICAgICAgLy8gSXRlcmF0
ZSBvdmVyIGVhY2ggY2VsbC4KICAgICAgICAgZm9yIChsZXQgY2hpbGQgb2Ygbm9kZS5lbGVtZW50
LmNoaWxkcmVuKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IGJlYmMwNDY5MmMwOTIxZThm
OGZjMGRiY2MyZWFmNzY0OTc0MzNkNDUuLjk3OGEyYTdkY2UyMDY2MGIxNTk4YzljMjVmNWIwODUw
ZTU2NjA0N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCkBAIC0xMDk5LDcgKzEwOTksNyBAQCBX
SS5Mb2dDb250ZW50VmlldyA9IGNsYXNzIExvZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVu
dFZpZXcKIAogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChXSS5Mb2dDb250ZW50
Vmlldy5TZWFyY2hJblByb2dyZXNzU3R5bGVDbGFzc05hbWUpOwogCi0gICAgICAgIGxldCBzZWFy
Y2hSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5yZWdFeHBGb3JTdHJpbmcodGhpcy5fY3VycmVu
dFNlYXJjaFF1ZXJ5LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAg
ICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLm1hdGNoUmVnRXhwRm9yU3Ry
aW5nKHRoaXMuX2N1cnJlbnRTZWFyY2hRdWVyeSwgV0kuU2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRT
ZXR0aW5ncyk7CiAgICAgICAgIHRoaXMuX3VuZmlsdGVyZWRNZXNzYWdlRWxlbWVudHMoKS5mb3JF
YWNoKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKICAgICAgICAgICAgIGxldCBtYXRjaFJhbmdlcyA9IFtd
OwogICAgICAgICAgICAgbGV0IHRleHQgPSBtZXNzYWdlLnRleHRDb250ZW50OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxl
Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcwppbmRleCBmN2MyMGJjYjkzZmE5NzQ3Y2VhMjgw
NDQ4NWYxNzAwZDgxMTMxYzA3Li5mMTNiYzg0NTUxNWRmOTg3ZGRiNjIyOTVhMjE4Y2IzNzg3YWNj
ODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcwpAQCAtMjMxMCw3
ICsyMzEwLDcgQEAgV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcgPSBjbGFzcyBOZXR3b3JrVGFi
bGVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWUKIAogICAgICAgICB0aGlzLl91cmxG
aWx0ZXJJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIHRoaXMuX3VybEZpbHRlclNlYXJjaFRleHQg
PSBzZWFyY2hRdWVyeTsKLSAgICAgICAgdGhpcy5fdXJsRmlsdGVyU2VhcmNoUmVnZXggPSBXSS5T
ZWFyY2hVdGlsaXRpZXMucmVnRXhwRm9yU3RyaW5nKHNlYXJjaFF1ZXJ5LCBXSS5TZWFyY2hVdGls
aXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgdGhpcy5fdXJsRmlsdGVyU2VhcmNoUmVn
ZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMudGVzdFJlZ0V4cEZvclN0cmluZyhzZWFyY2hRdWVyeSwg
V0kuU2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7CiAKICAgICAgICAgdGhpcy5fdXBk
YXRlQWN0aXZlRmlsdGVyUmVzb3VyY2VzKCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUZpbHRlcmVk
RW50cmllcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUhlYWRlcnNDb250ZW50Vmlldy5qcwpp
bmRleCAwYjBiZjBlYmU5YzI2NDFlNGM3YjJmYTc2M2I1NzAwZmVkYjE5MWQyLi4xZDBmMDk0YTFk
OGJkYWVmZTk3NzNkNmVjODgwOWQ3MTVlMjUwY2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUhlYWRlcnNDb250ZW50Vmlldy5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJj
ZUhlYWRlcnNDb250ZW50Vmlldy5qcwpAQCAtNDc3LDcgKzQ3Nyw3IEBAIFdJLlJlc291cmNlSGVh
ZGVyc0NvbnRlbnRWaWV3ID0gY2xhc3MgUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250CiAKICAgICBfcGVyZm9tU2VhcmNoT25LZXlWYWx1ZVBhaXJzKCkKICAgICB7Ci0g
ICAgICAgIGxldCBzZWFyY2hSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5yZWdFeHBGb3JTdHJp
bmcodGhpcy5fc2VhcmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3Mp
OworICAgICAgICBsZXQgc2VhcmNoUmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMubWF0Y2hSZWdF
eHBGb3JTdHJpbmcodGhpcy5fc2VhcmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0
U2V0dGluZ3MpOwogCiAgICAgICAgIGxldCBlbGVtZW50cyA9IHRoaXMuZWxlbWVudC5xdWVyeVNl
bGVjdG9yQWxsKCIua2V5LCAudmFsdWUiKTsKICAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBl
bGVtZW50cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VTZWN1cml0eUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTZWN1cml0eUNvbnRlbnRWaWV3Lmpz
CmluZGV4IDVjZWFhNGZmNTk0NTY0MzkwZDYyNGQ3MTYzMTZhMDg5ZmVkODkzYTguLjNlOWY4MjRi
N2M4YWZjMmE4NDFiY2FlNTIzZWMzNDY3MGQ0NzM0ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2VjdXJpdHlDb250ZW50Vmll
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNv
dXJjZVNlY3VyaXR5Q29udGVudFZpZXcuanMKQEAgLTI4Niw3ICsyODYsNyBAQCBXSS5SZXNvdXJj
ZVNlY3VyaXR5Q29udGVudFZpZXcgPSBjbGFzcyBSZXNvdXJjZVNlY3VyaXR5Q29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5DbwogCiAgICAgX3BlcmZvbVNlYXJjaE9uS2V5VmFsdWVQYWlycygpCiAgICAg
ewotICAgICAgICBsZXQgc2VhcmNoUmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMucmVnRXhwRm9y
U3RyaW5nKHRoaXMuX3NlYXJjaFF1ZXJ5LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRp
bmdzKTsKKyAgICAgICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLm1hdGNo
UmVnRXhwRm9yU3RyaW5nKHRoaXMuX3NlYXJjaFF1ZXJ5LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVm
YXVsdFNldHRpbmdzKTsKIAogICAgICAgICBsZXQgZWxlbWVudHMgPSB0aGlzLmVsZW1lbnQucXVl
cnlTZWxlY3RvckFsbCgiLmtleSwgLnZhbHVlIik7CiAgICAgICAgIGZvciAobGV0IGVsZW1lbnQg
b2YgZWxlbWVudHMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcwppbmRleCBjMmFlMWRh
ZDRkZTgzNTQxODJkMzFkYmY1NTY5NTk1MDI1NTY1OTIyLi40NjJiY2U1YmNjMjhkYTE3OWYwMTNh
YTUzNTY0MzYwMGNkODgyOTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzCkBAIC0x
NzYsNyArMTc2LDcgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJh
clBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAgICAgZnVuY3Rpb24g
Zm9yRWFjaE1hdGNoKHNlYXJjaFF1ZXJ5LCBsaW5lQ29udGVudCwgY2FsbGJhY2spCiAgICAgICAg
IHsKICAgICAgICAgICAgIHZhciBsaW5lTWF0Y2g7Ci0gICAgICAgICAgICBsZXQgc2VhcmNoUmVn
ZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMucmVnRXhwRm9yU3RyaW5nKHNlYXJjaFF1ZXJ5LCB7Cisg
ICAgICAgICAgICBsZXQgc2VhcmNoUmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMubWF0Y2hSZWdF
eHBGb3JTdHJpbmcoc2VhcmNoUXVlcnksIHsKICAgICAgICAgICAgICAgICBjYXNlU2Vuc2l0aXZl
OiBpc0Nhc2VTZW5zaXRpdmUsCiAgICAgICAgICAgICAgICAgcmVndWxhckV4cHJlc3Npb246IGlz
UmVnZXgsCiAgICAgICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMK
aW5kZXggMTgzMWZkNzdmNmY5YjM0YjBhOWNhMGE5M2Y1MDk2ODQ2YWQzZGVmZS4uNjdjYjY1MDk1
NDAxZTc2ZjE0OGQwMDYzN2I4ZDRlOWM4N2U4YjY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRl
eHRFZGl0b3IuanMKQEAgLTIyMCw3ICsyMjAsNyBAQCBXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9
IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4dEVkaXRvcgogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgbGV0IHF1ZXJ5
UmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMucmVnRXhwRm9yU3RyaW5nKHF1ZXJ5LCBXSS5TZWFy
Y2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgICAgIGxldCBxdWVyeVJlZ2V4
ID0gV0kuU2VhcmNoVXRpbGl0aWVzLm1hdGNoUmVnRXhwRm9yU3RyaW5nKHF1ZXJ5LCBXSS5TZWFy
Y2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKICAgICAgICAgICAgIHZhciBzZWFyY2hSZXN1
bHRzID0gW107CiAKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF0Y2hlcy5sZW5n
dGg7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKaW5kZXggZTUyY2IyMjNkZjdmYzU2Yjk1Zjc5ZGQ0MmFi
YzQ2ODZiMjcwZThjOC4uNDk0OTIyZjVmNWNmM2ZhNDNhYmUzYjZlZDIyNDVkOGFlMTBjZTQxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4
dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UZXh0RWRpdG9yLmpzCkBAIC0zMTQsNyArMzE0LDcgQEAgV0kuVGV4dEVkaXRvciA9IGNsYXNz
IFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgIH0KIAogICAgICAgICAvLyBHbyBk
b3duIHRoZSBzbG93IHBhdGNoIGZvciBhbGwgb3RoZXIgdGV4dCBjb250ZW50LgotICAgICAgICBs
ZXQgcXVlcnlSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5yZWdFeHBGb3JTdHJpbmcocXVlcnks
IFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOworICAgICAgICBsZXQgcXVlcnlS
ZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5tYXRjaFJlZ0V4cEZvclN0cmluZyhxdWVyeSwgV0ku
U2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7CiAgICAgICAgIHZhciBzZWFyY2hDdXJz
b3IgPSB0aGlzLl9jb2RlTWlycm9yLmdldFNlYXJjaEN1cnNvcihxdWVyeVJlZ2V4LCB7bGluZTog
MCwgY2g6IDB9LCBmYWxzZSk7CiAgICAgICAgIHZhciBib3VuZEJhdGNoU2VhcmNoID0gYmF0Y2hT
ZWFyY2guYmluZCh0aGlzKTsKICAgICAgICAgdmFyIG51bWJlck9mU2VhcmNoUmVzdWx0c0RpZENo
YW5nZVRpbWVvdXQgPSBudWxsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396797</attachid>
            <date>2020-04-17 14:13:56 -0700</date>
            <delta_ts>2020-04-17 15:33:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210671-20200417151355.patch</filename>
            <type>text/plain</type>
            <size>14292</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDAyMzE2MGY0ZDE2ZTQ0MDA2MjNiMmQ0ZjgxMWVi
Mjc5MTY2Y2QxZDQuLjkxNTc1MzQyY2ViYjdiZmEzMWFhN2YzZDkyODFlNzNiYWUyYTcyNjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIwLTA0LTE3ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBS
RUdSRVNTSU9OKHIyNDIwMTgpOiB1c2luZyBgUmVnRXhwLnByb3RvdHlwZS50ZXN0YCB3aXRoIGEg
Z2xvYmFsIGBSZWdFeHBgIHdpbGwgaWdub3JlIG9uZSBwb3RlbnRpYWwgbWF0Y2ggYWZ0ZXIgZWFj
aCBzdWNjZXNzZnVsIG1hdGNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTA2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9TZWFyY2hVdGlsaXRpZXMuanM6CisgICAg
ICAgIChXSS5TZWFyY2hVdGlsaXRpZXMuc2VhcmNoUmVnRXhwRm9yU3RyaW5nKToKKyAgICAgICAg
KFdJLlNlYXJjaFV0aWxpdGllcy5maWx0ZXJSZWdFeHBGb3JTdHJpbmcpOgorICAgICAgICAoV0ku
U2VhcmNoVXRpbGl0aWVzLl9yZWdFeHBGb3JTdHJpbmcpOgorICAgICAgICAoV0kuU2VhcmNoVXRp
bGl0aWVzLnJlZ0V4cEZvclN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIE1hbnkgdXNlcyBvZiBg
V0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmluZ2AgdXNlIHRoZSByZXR1cm5lZCBgUmVn
RXhwYCBtdWx0aXBsZSB0aW1lcywKKyAgICAgICAgZXhwZWN0aW5nIGVhY2ggdXNlIHRvIGJlIGRv
bmUgaW4gaXNvbGF0aW9uIGZyb20gZXZlcnkgb3RoZXIgdXNlIChlLmcuIGZpbHRlcmluZykuIElu
IHRoZXNlCisgICAgICAgIGNhc2VzLCB0aGUgZ2xvYmFsIGZsYWcgYGdgIHNob3VsZCBub3QgYmUg
c2V0IG9uIHRoZSBgUmVnRXhwYCwgYXMgb3RoZXJ3aXNlIGl0IHdpbGwga2VlcCBhCisgICAgICAg
IHN0YXRlIG9mIHRoZSBsYXN0IG1hdGNoZWQgaW5kZXgsIHRoZXJlYnkgYnJlYWtpbmcgdGhpcyBp
c29sYXRpb24uIEFzIHN1Y2gsIGl0IGlzIG5lY2Vzc2FyeQorICAgICAgICB0byBzcGxpdCBgV0ku
U2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmluZ2AgaW50byB0d28gdmVyc2lvbnMsIG9uZSBm
b3IgZWFjaCB1c2UgY2FzZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJl
ZUVsZW1lbnQuanM6CisgICAgICAgIChXSS5ET01UcmVlRWxlbWVudC5wcm90b3R5cGUuX2hpZ2hs
aWdodFNlYXJjaFJlc3VsdHMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29u
dGVudFZpZXcuanM6CisgICAgICAgIChXSS5Mb2dDb250ZW50Vmlldy5wcm90b3R5cGUucGVyZm9y
bVNlYXJjaCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUhlYWRlcnND
b250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlJlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LnBy
b3RvdHlwZS5fcGVyZm9tU2VhcmNoT25LZXlWYWx1ZVBhaXJzKToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2VjdXJpdHlDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJ
LlJlc291cmNlU2VjdXJpdHlDb250ZW50Vmlldy5wcm90b3R5cGUuX3BlcmZvbVNlYXJjaE9uS2V5
VmFsdWVQYWlycyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFy
UGFuZWwuanM6CisgICAgICAgIChXSS5TZWFyY2hTaWRlYmFyUGFuZWwucHJvdG90eXBlLnBlcmZv
cm1TZWFyY2guZm9yRWFjaE1hdGNoKToKKyAgICAgICAgVXNlIGBXSS5TZWFyY2hVdGlsaXRpZXMu
c2VhcmNoUmVnRXhwRm9yU3RyaW5nYCBhcyB0aGVzZSB2aWV3cyBleHBlY3QgdGhlIHNlYXJjaCB0
byBtYWludGFpbgorICAgICAgICBpdHMgY3VycmVudCBwb3NpdGlvbiB0aHJvdWdob3V0IHRoZSBj
b250ZW50cyBvZiB0aGUgdmlldy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRGF0
YUdyaWQuanM6CisgICAgICAgIChXSS5EYXRhR3JpZC5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlcik6
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9JbmRleGVkRGF0YWJhc2VPYmplY3RTdG9y
ZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmVD
b250ZW50Vmlldy5wcm90b3R5cGUuZGF0YUdyaWRNYXRjaE5vZGVBZ2FpbnN0Q3VzdG9tRmlsdGVy
cyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmll
dy5qczoKKyAgICAgICAgKFdJLk5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fdXJs
RmlsdGVyRGlkQ2hhbmdlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNv
ZGVUZXh0RWRpdG9yLmpzOgorICAgICAgICAoV0kuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90
eXBlLmN1c3RvbVBlcmZvcm1TZWFyY2guc2VhcmNoUmVzdWx0Q2FsbGJhY2spOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdJLlRleHRFZGl0
b3IucHJvdG90eXBlLnBlcmZvcm1TZWFyY2gpOgorICAgICAgICBVc2UgYFdJLlNlYXJjaFV0aWxp
dGllcy5maWx0ZXJSZWdFeHBGb3JTdHJpbmdgIGFzIHRoZXNlIHZpZXdzIGV4cGVjdCBlYWNoIHNl
YXJjaCB0byBiZSBkb25lCisgICAgICAgIGluIGlzb2xhdGlvbiBmcm9tIGV2ZXJ5IG90aGVyIHNl
YXJjaCAoZS5nLiBmaWx0ZXJpbmcpLgorCiAyMDIwLTA0LTE3ICBBbGV4ZXkgU2h2YXlrYSAgPHNo
dmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBzaG91bGQgZXh0
ZW5kIEV2ZW50VGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL1NlYXJjaFV0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvU2VhcmNoVXRpbGl0aWVzLmpzCmluZGV4IGI2ODA5MzQ4YTM4OTQ3
NjAwMGRiODZhODYyMjc2ODFiZDU3NjEzYjIuLjkyOGNhM2YzYjA0NjAxY2M4ODMyYzExY2JjM2Uz
MWQyMDA4MmYxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0Jhc2UvU2VhcmNoVXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvU2VhcmNoVXRpbGl0aWVzLmpzCkBAIC00OCwyNCArNDgsMTQgQEAg
V0kuU2VhcmNoVXRpbGl0aWVzID0gY2xhc3MgU2VhcmNoVXRpbGl0aWVzIHsKICAgICAgICAgcmV0
dXJuIHNldHRpbmdzOwogICAgIH0KIAotICAgIHN0YXRpYyByZWdFeHBGb3JTdHJpbmcocXVlcnks
IHNldHRpbmdzID0ge30pCisgICAgc3RhdGljIHNlYXJjaFJlZ0V4cEZvclN0cmluZyhxdWVyeSwg
c2V0dGluZ3MgPSB7fSkKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNoZWNrU2V0dGluZyhzZXR0
aW5nKSB7Ci0gICAgICAgICAgICByZXR1cm4gc2V0dGluZyBpbnN0YW5jZW9mIFdJLlNldHRpbmcg
PyBzZXR0aW5nLnZhbHVlIDogISFzZXR0aW5nOwotICAgICAgICB9CisgICAgICAgIHJldHVybiBX
SS5TZWFyY2hVdGlsaXRpZXMuX3JlZ0V4cEZvclN0cmluZyhxdWVyeSwgc2V0dGluZ3MsIHtnbG9i
YWw6IHRydWV9KTsKKyAgICB9CiAKLSAgICAgICAgY29uc29sZS5hc3NlcnQoKHR5cGVvZiBxdWVy
eSA9PT0gInN0cmluZyIgJiYgcXVlcnkpIHx8IHF1ZXJ5IGluc3RhbmNlb2YgUmVnRXhwKTsKLQot
ICAgICAgICBpZiAoIWNoZWNrU2V0dGluZyhzZXR0aW5ncy5yZWd1bGFyRXhwcmVzc2lvbikpCi0g
ICAgICAgICAgICBxdWVyeSA9IHNpbXBsZUdsb2JTdHJpbmdUb1JlZ0V4cChTdHJpbmcocXVlcnkp
KTsKLQotICAgICAgICBjb25zb2xlLmFzc2VydCgodHlwZW9mIHF1ZXJ5ID09PSAic3RyaW5nIiAm
JiBxdWVyeSkgfHwgcXVlcnkgaW5zdGFuY2VvZiBSZWdFeHApOwotCi0gICAgICAgIGxldCBmbGFn
cyA9ICJnIjsKLSAgICAgICAgaWYgKCFjaGVja1NldHRpbmcoc2V0dGluZ3MuY2FzZVNlbnNpdGl2
ZSkpCi0gICAgICAgICAgICBmbGFncyArPSAiaSI7Ci0KLSAgICAgICAgcmV0dXJuIG5ldyBSZWdF
eHAocXVlcnksIGZsYWdzKTsKKyAgICBzdGF0aWMgZmlsdGVyUmVnRXhwRm9yU3RyaW5nKHF1ZXJ5
LCBzZXR0aW5ncyA9IHt9KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdJLlNlYXJjaFV0aWxpdGll
cy5fcmVnRXhwRm9yU3RyaW5nKHF1ZXJ5LCBzZXR0aW5ncyk7CiAgICAgfQogCiAgICAgc3RhdGlj
IGNyZWF0ZVNldHRpbmdzQnV0dG9uKHNldHRpbmdzKQpAQCAtMTAwLDQgKzkwLDI2IEBAIFdJLlNl
YXJjaFV0aWxpdGllcyA9IGNsYXNzIFNlYXJjaFV0aWxpdGllcyB7CiAKICAgICAgICAgcmV0dXJu
IGJ1dHRvbjsKICAgICB9CisKKyAgICBzdGF0aWMgX3JlZ0V4cEZvclN0cmluZyhxdWVyeSwgc2V0
dGluZ3MgPSB7fSwgb3B0aW9ucyA9IHt9KQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tT
ZXR0aW5nKHNldHRpbmcpIHsKKyAgICAgICAgICAgIHJldHVybiBzZXR0aW5nIGluc3RhbmNlb2Yg
V0kuU2V0dGluZyA/IHNldHRpbmcudmFsdWUgOiAhIXNldHRpbmc7CisgICAgICAgIH0KKworICAg
ICAgICBjb25zb2xlLmFzc2VydCgodHlwZW9mIHF1ZXJ5ID09PSAic3RyaW5nIiAmJiBxdWVyeSkg
fHwgcXVlcnkgaW5zdGFuY2VvZiBSZWdFeHApOworCisgICAgICAgIGlmICghY2hlY2tTZXR0aW5n
KHNldHRpbmdzLnJlZ3VsYXJFeHByZXNzaW9uKSkKKyAgICAgICAgICAgIHF1ZXJ5ID0gc2ltcGxl
R2xvYlN0cmluZ1RvUmVnRXhwKFN0cmluZyhxdWVyeSkpOworCisgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KCh0eXBlb2YgcXVlcnkgPT09ICJzdHJpbmciICYmIHF1ZXJ5KSB8fCBxdWVyeSBpbnN0YW5j
ZW9mIFJlZ0V4cCk7CisKKyAgICAgICAgbGV0IGZsYWdzID0gIiI7CisgICAgICAgIGlmIChvcHRp
b25zLmdsb2JhbCkKKyAgICAgICAgICAgIGZsYWdzICs9ICJnIgorICAgICAgICBpZiAoIWNoZWNr
U2V0dGluZyhzZXR0aW5ncy5jYXNlU2Vuc2l0aXZlKSkKKyAgICAgICAgICAgIGZsYWdzICs9ICJp
IjsKKworICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChxdWVyeSwgZmxhZ3MpOworICAgIH0KIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9E
T01UcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IGJkMGNhN2Y0YTJmOTk2ZjJjNDU4MWI0MTgwZTg4
NTIxMTVkMTZmOWQuLjgyZWI5OWM3MDdiZjUxYzY2YjIxZjM5ZDY0ODEyYWQ4Y2Q2Yzg1ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRy
ZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVFbGVtZW50LmpzCkBAIC0xODEwLDcgKzE4MTAsNyBAQCBXSS5ET01UcmVlRWxl
bWVudCA9IGNsYXNzIERPTVRyZWVFbGVtZW50IGV4dGVuZHMgV0kuVHJlZUVsZW1lbnQKICAgICAg
ICAgfQogCiAgICAgICAgIHZhciB0ZXh0ID0gdGhpcy50aXRsZS50ZXh0Q29udGVudDsKLSAgICAg
ICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmluZyh0
aGlzLl9zZWFyY2hRdWVyeSwgV0kuU2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7Cisg
ICAgICAgIGxldCBzZWFyY2hSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdFeHBG
b3JTdHJpbmcodGhpcy5fc2VhcmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0
dGluZ3MpOwogCiAgICAgICAgIHZhciBtYXRjaCA9IHNlYXJjaFJlZ2V4LmV4ZWModGV4dCk7CiAg
ICAgICAgIHZhciBtYXRjaFJhbmdlcyA9IFtdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcwppbmRleCBlMGQwNWRkYjU3N2I2
MDU2YWYzZTlmOWU1NWJlNmQ1ZTkzNDNkNmZiLi5iYzViYTc1ZmI1NDEyYTE1NDllMzI1M2U2Yzgy
N2NlNTFjODdiMzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9EYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcwpAQCAtMTg3NCw3ICsxODc0LDcgQEAgV0kuRGF0YUdy
aWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdJLlZpZXcKICAgICAgICAgaWYgKCF0aGlzLl9y
b3dzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl90ZXh0Rmls
dGVyUmVnZXggPSB0aGlzLl9maWx0ZXJUZXh0ID8gV0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZv
clN0cmluZyh0aGlzLl9maWx0ZXJUZXh0LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRp
bmdzKSA6IG51bGw7CisgICAgICAgIHRoaXMuX3RleHRGaWx0ZXJSZWdleCA9IHRoaXMuX2ZpbHRl
clRleHQgPyBXSS5TZWFyY2hVdGlsaXRpZXMuZmlsdGVyUmVnRXhwRm9yU3RyaW5nKHRoaXMuX2Zp
bHRlclRleHQsIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpIDogbnVsbDsKIAog
ICAgICAgICBpZiAodGhpcy5fYXBwbHlGaWx0ZXJUb05vZGVzVGFzayAmJiB0aGlzLl9hcHBseUZp
bHRlclRvTm9kZXNUYXNrLnByb2Nlc3NpbmcpCiAgICAgICAgICAgICB0aGlzLl9hcHBseUZpbHRl
clRvTm9kZXNUYXNrLmNhbmNlbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmVDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0luZGV4ZWRE
YXRhYmFzZU9iamVjdFN0b3JlQ29udGVudFZpZXcuanMKaW5kZXggYTdlNjBhNzAxYWE1YWJjZjY1
YjU5MGUzY2NhN2NjM2UyYjBjMzQ1Yi4uOWVkNDI1NjMzZWJmYzFjMTRkZTE0Y2U4ZDJjZDE2OTY4
NzkyNThhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmVDb250ZW50Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9JbmRleGVkRGF0YWJhc2VPYmpl
Y3RTdG9yZUNvbnRlbnRWaWV3LmpzCkBAIC0xNDAsNyArMTQwLDcgQEAgV0kuSW5kZXhlZERhdGFi
YXNlT2JqZWN0U3RvcmVDb250ZW50VmlldyA9IGNsYXNzIEluZGV4ZWREYXRhYmFzZU9iamVjdFN0
b3JlQ29udGUKICAgICAgICAgaWYgKCFmaWx0ZXJUZXh0KQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICAgICAgbGV0IHJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0
cmluZyhmaWx0ZXJUZXh0LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAg
ICAgICAgbGV0IHJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLmZpbHRlclJlZ0V4cEZvclN0cmlu
ZyhmaWx0ZXJUZXh0LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKIAogICAg
ICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBjZWxsLgogICAgICAgICBmb3IgKGxldCBjaGlsZCBv
ZiBub2RlLmVsZW1lbnQuY2hpbGRyZW4pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMKaW5kZXggYmVi
YzA0NjkyYzA5MjFlOGY4ZmMwZGJjYzJlYWY3NjQ5NzQzM2Q0NS4uMTUyMWFlZTYzMjk5ZTI1OWM1
MDc5Nzk3MjBmMTU0NjdhMGRjYTlhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMKQEAgLTEwOTks
NyArMTA5OSw3IEBAIFdJLkxvZ0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRk
KFdJLkxvZ0NvbnRlbnRWaWV3LlNlYXJjaEluUHJvZ3Jlc3NTdHlsZUNsYXNzTmFtZSk7CiAKLSAg
ICAgICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmlu
Zyh0aGlzLl9jdXJyZW50U2VhcmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0
dGluZ3MpOworICAgICAgICBsZXQgc2VhcmNoUmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMuc2Vh
cmNoUmVnRXhwRm9yU3RyaW5nKHRoaXMuX2N1cnJlbnRTZWFyY2hRdWVyeSwgV0kuU2VhcmNoVXRp
bGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7CiAgICAgICAgIHRoaXMuX3VuZmlsdGVyZWRNZXNzYWdl
RWxlbWVudHMoKS5mb3JFYWNoKGZ1bmN0aW9uKG1lc3NhZ2UpIHsKICAgICAgICAgICAgIGxldCBt
YXRjaFJhbmdlcyA9IFtdOwogICAgICAgICAgICAgbGV0IHRleHQgPSBtZXNzYWdlLnRleHRDb250
ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTmV0d29ya1RhYmxlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcwppbmRleCBmN2MyMGJj
YjkzZmE5NzQ3Y2VhMjgwNDQ4NWYxNzAwZDgxMTMxYzA3Li40MzE0NWZlNDZmZDhjMWUxYTI2YjY3
MWU2ODFkNDYxOTE4MDVhYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmll
dy5qcwpAQCAtMjMxMCw3ICsyMzEwLDcgQEAgV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcgPSBj
bGFzcyBOZXR3b3JrVGFibGVDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWUKIAogICAg
ICAgICB0aGlzLl91cmxGaWx0ZXJJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIHRoaXMuX3VybEZp
bHRlclNlYXJjaFRleHQgPSBzZWFyY2hRdWVyeTsKLSAgICAgICAgdGhpcy5fdXJsRmlsdGVyU2Vh
cmNoUmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMucmVnRXhwRm9yU3RyaW5nKHNlYXJjaFF1ZXJ5
LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgdGhpcy5fdXJs
RmlsdGVyU2VhcmNoUmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMuZmlsdGVyUmVnRXhwRm9yU3Ry
aW5nKHNlYXJjaFF1ZXJ5LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKIAog
ICAgICAgICB0aGlzLl91cGRhdGVBY3RpdmVGaWx0ZXJSZXNvdXJjZXMoKTsKICAgICAgICAgdGhp
cy5fdXBkYXRlRmlsdGVyZWRFbnRyaWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUhlYWRlcnNDb250ZW50Vmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVy
c0NvbnRlbnRWaWV3LmpzCmluZGV4IDBiMGJmMGViZTljMjY0MWU0YzdiMmZhNzYzYjU3MDBmZWRi
MTkxZDIuLjZiMWY3YzFhN2IyMzk2OWI4NzI1ZDRlZGE5Nzk1MGNmZmE2YmU1NGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVh
ZGVyc0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LmpzCkBAIC00NzcsNyArNDc3LDcg
QEAgV0kuUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcgPSBjbGFzcyBSZXNvdXJjZUhlYWRlcnND
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnQKIAogICAgIF9wZXJmb21TZWFyY2hPbktleVZhbHVl
UGFpcnMoKQogICAgIHsKLSAgICAgICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0
aWVzLnJlZ0V4cEZvclN0cmluZyh0aGlzLl9zZWFyY2hRdWVyeSwgV0kuU2VhcmNoVXRpbGl0aWVz
LmRlZmF1bHRTZXR0aW5ncyk7CisgICAgICAgIGxldCBzZWFyY2hSZWdleCA9IFdJLlNlYXJjaFV0
aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JTdHJpbmcodGhpcy5fc2VhcmNoUXVlcnksIFdJLlNlYXJj
aFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOwogCiAgICAgICAgIGxldCBlbGVtZW50cyA9IHRo
aXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIua2V5LCAudmFsdWUiKTsKICAgICAgICAgZm9y
IChsZXQgZWxlbWVudCBvZiBlbGVtZW50cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTZWN1cml0eUNvbnRlbnRWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTZWN1
cml0eUNvbnRlbnRWaWV3LmpzCmluZGV4IDVjZWFhNGZmNTk0NTY0MzkwZDYyNGQ3MTYzMTZhMDg5
ZmVkODkzYTguLjg2NjA3MWZjMmQzYTJhM2JjYTNmNTBlNDMxZjBiMjliZGUwNDVlZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNl
U2VjdXJpdHlDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNlY3VyaXR5Q29udGVudFZpZXcuanMKQEAgLTI4Niw3ICsy
ODYsNyBAQCBXSS5SZXNvdXJjZVNlY3VyaXR5Q29udGVudFZpZXcgPSBjbGFzcyBSZXNvdXJjZVNl
Y3VyaXR5Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5DbwogCiAgICAgX3BlcmZvbVNlYXJjaE9uS2V5
VmFsdWVQYWlycygpCiAgICAgewotICAgICAgICBsZXQgc2VhcmNoUmVnZXggPSBXSS5TZWFyY2hV
dGlsaXRpZXMucmVnRXhwRm9yU3RyaW5nKHRoaXMuX3NlYXJjaFF1ZXJ5LCBXSS5TZWFyY2hVdGls
aXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2Vh
cmNoVXRpbGl0aWVzLnNlYXJjaFJlZ0V4cEZvclN0cmluZyh0aGlzLl9zZWFyY2hRdWVyeSwgV0ku
U2VhcmNoVXRpbGl0aWVzLmRlZmF1bHRTZXR0aW5ncyk7CiAKICAgICAgICAgbGV0IGVsZW1lbnRz
ID0gdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5rZXksIC52YWx1ZSIpOwogICAgICAg
ICBmb3IgKGxldCBlbGVtZW50IG9mIGVsZW1lbnRzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFu
ZWwuanMKaW5kZXggYzJhZTFkYWQ0ZGU4MzU0MTgyZDMxZGJmNTU2OTU5NTAyNTU2NTkyMi4uZTY5
MDQ2NGY4ZWYwYjUyZTNjZWQyMzM2OGEzZDI0MmIzN2Q0ZjkzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFNp
ZGViYXJQYW5lbC5qcwpAQCAtMTc2LDcgKzE3Niw3IEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9
IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFu
CiAgICAgICAgIGZ1bmN0aW9uIGZvckVhY2hNYXRjaChzZWFyY2hRdWVyeSwgbGluZUNvbnRlbnQs
IGNhbGxiYWNrKQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgbGluZU1hdGNoOwotICAgICAg
ICAgICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLnJlZ0V4cEZvclN0cmlu
ZyhzZWFyY2hRdWVyeSwgeworICAgICAgICAgICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNo
VXRpbGl0aWVzLnNlYXJjaFJlZ0V4cEZvclN0cmluZyhzZWFyY2hRdWVyeSwgewogICAgICAgICAg
ICAgICAgIGNhc2VTZW5zaXRpdmU6IGlzQ2FzZVNlbnNpdGl2ZSwKICAgICAgICAgICAgICAgICBy
ZWd1bGFyRXhwcmVzc2lvbjogaXNSZWdleCwKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRF
ZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3Vy
Y2VDb2RlVGV4dEVkaXRvci5qcwppbmRleCAxODMxZmQ3N2Y2ZjliMzRiMGE5Y2EwYTkzZjUwOTY4
NDZhZDNkZWZlLi5kZTMwMjYxYjU2YWRlMDY3MzZlNWU1ZDZjMTQ3NWQwZWI1NTA4ZGU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VD
b2RlVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwpAQCAtMjIwLDcgKzIyMCw3IEBAIFdJLlNv
dXJjZUNvZGVUZXh0RWRpdG9yID0gY2xhc3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBX
SS5UZXh0RWRpdG9yCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICBsZXQgcXVlcnlSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5yZWdFeHBGb3JT
dHJpbmcocXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOworICAgICAg
ICAgICAgbGV0IHF1ZXJ5UmVnZXggPSBXSS5TZWFyY2hVdGlsaXRpZXMuc2VhcmNoUmVnRXhwRm9y
U3RyaW5nKHF1ZXJ5LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKICAgICAg
ICAgICAgIHZhciBzZWFyY2hSZXN1bHRzID0gW107CiAKICAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbWF0Y2hlcy5sZW5ndGg7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RleHRFZGl0b3IuanMKaW5kZXggZTUyY2Iy
MjNkZjdmYzU2Yjk1Zjc5ZGQ0MmFiYzQ2ODZiMjcwZThjOC4uMTAwOTJjYjg5M2UwZDJjNGU1ZWI2
YmU3MmI4ZDNhMjU1OGFhNjEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzCkBAIC0zMTQsNyArMzE0LDcgQEAg
V0kuVGV4dEVkaXRvciA9IGNsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAg
IH0KIAogICAgICAgICAvLyBHbyBkb3duIHRoZSBzbG93IHBhdGNoIGZvciBhbGwgb3RoZXIgdGV4
dCBjb250ZW50LgotICAgICAgICBsZXQgcXVlcnlSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5y
ZWdFeHBGb3JTdHJpbmcocXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3Mp
OworICAgICAgICBsZXQgcXVlcnlSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdF
eHBGb3JTdHJpbmcocXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOwog
ICAgICAgICB2YXIgc2VhcmNoQ3Vyc29yID0gdGhpcy5fY29kZU1pcnJvci5nZXRTZWFyY2hDdXJz
b3IocXVlcnlSZWdleCwge2xpbmU6IDAsIGNoOiAwfSwgZmFsc2UpOwogICAgICAgICB2YXIgYm91
bmRCYXRjaFNlYXJjaCA9IGJhdGNoU2VhcmNoLmJpbmQodGhpcyk7CiAgICAgICAgIHZhciBudW1i
ZXJPZlNlYXJjaFJlc3VsdHNEaWRDaGFuZ2VUaW1lb3V0ID0gbnVsbDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>