<?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>170631</bug_id>
          
          <creation_ts>2017-04-07 17:39:24 -0700</creation_ts>
          <short_desc>Web Inspector: navigation sidebar says &quot;No Search Results&quot; when a slow search is in progress</short_desc>
          <delta_ts>2019-02-26 00:15:05 -0800</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 Nightly 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295589</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-04-07 17:39:24 -0700</bug_when>
    <thetext>Steps to reproduce:

1. Remote debug a (slow/old) device
2. Go to the HTML5 spec-in-one-page
3. Search for something overbroad, like &apos;page&apos;
=&gt; Says &quot;No Results&quot; then flashes and shows results some time later when they start to arrive

We should fix this so that we say &quot;Searching [spinner]&quot; while the backend does the search.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295590</commentid>
    <comment_count>1</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-04-07 17:40:08 -0700</bug_when>
    <thetext>&lt;rdar://problem/29473874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505452</commentid>
    <comment_count>2</comment_count>
      <attachid>361856</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-02-12 15:48:46 -0800</bug_when>
    <thetext>Created attachment 361856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509966</commentid>
    <comment_count>3</comment_count>
      <attachid>361856</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-02-25 23:22:57 -0800</bug_when>
    <thetext>Comment on attachment 361856
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/SearchSidebarPanel.js:272
&gt; -                DOMAgent.discardSearchResults(this._domSearchIdentifier);
&gt; +                countPromise(DOMAgent.discardSearchResults(this._domSearchIdentifier));

We shouldn&apos;t need to wait on this one, it is just clearing old search data, not affecting the current search(es).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509975</commentid>
    <comment_count>4</comment_count>
      <attachid>362967</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-02-25 23:51:05 -0800</bug_when>
    <thetext>Created attachment 362967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509977</commentid>
    <comment_count>5</comment_count>
      <attachid>362968</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-02-25 23:59:11 -0800</bug_when>
    <thetext>Created attachment 362968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509982</commentid>
    <comment_count>6</comment_count>
      <attachid>362968</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-26 00:15:03 -0800</bug_when>
    <thetext>Comment on attachment 362968
Patch

Clearing flags on attachment: 362968

Committed r242080: &lt;https://trac.webkit.org/changeset/242080&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509983</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-26 00:15:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361856</attachid>
            <date>2019-02-12 15:48:46 -0800</date>
            <delta_ts>2019-02-25 23:51:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170631-20190212154846.patch</filename>
            <type>text/plain</type>
            <size>12757</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDY2ODlhMmIxN2NmNmNlYWUzMmY1NGZhNTZlYWUz
OTQ0YTY5MmUzZTEuLmM2ZDk1MWI0Nzg4NDMyMzA5ZjVhZDhmYTY3NWIxOWY4MDYzNTkxNmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAyLTEyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBu
YXZpZ2F0aW9uIHNpZGViYXIgc2F5cyAiTm8gU2VhcmNoIFJlc3VsdHMiIHdoZW4gYSBzbG93IHNl
YXJjaCBpcyBpbiBwcm9ncmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTQ3Mzg3ND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIGEgY291
bnQgb2YgYWxsIHRoZSBiYWNrZW5kIGNvbW1hbmRzIChpbmNyZW1lbnQgd2hlbiBmaXJpbmcsIGRl
Y3JlbWVudCB3aGVuIGEgcmVzdWx0IGlzCisgICAgICAgIHNlbnQgYmFjayB0byB0aGUgZnJvbnRl
bmQpLiBPbmNlIHRoZSBjb3VudCBjb21lcyBiYWNrIHRvIGAwYCwgYXR0ZW1wdCB0byBzaG93IHRo
ZSAiTm8gUmVzdWx0cyIKKyAgICAgICAgcGxhY2Vob2xkZXIsIHNpbmNlIHdlIHdpbGwgaGF2ZSBm
aW5pc2hlZCBzZWFyY2hpbmcgYXQgdGhhdCBwb2ludC4gU2luY2UgY29tbWFuZHMgY2FuIGJlIGNh
bGxlZAorICAgICAgICBhcyBhIHJlc3VsdCBvZiBvdGhlciBjb21tYW5kcywgdXNpbmcgYFByb21p
c2UuYWxsYCBpc24ndCBwb3NzaWJsZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U2VhcmNoU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV0kuU2VhcmNoU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdJLlNlYXJjaFNpZGViYXJQYW5lbC5w
cm90b3R5cGUucGVyZm9ybVNlYXJjaC51cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlclNvb24p
OiBEZWxldGVkLgorICAgICAgICAoV0kuU2VhcmNoU2lkZWJhclBhbmVsLnByb3RvdHlwZS5wZXJm
b3JtU2VhcmNoLnVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyKTogRGVsZXRlZC4KKyAgICAg
ICAgRHJpdmUtYnk6IHJlcGxhY2UgYGJpbmRgIGNhbGxzIHdpdGggYXJyb3cgZnVuY3Rpb25zLCBh
bmQgdXNlIGZvci1vZiBsb29wcy4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qczoKKwogMjAxOS0wMi0xMiAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lLnByb3Rv
dHlwZS5yZWNvcmRzSW5UaW1lUmFuZ2UgdXNlcyBhIHByb3BlcnR5IG1vc3QgcmVjb3JkcyBkbyBu
b3QgaGF2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggYjY3MzE2ODA2NGQz
Y2U0ZDdkZGEyMjYzMTMyZWFkMTllZTZiODUzMy4uNWQyYTMwOTAwMDk4NWU2ODQyNzI1NzY0Mzc5
NWU1NDE3ZDQxNmQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC04Mjks
NiArODI5LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siU2Nyb2xsIEludG8gVmlldyJdID0gIlNjcm9s
bCBJbnRvIFZpZXciOwogbG9jYWxpemVkU3RyaW5nc1siU2VhcmNoIl0gPSAiU2VhcmNoIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlNlYXJjaCBBZ2FpbiJdID0gIlNlYXJjaCBBZ2FpbiI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJTZWFyY2ggUmVzb3VyY2UgQ29udGVudCJdID0gIlNlYXJjaCBSZXNvdXJjZSBD
b250ZW50IjsKK2xvY2FsaXplZFN0cmluZ3NbIlNlYXJjaGluZyAlcyJdID0gIlNlYXJjaGluZyAl
cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTZWN1cmUiXSA9ICJTZWN1cmUiOwogbG9jYWxpemVkU3Ry
aW5nc1siU2VjdXJpdHkiXSA9ICJTZWN1cml0eSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTZWN1cml0
eSBJc3N1ZSJdID0gIlNlY3VyaXR5IElzc3VlIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5q
cwppbmRleCBiY2UyYzcxYTU3YzU3ZWM0MDUxNmM5ZDFhMDY0ZDZhZGIwOTlmZTczLi4wMzA5NzVk
MWVmZTc3NGU0NmQ4NmRiNDA1OGRlNDZjOWY1YWE5NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJh
clBhbmVsLmpzCkBAIC05MywxMiArOTMsMzMgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xh
c3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KICAg
ICAgICAgaWYgKCFzZWFyY2hRdWVyeS5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAg
ICAgICAgbGV0IHByb21pc2VDb3VudCA9IDA7CisgICAgICAgIGxldCBjb3VudFByb21pc2UgPSBh
c3luYyAocHJvbWlzZSwgY2FsbGJhY2spID0+IHsKKyAgICAgICAgICAgICsrcHJvbWlzZUNvdW50
OworICAgICAgICAgICAgaWYgKHByb21pc2VDb3VudCA9PT0gMSkgeworICAgICAgICAgICAgICAg
IGxldCBzZWFyY2hpbmdQbGFjZWhvbGRlciA9IFdJLmNyZWF0ZU1lc3NhZ2VUZXh0VmlldygiIik7
CisgICAgICAgICAgICAgICAgU3RyaW5nLmZvcm1hdChXSS5VSVN0cmluZygiU2VhcmNoaW5nICVz
IiksIFsobmV3IFdJLkluZGV0ZXJtaW5hdGVQcm9ncmVzc1NwaW5uZXIpLmVsZW1lbnRdLCBTdHJp
bmcuc3RhbmRhcmRGb3JtYXR0ZXJzLCBzZWFyY2hpbmdQbGFjZWhvbGRlciwgKGEsIGIpID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgYS5hcHBlbmQoYik7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBhOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIHRoaXMudXBkYXRl
RW1wdHlDb250ZW50UGxhY2Vob2xkZXIoc2VhcmNoaW5nUGxhY2Vob2xkZXIpOworICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBsZXQgdmFsdWUgPSBhd2FpdCBwcm9taXNlOworCisgICAgICAg
ICAgICBpZiAoY2FsbGJhY2spCisgICAgICAgICAgICAgICAgY2FsbGJhY2sodmFsdWUpOworCisg
ICAgICAgICAgICAtLXByb21pc2VDb3VudDsKKyAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHBy
b21pc2VDb3VudCA+PSAwKTsKKyAgICAgICAgICAgIGlmIChwcm9taXNlQ291bnQgPT09IDApCisg
ICAgICAgICAgICAgICAgdGhpcy51cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlcihXSS5VSVN0
cmluZygiTm8gU2VhcmNoIFJlc3VsdHMiKSk7CisgICAgICAgIH07CisKICAgICAgICAgLy8gRklY
TUU6IFByb3ZpZGUgVUkgdG8gdG9nZ2xlIHJlZ2V4IGFuZCBjYXNlIHNlbnNpdGl2ZSBzZWFyY2hl
cy4KICAgICAgICAgdmFyIGlzQ2FzZVNlbnNpdGl2ZSA9IGZhbHNlOwogICAgICAgICB2YXIgaXNS
ZWdleCA9IGZhbHNlOwogCi0gICAgICAgIHZhciB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRl
clRpbWVvdXQgPSBudWxsOwotCiAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVRyZWVFbGVtZW50Rm9y
TWF0Y2hPYmplY3QobWF0Y2hPYmplY3QsIHBhcmVudFRyZWVFbGVtZW50KQogICAgICAgICB7CiAg
ICAgICAgICAgICBsZXQgbWF0Y2hUcmVlRWxlbWVudCA9IG5ldyBXSS5TZWFyY2hSZXN1bHRUcmVl
RWxlbWVudChtYXRjaE9iamVjdCk7CkBAIC0xMTAsMjMgKzEzMSw2IEBAIFdJLlNlYXJjaFNpZGVi
YXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25T
aWRlYmFyUGFuCiAgICAgICAgICAgICAgICAgbWF0Y2hUcmVlRWxlbWVudC5yZXZlYWxBbmRTZWxl
Y3QoZmFsc2UsIHRydWUpOwogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24gdXBkYXRlRW1w
dHlDb250ZW50UGxhY2Vob2xkZXJTb29uKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHVw
ZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyVGltZW91dCkKLSAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlclRpbWVvdXQgPSBz
ZXRUaW1lb3V0KHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyLmJpbmQodGhpcyksIDEwMCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhv
bGRlcigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICh1cGRhdGVFbXB0eUNvbnRlbnRQbGFj
ZWhvbGRlclRpbWVvdXQpIHsKLSAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodXBkYXRlRW1w
dHlDb250ZW50UGxhY2Vob2xkZXJUaW1lb3V0KTsKLSAgICAgICAgICAgICAgICB1cGRhdGVFbXB0
eUNvbnRlbnRQbGFjZWhvbGRlclRpbWVvdXQgPSBudWxsOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICB0aGlzLnVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyKFdJLlVJU3RyaW5nKCJO
byBTZWFyY2ggUmVzdWx0cyIpKTsKLSAgICAgICAgfQotCiAgICAgICAgIGZ1bmN0aW9uIGZvckVh
Y2hNYXRjaChzZWFyY2hRdWVyeSwgbGluZUNvbnRlbnQsIGNhbGxiYWNrKQogICAgICAgICB7CiAg
ICAgICAgICAgICB2YXIgbGluZU1hdGNoOwpAQCAtMTM1LDE4ICsxMzksOSBAQCBXSS5TZWFyY2hT
aWRlYmFyUGFuZWwgPSBjbGFzcyBTZWFyY2hTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0
aW9uU2lkZWJhclBhbgogICAgICAgICAgICAgICAgIGNhbGxiYWNrKGxpbmVNYXRjaCwgc2VhcmNo
UmVnZXgubGFzdEluZGV4KTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIHJlc291cmNl
c0NhbGxiYWNrKGVycm9yLCByZXN1bHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVwZGF0ZUVt
cHR5Q29udGVudFBsYWNlaG9sZGVyU29vbi5jYWxsKHRoaXMpOwotCi0gICAgICAgICAgICBpZiAo
ZXJyb3IpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBmdW5jdGlvbiBy
ZXNvdXJjZUNhbGxiYWNrKGZyYW1lSWQsIHVybCwgZXJyb3IsIHJlc291cmNlTWF0Y2hlcykKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRl
clNvb24uY2FsbCh0aGlzKTsKLQotICAgICAgICAgICAgICAgIGlmIChlcnJvciB8fCAhcmVzb3Vy
Y2VNYXRjaGVzIHx8ICFyZXNvdXJjZU1hdGNoZXMubGVuZ3RoKQorICAgICAgICBsZXQgcmVzb3Vy
Y2VzQ2FsbGJhY2sgPSAoe3Jlc3VsdH0pID0+IHsKKyAgICAgICAgICAgIGxldCByZXNvdXJjZUNh
bGxiYWNrID0gKGZyYW1lSWQsIHVybCwgcmVzb3VyY2VNYXRjaGVzKSA9PiB7CisgICAgICAgICAg
ICAgICAgaWYgKCFyZXNvdXJjZU1hdGNoZXMgfHwgIXJlc291cmNlTWF0Y2hlcy5sZW5ndGgpCiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgICAgIHZhciBmcmFtZSA9
IFdJLm5ldHdvcmtNYW5hZ2VyLmZyYW1lRm9ySWRlbnRpZmllcihmcmFtZUlkKTsKQEAgLTE2Niwx
NCArMTYxLDExIEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQ
YW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAgICAgICAgICAgICAg
ICAgICBjcmVhdGVUcmVlRWxlbWVudEZvck1hdGNoT2JqZWN0LmNhbGwodGhpcywgbWF0Y2hPYmpl
Y3QsIHJlc291cmNlVHJlZUVsZW1lbnQpOwogICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAg
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhv
bGRlci5jYWxsKHRoaXMpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgfTsKIAogICAgICAg
ICAgICAgbGV0IHByZXZlbnREdXBsaWNhdGVzID0gbmV3IFNldDsKIAotICAgICAgICAgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICBs
ZXQgc2VhcmNoUmVzdWx0ID0gcmVzdWx0W2ldOworICAgICAgICAgICAgZm9yIChsZXQgc2VhcmNo
UmVzdWx0IG9mIHJlc3VsdCkgewogICAgICAgICAgICAgICAgIGlmICghc2VhcmNoUmVzdWx0LnVy
bCB8fCAhc2VhcmNoUmVzdWx0LmZyYW1lSWQpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogCkBAIC0xODYsNyArMTc4LDcgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2Vh
cmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAgICAg
ICAgICAgICBwcmV2ZW50RHVwbGljYXRlcy5hZGQoa2V5KTsKIAogICAgICAgICAgICAgICAgIC8v
IENPTVBBVElCSUxJVFkgKGlPUyA5KTogUGFnZS5zZWFyY2hJblJlc291cmNlcyBkaWQgbm90IGhh
dmUgdGhlIG9wdGlvbmFsIHJlcXVlc3RJZCBwYXJhbWV0ZXIuCi0gICAgICAgICAgICAgICAgUGFn
ZUFnZW50LnNlYXJjaEluUmVzb3VyY2Uoc2VhcmNoUmVzdWx0LmZyYW1lSWQsIHNlYXJjaFJlc3Vs
dC51cmwsIHNlYXJjaFF1ZXJ5LCBpc0Nhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIHNlYXJjaFJlc3Vs
dC5yZXF1ZXN0SWQsIHJlc291cmNlQ2FsbGJhY2suYmluZCh0aGlzLCBzZWFyY2hSZXN1bHQuZnJh
bWVJZCwgc2VhcmNoUmVzdWx0LnVybCkpOworICAgICAgICAgICAgICAgIGNvdW50UHJvbWlzZShQ
YWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJjZShzZWFyY2hSZXN1bHQuZnJhbWVJZCwgc2VhcmNoUmVz
dWx0LnVybCwgc2VhcmNoUXVlcnksIGlzQ2FzZVNlbnNpdGl2ZSwgaXNSZWdleCwgc2VhcmNoUmVz
dWx0LnJlcXVlc3RJZCksIHJlc291cmNlQ2FsbGJhY2suYmluZCh0aGlzLCBzZWFyY2hSZXN1bHQu
ZnJhbWVJZCwgc2VhcmNoUmVzdWx0LnVybCkpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICBsZXQgcHJvbWlzZXMgPSBbCkBAIC0xOTQsNjMgKzE4Niw0NSBAQCBXSS5TZWFyY2hTaWRlYmFy
UGFuZWwgPSBjbGFzcyBTZWFyY2hTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lk
ZWJhclBhbgogICAgICAgICAgICAgICAgIFdJLlRhcmdldC5hd2FpdEV2ZW50KFdJLlRhcmdldC5F
dmVudC5SZXNvdXJjZUFkZGVkKQogICAgICAgICAgICAgXTsKICAgICAgICAgICAgIFByb21pc2Uu
cmFjZShwcm9taXNlcykudGhlbih0aGlzLl9jb250ZW50Q2hhbmdlZC5iaW5kKHRoaXMpKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHNlYXJjaFNjcmlwdHMoc2NyaXB0c1RvU2VhcmNo
KQotICAgICAgICB7Ci0gICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlclNv
b24uY2FsbCh0aGlzKTsKKyAgICAgICAgfTsKIAorICAgICAgICBsZXQgc2VhcmNoU2NyaXB0cyA9
IChzY3JpcHRzVG9TZWFyY2gpID0+IHsKICAgICAgICAgICAgIGlmICghc2NyaXB0c1RvU2VhcmNo
Lmxlbmd0aCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGZ1bmN0aW9u
IHNjcmlwdENhbGxiYWNrKHNjcmlwdCwgZXJyb3IsIHNjcmlwdE1hdGNoZXMpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgdXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXJTb29uLmNh
bGwodGhpcyk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZXJyb3IgfHwgIXNjcmlwdE1hdGNoZXMg
fHwgIXNjcmlwdE1hdGNoZXMubGVuZ3RoKQorICAgICAgICAgICAgbGV0IHNjcmlwdENhbGxiYWNr
ID0gKHNjcmlwdCwge3Jlc3VsdH0pID0+IHsKKyAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCB8
fCAhcmVzdWx0Lmxlbmd0aCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
ICAgICAgICAgdmFyIHNjcmlwdFRyZWVFbGVtZW50ID0gdGhpcy5fc2VhcmNoVHJlZUVsZW1lbnRG
b3JTY3JpcHQoc2NyaXB0KTsKIAotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
c2NyaXB0TWF0Y2hlcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgbWF0
Y2ggPSBzY3JpcHRNYXRjaGVzW2ldOworICAgICAgICAgICAgICAgIGZvciAobGV0IG1hdGNoIG9m
IHJlc3VsdCkgewogICAgICAgICAgICAgICAgICAgICBmb3JFYWNoTWF0Y2goc2VhcmNoUXVlcnks
IG1hdGNoLmxpbmVDb250ZW50LCAobGluZU1hdGNoLCBsYXN0SW5kZXgpID0+IHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIHZhciBtYXRjaE9iamVjdCA9IG5ldyBXSS5Tb3VyY2VDb2RlU2VhcmNo
TWF0Y2hPYmplY3Qoc2NyaXB0LCBtYXRjaC5saW5lQ29udGVudCwgc2VhcmNoUXVlcnksIG5ldyBX
SS5UZXh0UmFuZ2UobWF0Y2gubGluZU51bWJlciwgbGluZU1hdGNoLmluZGV4LCBtYXRjaC5saW5l
TnVtYmVyLCBsYXN0SW5kZXgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVRyZWVF
bGVtZW50Rm9yTWF0Y2hPYmplY3QuY2FsbCh0aGlzLCBtYXRjaE9iamVjdCwgc2NyaXB0VHJlZUVs
ZW1lbnQpOwogICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9Ci0KLSAg
ICAgICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlci5jYWxsKHRoaXMpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfTsKIAogICAgICAgICAgICAgZm9yIChsZXQgc2Ny
aXB0IG9mIHNjcmlwdHNUb1NlYXJjaCkKLSAgICAgICAgICAgICAgICBzY3JpcHQudGFyZ2V0LkRl
YnVnZ2VyQWdlbnQuc2VhcmNoSW5Db250ZW50KHNjcmlwdC5pZCwgc2VhcmNoUXVlcnksIGlzQ2Fz
ZVNlbnNpdGl2ZSwgaXNSZWdleCwgc2NyaXB0Q2FsbGJhY2suYmluZCh0aGlzLCBzY3JpcHQpKTsK
LSAgICAgICAgfQorICAgICAgICAgICAgICAgIGNvdW50UHJvbWlzZShzY3JpcHQudGFyZ2V0LkRl
YnVnZ2VyQWdlbnQuc2VhcmNoSW5Db250ZW50KHNjcmlwdC5pZCwgc2VhcmNoUXVlcnksIGlzQ2Fz
ZVNlbnNpdGl2ZSwgaXNSZWdleCksIHNjcmlwdENhbGxiYWNrLmJpbmQodGhpcywgc2NyaXB0KSk7
CisgICAgICAgIH07CiAKLSAgICAgICAgZnVuY3Rpb24gZG9tQ2FsbGJhY2soZXJyb3IsIHNlYXJj
aElkLCByZXN1bHRzQ291bnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29u
dGVudFBsYWNlaG9sZGVyU29vbi5jYWxsKHRoaXMpOwotCi0gICAgICAgICAgICBpZiAoZXJyb3Ig
fHwgIXJlc3VsdHNDb3VudCkKKyAgICAgICAgbGV0IGRvbUNhbGxiYWNrID0gKHtzZWFyY2hJZCwg
cmVzdWx0Q291bnR9KSA9PiB7CisgICAgICAgICAgICBpZiAoIXJlc3VsdENvdW50KQogICAgICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoc2VhcmNoSWQp
OwogCiAgICAgICAgICAgICB0aGlzLl9kb21TZWFyY2hJZGVudGlmaWVyID0gc2VhcmNoSWQ7CiAK
LSAgICAgICAgICAgIGZ1bmN0aW9uIGRvbVNlYXJjaFJlc3VsdHMoZXJyb3IsIG5vZGVJZHMpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xk
ZXJTb29uLmNhbGwodGhpcyk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAg
ICAgICBsZXQgZG9tU2VhcmNoUmVzdWx0cyA9ICh7bm9kZUlkc30pID0+IHsKKyAgICAgICAgICAg
ICAgICAvLyBJZiBzb21lb25lIHN0YXJ0ZWQgYSBuZXcgc2VhcmNoLCB0aGVuIHJldHVybiBlYXJs
eSBhbmQgc3RvcCBzaG93aW5nIHNlYWNoIHJlc3VsdHMgZnJvbSB0aGUgb2xkIHF1ZXJ5LgorICAg
ICAgICAgICAgICAgIGlmICh0aGlzLl9kb21TZWFyY2hJZGVudGlmaWVyICE9PSBzZWFyY2hJZCkK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBub2RlSWRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8v
IElmIHNvbWVvbmUgc3RhcnRlZCBhIG5ldyBzZWFyY2gsIHRoZW4gcmV0dXJuIGVhcmx5IGFuZCBz
dG9wIHNob3dpbmcgc2VhY2ggcmVzdWx0cyBmcm9tIHRoZSBvbGQgcXVlcnkuCi0gICAgICAgICAg
ICAgICAgICAgIGlmICh0aGlzLl9kb21TZWFyY2hJZGVudGlmaWVyICE9PSBzZWFyY2hJZCkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgICAgICAgICB2YXIg
ZG9tTm9kZSA9IFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZHNbaV0pOworICAgICAgICAg
ICAgICAgIGZvciAobGV0IG5vZGVJZCBvZiBub2RlSWRzKSB7CisgICAgICAgICAgICAgICAgICAg
IGxldCBkb21Ob2RlID0gV0kuZG9tTWFuYWdlci5ub2RlRm9ySWQobm9kZUlkKTsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKCFkb21Ob2RlIHx8ICFkb21Ob2RlLm93bmVyRG9jdW1lbnQpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMjc5LDM1ICsyNTMsMzEgQEAgV0ku
U2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0ku
TmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXRjaE9i
amVjdCA9IG5ldyBXSS5ET01TZWFyY2hNYXRjaE9iamVjdChyZXNvdXJjZSwgZG9tTm9kZSwgZG9t
Tm9kZVRpdGxlLCBkb21Ob2RlVGl0bGUsIG5ldyBXSS5UZXh0UmFuZ2UoMCwgMCwgMCwgZG9tTm9k
ZVRpdGxlLmxlbmd0aCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlVHJlZUVsZW1l
bnRGb3JNYXRjaE9iamVjdC5jYWxsKHRoaXMsIG1hdGNoT2JqZWN0LCByZXNvdXJjZVRyZWVFbGVt
ZW50KTsKICAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIHVwZGF0
ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyLmNhbGwodGhpcyk7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfTsKIAotICAgICAgICAgICAgRE9NQWdlbnQuZ2V0
U2VhcmNoUmVzdWx0cyhzZWFyY2hJZCwgMCwgcmVzdWx0c0NvdW50LCBkb21TZWFyY2hSZXN1bHRz
LmJpbmQodGhpcykpOwotICAgICAgICB9CisgICAgICAgICAgICBjb3VudFByb21pc2UoRE9NQWdl
bnQuZ2V0U2VhcmNoUmVzdWx0cyhzZWFyY2hJZCwgMCwgcmVzdWx0Q291bnQpLCBkb21TZWFyY2hS
ZXN1bHRzKTsKKyAgICAgICAgfTsKIAogICAgICAgICBpZiAod2luZG93LkRPTUFnZW50KQogICAg
ICAgICAgICAgV0kuZG9tTWFuYWdlci5lbnN1cmVEb2N1bWVudCgpOwogCiAgICAgICAgIGlmICh3
aW5kb3cuUGFnZUFnZW50KQotICAgICAgICAgICAgUGFnZUFnZW50LnNlYXJjaEluUmVzb3VyY2Vz
KHNlYXJjaFF1ZXJ5LCBpc0Nhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIHJlc291cmNlc0NhbGxiYWNr
LmJpbmQodGhpcykpOworICAgICAgICAgICAgY291bnRQcm9taXNlKFBhZ2VBZ2VudC5zZWFyY2hJ
blJlc291cmNlcyhzZWFyY2hRdWVyeSwgaXNDYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4KSwgcmVzb3Vy
Y2VzQ2FsbGJhY2spOwogCiAgICAgICAgIHNldFRpbWVvdXQoc2VhcmNoU2NyaXB0cy5iaW5kKHRo
aXMsIFdJLmRlYnVnZ2VyTWFuYWdlci5zZWFyY2hhYmxlU2NyaXB0cyksIDApOwogCiAgICAgICAg
IGlmICh3aW5kb3cuRE9NQWdlbnQpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9kb21TZWFyY2hJ
ZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICAgICAgRE9NQWdlbnQuZGlzY2FyZFNlYXJjaFJlc3Vs
dHModGhpcy5fZG9tU2VhcmNoSWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgY291bnRQcm9t
aXNlKERPTUFnZW50LmRpc2NhcmRTZWFyY2hSZXN1bHRzKHRoaXMuX2RvbVNlYXJjaElkZW50aWZp
ZXIpKTsKICAgICAgICAgICAgICAgICB0aGlzLl9kb21TZWFyY2hJZGVudGlmaWVyID0gdW5kZWZp
bmVkOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBET01BZ2VudC5wZXJmb3JtU2VhcmNo
KHNlYXJjaFF1ZXJ5LCBkb21DYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIGNvdW50
UHJvbWlzZShET01BZ2VudC5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KSwgZG9tQ2FsbGJhY2sp
OwogICAgICAgICB9CiAKICAgICAgICAgLy8gRklYTUU6IFJlc291cmNlIHNlYXJjaCBzaG91bGQg
d29yayBpbiBKU0NvbnRleHQgaW5zcGVjdGlvbi4KICAgICAgICAgLy8gPGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzEzMTI1Mj4gV2ViIEluc3BlY3RvcjogSlNDb250ZXh0IGluc3BlY3Rpb24gUmVzb3Vy
Y2Ugc2VhcmNoIGRvZXMgbm90IHdvcmsKLSAgICAgICAgaWYgKCF3aW5kb3cuRE9NQWdlbnQgJiYg
IXdpbmRvdy5QYWdlQWdlbnQpCi0gICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhv
bGRlclNvb24uY2FsbCh0aGlzKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362967</attachid>
            <date>2019-02-25 23:51:05 -0800</date>
            <delta_ts>2019-02-25 23:59:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170631-20190225235104.patch</filename>
            <type>text/plain</type>
            <size>12652</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDZiNmYzY2Q1M2E5MzEyMmNjMTY4YWUwMTcwZWEy
MWRhYjBiMzcxNDYuLmEyMDIzYTA0YTEwYTFhYjM1YWM5ZjE4MmU3MzlhOTMzOGRiN2QyYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAyLTI1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBu
YXZpZ2F0aW9uIHNpZGViYXIgc2F5cyAiTm8gU2VhcmNoIFJlc3VsdHMiIHdoZW4gYSBzbG93IHNl
YXJjaCBpcyBpbiBwcm9ncmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTQ3Mzg3ND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgS2VlcCBhIGNv
dW50IG9mIGFsbCB0aGUgYmFja2VuZCBjb21tYW5kcyAoaW5jcmVtZW50IHdoZW4gZmlyaW5nLCBk
ZWNyZW1lbnQgd2hlbiBhIHJlc3VsdCBpcworICAgICAgICBzZW50IGJhY2sgdG8gdGhlIGZyb250
ZW5kKS4gT25jZSB0aGUgY291bnQgY29tZXMgYmFjayB0byBgMGAsIGF0dGVtcHQgdG8gc2hvdyB0
aGUgIk5vIFJlc3VsdHMiCisgICAgICAgIHBsYWNlaG9sZGVyLCBzaW5jZSB3ZSB3aWxsIGhhdmUg
ZmluaXNoZWQgc2VhcmNoaW5nIGF0IHRoYXQgcG9pbnQuIFNpbmNlIGNvbW1hbmRzIGNhbiBiZSBj
YWxsZWQKKyAgICAgICAgYXMgYSByZXN1bHQgb2Ygb3RoZXIgY29tbWFuZHMsIHVzaW5nIGBQcm9t
aXNlLmFsbGAgaXNuJ3QgcG9zc2libGUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1NlYXJjaFNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLlNlYXJjaFNpZGViYXJQYW5lbC5w
cm90b3R5cGUucGVyZm9ybVNlYXJjaCk6CisgICAgICAgIChXSS5TZWFyY2hTaWRlYmFyUGFuZWwu
cHJvdG90eXBlLnBlcmZvcm1TZWFyY2gudXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXJTb29u
KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNlYXJjaFNpZGViYXJQYW5lbC5wcm90b3R5cGUucGVy
Zm9ybVNlYXJjaC51cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlcik6IERlbGV0ZWQuCisgICAg
ICAgIERyaXZlLWJ5OiByZXBsYWNlIGBiaW5kYCBjYWxscyB3aXRoIGFycm93IGZ1bmN0aW9ucywg
YW5kIHVzZSBmb3Itb2YgbG9vcHMuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9q
L2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIwMTktMDItMjUgIE5pa2l0YSBWYXNpbHlldiAgPG52
YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBDb21t
YW5kLS8gc2hvdWxkIHRvZ2dsZSBlZGl0ZWQgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzCmluZGV4IDkzMzJiOTliNGEzNTk2YmZiODkzYzlmMGJkZmFhOWI4MjQ5YjM1NDUu
Ljc4MWFhYWVlOWZkOTMyMzZmMTc1MjQyZTI4NzE3YjlkNmExMjdjYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtODQ2LDYgKzg0Niw3IEBAIGxvY2FsaXplZFN0cmluZ3Nb
IlNlYXJjaCBBZ2FpbiJdID0gIlNlYXJjaCBBZ2FpbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTZWFy
Y2ggUmVzb3VyY2UgQ29udGVudCJdID0gIlNlYXJjaCBSZXNvdXJjZSBDb250ZW50IjsKIC8qIFNl
dHRpbmdzIHRhYiBsYWJlbCBmb3Igc2VhcmNoIHJlbGF0ZWQgc2V0dGluZ3MgKi8KIGxvY2FsaXpl
ZFN0cmluZ3NbIlNlYXJjaDogQCBTZXR0aW5ncyJdID0gIlNlYXJjaDoiOworbG9jYWxpemVkU3Ry
aW5nc1siU2VhcmNoaW5nICVzIl0gPSAiU2VhcmNoaW5nICVzIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IlNlY3VyZSJdID0gIlNlY3VyZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTZWN1cml0eSJdID0gIlNl
Y3VyaXR5IjsKIGxvY2FsaXplZFN0cmluZ3NbIlNlY3VyaXR5IElzc3VlIl0gPSAiU2VjdXJpdHkg
SXNzdWUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzCmluZGV4IDkwOTIxYzE5ZTdhNjVl
M2FiMTg4NDA2Y2RjN2MzNDZmNDQ4ZmZmZDAuLjU0YWE3MWUwNmQzMGQzODIxYTNiM2Y4NjM5ODY3
NGE0M2IzYzQwZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanMKQEAgLTEwMCwxMSAr
MTAwLDMyIEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5l
bCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAgIGlmICghc2VhcmNoUXVl
cnkubGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIGxldCBwcm9taXNlQ291
bnQgPSAwOworICAgICAgICBsZXQgY291bnRQcm9taXNlID0gYXN5bmMgKHByb21pc2UsIGNhbGxi
YWNrKSA9PiB7CisgICAgICAgICAgICArK3Byb21pc2VDb3VudDsKKyAgICAgICAgICAgIGlmIChw
cm9taXNlQ291bnQgPT09IDEpIHsKKyAgICAgICAgICAgICAgICBsZXQgc2VhcmNoaW5nUGxhY2Vo
b2xkZXIgPSBXSS5jcmVhdGVNZXNzYWdlVGV4dFZpZXcoIiIpOworICAgICAgICAgICAgICAgIFN0
cmluZy5mb3JtYXQoV0kuVUlTdHJpbmcoIlNlYXJjaGluZyAlcyIpLCBbKG5ldyBXSS5JbmRldGVy
bWluYXRlUHJvZ3Jlc3NTcGlubmVyKS5lbGVtZW50XSwgU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVy
cywgc2VhcmNoaW5nUGxhY2Vob2xkZXIsIChhLCBiKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
IGEuYXBwZW5kKGIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gYTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9s
ZGVyKHNlYXJjaGluZ1BsYWNlaG9sZGVyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
bGV0IHZhbHVlID0gYXdhaXQgcHJvbWlzZTsKKworICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQor
ICAgICAgICAgICAgICAgIGNhbGxiYWNrKHZhbHVlKTsKKworICAgICAgICAgICAgLS1wcm9taXNl
Q291bnQ7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChwcm9taXNlQ291bnQgPj0gMCk7Cisg
ICAgICAgICAgICBpZiAocHJvbWlzZUNvdW50ID09PSAwKQorICAgICAgICAgICAgICAgIHRoaXMu
dXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIoV0kuVUlTdHJpbmcoIk5vIFNlYXJjaCBSZXN1
bHRzIikpOworICAgICAgICB9OworCiAgICAgICAgIGxldCBpc0Nhc2VTZW5zaXRpdmUgPSAhIXRo
aXMuX3NlYXJjaElucHV0U2V0dGluZ3MuY2FzZVNlbnNpdGl2ZS52YWx1ZTsKICAgICAgICAgbGV0
IGlzUmVnZXggPSAhIXRoaXMuX3NlYXJjaElucHV0U2V0dGluZ3MucmVndWxhckV4cHJlc3Npb24u
dmFsdWU7CiAKLSAgICAgICAgdmFyIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyVGltZW91
dCA9IG51bGw7Ci0KICAgICAgICAgZnVuY3Rpb24gY3JlYXRlVHJlZUVsZW1lbnRGb3JNYXRjaE9i
amVjdChtYXRjaE9iamVjdCwgcGFyZW50VHJlZUVsZW1lbnQpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIGxldCBtYXRjaFRyZWVFbGVtZW50ID0gbmV3IFdJLlNlYXJjaFJlc3VsdFRyZWVFbGVtZW50
KG1hdGNoT2JqZWN0KTsKQEAgLTExNiwyMyArMTM3LDYgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVs
ID0gY2xhc3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQ
YW4KICAgICAgICAgICAgICAgICBtYXRjaFRyZWVFbGVtZW50LnJldmVhbEFuZFNlbGVjdChmYWxz
ZSwgdHJ1ZSk7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiB1cGRhdGVFbXB0eUNvbnRl
bnRQbGFjZWhvbGRlclNvb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAodXBkYXRlRW1w
dHlDb250ZW50UGxhY2Vob2xkZXJUaW1lb3V0KQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyVGltZW91dCA9IHNldFRpbWVv
dXQodXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIuYmluZCh0aGlzKSwgMTAwKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyKCkK
LSAgICAgICAgewotICAgICAgICAgICAgaWYgKHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVy
VGltZW91dCkgewotICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh1cGRhdGVFbXB0eUNvbnRl
bnRQbGFjZWhvbGRlclRpbWVvdXQpOwotICAgICAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVu
dFBsYWNlaG9sZGVyVGltZW91dCA9IG51bGw7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IHRoaXMudXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIoV0kuVUlTdHJpbmcoIk5vIFNlYXJj
aCBSZXN1bHRzIikpOwotICAgICAgICB9Ci0KICAgICAgICAgZnVuY3Rpb24gZm9yRWFjaE1hdGNo
KHNlYXJjaFF1ZXJ5LCBsaW5lQ29udGVudCwgY2FsbGJhY2spCiAgICAgICAgIHsKICAgICAgICAg
ICAgIHZhciBsaW5lTWF0Y2g7CkBAIC0xNDQsMTggKzE0OCw5IEBAIFdJLlNlYXJjaFNpZGViYXJQ
YW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRl
YmFyUGFuCiAgICAgICAgICAgICAgICAgY2FsbGJhY2sobGluZU1hdGNoLCBzZWFyY2hSZWdleC5s
YXN0SW5kZXgpOwogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24gcmVzb3VyY2VzQ2FsbGJh
Y2soZXJyb3IsIHJlc3VsdCkKLSAgICAgICAgewotICAgICAgICAgICAgdXBkYXRlRW1wdHlDb250
ZW50UGxhY2Vob2xkZXJTb29uLmNhbGwodGhpcyk7Ci0KLSAgICAgICAgICAgIGlmIChlcnJvcikK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGZ1bmN0aW9uIHJlc291cmNl
Q2FsbGJhY2soZnJhbWVJZCwgdXJsLCBlcnJvciwgcmVzb3VyY2VNYXRjaGVzKQotICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyU29vbi5j
YWxsKHRoaXMpOwotCi0gICAgICAgICAgICAgICAgaWYgKGVycm9yIHx8ICFyZXNvdXJjZU1hdGNo
ZXMgfHwgIXJlc291cmNlTWF0Y2hlcy5sZW5ndGgpCisgICAgICAgIGxldCByZXNvdXJjZXNDYWxs
YmFjayA9ICh7cmVzdWx0fSkgPT4geworICAgICAgICAgICAgbGV0IHJlc291cmNlQ2FsbGJhY2sg
PSAoZnJhbWVJZCwgdXJsLCByZXNvdXJjZU1hdGNoZXMpID0+IHsKKyAgICAgICAgICAgICAgICBp
ZiAoIXJlc291cmNlTWF0Y2hlcyB8fCAhcmVzb3VyY2VNYXRjaGVzLmxlbmd0aCkKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgICAgICAgICAgdmFyIGZyYW1lID0gV0kubmV0
d29ya01hbmFnZXIuZnJhbWVGb3JJZGVudGlmaWVyKGZyYW1lSWQpOwpAQCAtMTc4LDE0ICsxNzMs
MTEgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4
dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KIAogICAgICAgICAgICAgICAgIGlmICghcmVz
b3VyY2VUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgIHRo
aXMuY29udGVudFRyZWVPdXRsaW5lLnJlbW92ZUNoaWxkKHJlc291cmNlVHJlZUVsZW1lbnQpOwot
Ci0gICAgICAgICAgICAgICAgdXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIuY2FsbCh0aGlz
KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CiAKICAgICAgICAgICAgIGxldCBwcmV2
ZW50RHVwbGljYXRlcyA9IG5ldyBTZXQ7CiAKLSAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgcmVzdWx0Lmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgbGV0IHNlYXJjaFJlc3Vs
dCA9IHJlc3VsdFtpXTsKKyAgICAgICAgICAgIGZvciAobGV0IHNlYXJjaFJlc3VsdCBvZiByZXN1
bHQpIHsKICAgICAgICAgICAgICAgICBpZiAoIXNlYXJjaFJlc3VsdC51cmwgfHwgIXNlYXJjaFJl
c3VsdC5mcmFtZUlkKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIApAQCAtMTk4LDcg
KzE5MCw3IEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5l
bCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAgICAgICAgICAgcHJldmVu
dER1cGxpY2F0ZXMuYWRkKGtleSk7CiAKICAgICAgICAgICAgICAgICAvLyBDT01QQVRJQklMSVRZ
IChpT1MgOSk6IFBhZ2Uuc2VhcmNoSW5SZXNvdXJjZXMgZGlkIG5vdCBoYXZlIHRoZSBvcHRpb25h
bCByZXF1ZXN0SWQgcGFyYW1ldGVyLgotICAgICAgICAgICAgICAgIFBhZ2VBZ2VudC5zZWFyY2hJ
blJlc291cmNlKHNlYXJjaFJlc3VsdC5mcmFtZUlkLCBzZWFyY2hSZXN1bHQudXJsLCBzZWFyY2hR
dWVyeSwgaXNDYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBzZWFyY2hSZXN1bHQucmVxdWVzdElkLCBy
ZXNvdXJjZUNhbGxiYWNrLmJpbmQodGhpcywgc2VhcmNoUmVzdWx0LmZyYW1lSWQsIHNlYXJjaFJl
c3VsdC51cmwpKTsKKyAgICAgICAgICAgICAgICBjb3VudFByb21pc2UoUGFnZUFnZW50LnNlYXJj
aEluUmVzb3VyY2Uoc2VhcmNoUmVzdWx0LmZyYW1lSWQsIHNlYXJjaFJlc3VsdC51cmwsIHNlYXJj
aFF1ZXJ5LCBpc0Nhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIHNlYXJjaFJlc3VsdC5yZXF1ZXN0SWQp
LCByZXNvdXJjZUNhbGxiYWNrLmJpbmQodGhpcywgc2VhcmNoUmVzdWx0LmZyYW1lSWQsIHNlYXJj
aFJlc3VsdC51cmwpKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgbGV0IHByb21pc2Vz
ID0gWwpAQCAtMjA2LDI2ICsxOTgsMTkgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3Mg
U2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAg
ICAgICAgICAgICBXSS5UYXJnZXQuYXdhaXRFdmVudChXSS5UYXJnZXQuRXZlbnQuUmVzb3VyY2VB
ZGRlZCkKICAgICAgICAgICAgIF07CiAgICAgICAgICAgICBQcm9taXNlLnJhY2UocHJvbWlzZXMp
LnRoZW4odGhpcy5fY29udGVudENoYW5nZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBmdW5jdGlvbiBzZWFyY2hTY3JpcHRzKHNjcmlwdHNUb1NlYXJjaCkKLSAgICAgICAgewot
ICAgICAgICAgICAgdXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXJTb29uLmNhbGwodGhpcyk7
CisgICAgICAgIH07CiAKKyAgICAgICAgbGV0IHNlYXJjaFNjcmlwdHMgPSAoc2NyaXB0c1RvU2Vh
cmNoKSA9PiB7CiAgICAgICAgICAgICBpZiAoIXNjcmlwdHNUb1NlYXJjaC5sZW5ndGgpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBmdW5jdGlvbiBzY3JpcHRDYWxsYmFj
ayhzY3JpcHQsIGVycm9yLCBzY3JpcHRNYXRjaGVzKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyU29vbi5jYWxsKHRoaXMpOwotCi0g
ICAgICAgICAgICAgICAgaWYgKGVycm9yIHx8ICFzY3JpcHRNYXRjaGVzIHx8ICFzY3JpcHRNYXRj
aGVzLmxlbmd0aCkKKyAgICAgICAgICAgIGxldCBzY3JpcHRDYWxsYmFjayA9IChzY3JpcHQsIHty
ZXN1bHR9KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQgfHwgIXJlc3VsdC5sZW5n
dGgpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgICAgIHZhciBz
Y3JpcHRUcmVlRWxlbWVudCA9IHRoaXMuX3NlYXJjaFRyZWVFbGVtZW50Rm9yU2NyaXB0KHNjcmlw
dCk7CiAKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjcmlwdE1hdGNoZXMu
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIG1hdGNoID0gc2NyaXB0TWF0
Y2hlc1tpXTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBtYXRjaCBvZiByZXN1bHQpIHsKICAg
ICAgICAgICAgICAgICAgICAgZm9yRWFjaE1hdGNoKHNlYXJjaFF1ZXJ5LCBtYXRjaC5saW5lQ29u
dGVudCwgKGxpbmVNYXRjaCwgbGFzdEluZGV4KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICB2YXIgbWF0Y2hPYmplY3QgPSBuZXcgV0kuU291cmNlQ29kZVNlYXJjaE1hdGNoT2JqZWN0KHNj
cmlwdCwgbWF0Y2gubGluZUNvbnRlbnQsIHNlYXJjaFF1ZXJ5LCBuZXcgV0kuVGV4dFJhbmdlKG1h
dGNoLmxpbmVOdW1iZXIsIGxpbmVNYXRjaC5pbmRleCwgbWF0Y2gubGluZU51bWJlciwgbGFzdElu
ZGV4KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVUcmVlRWxlbWVudEZvck1hdGNo
T2JqZWN0LmNhbGwodGhpcywgbWF0Y2hPYmplY3QsIHNjcmlwdFRyZWVFbGVtZW50KTsKQEAgLTIz
NCwzOCArMjE5LDI3IEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGVi
YXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAKICAgICAgICAgICAgICAg
ICBpZiAoIXNjcmlwdFRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCkKICAgICAgICAgICAgICAg
ICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUucmVtb3ZlQ2hpbGQoc2NyaXB0VHJlZUVsZW1l
bnQpOwotCi0gICAgICAgICAgICAgICAgdXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIuY2Fs
bCh0aGlzKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CiAKICAgICAgICAgICAgIGZv
ciAobGV0IHNjcmlwdCBvZiBzY3JpcHRzVG9TZWFyY2gpCi0gICAgICAgICAgICAgICAgc2NyaXB0
LnRhcmdldC5EZWJ1Z2dlckFnZW50LnNlYXJjaEluQ29udGVudChzY3JpcHQuaWQsIHNlYXJjaFF1
ZXJ5LCBpc0Nhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIHNjcmlwdENhbGxiYWNrLmJpbmQodGhpcywg
c2NyaXB0KSk7Ci0gICAgICAgIH0KKyAgICAgICAgICAgICAgICBjb3VudFByb21pc2Uoc2NyaXB0
LnRhcmdldC5EZWJ1Z2dlckFnZW50LnNlYXJjaEluQ29udGVudChzY3JpcHQuaWQsIHNlYXJjaFF1
ZXJ5LCBpc0Nhc2VTZW5zaXRpdmUsIGlzUmVnZXgpLCBzY3JpcHRDYWxsYmFjay5iaW5kKHRoaXMs
IHNjcmlwdCkpOworICAgICAgICB9OwogCi0gICAgICAgIGZ1bmN0aW9uIGRvbUNhbGxiYWNrKGVy
cm9yLCBzZWFyY2hJZCwgcmVzdWx0c0NvdW50KQotICAgICAgICB7Ci0gICAgICAgICAgICB1cGRh
dGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlclNvb24uY2FsbCh0aGlzKTsKLQotICAgICAgICAgICAg
aWYgKGVycm9yIHx8ICFyZXN1bHRzQ291bnQpCisgICAgICAgIGxldCBkb21DYWxsYmFjayA9ICh7
c2VhcmNoSWQsIHJlc3VsdENvdW50fSkgPT4geworICAgICAgICAgICAgaWYgKCFyZXN1bHRDb3Vu
dCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHNlYXJjaElkKTsKIAogICAgICAgICAgICAgdGhpcy5fZG9tU2VhcmNoSWRlbnRpZmllciA9IHNl
YXJjaElkOwogCi0gICAgICAgICAgICBmdW5jdGlvbiBkb21TZWFyY2hSZXN1bHRzKGVycm9yLCBu
b2RlSWRzKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVu
dFBsYWNlaG9sZGVyU29vbi5jYWxsKHRoaXMpOwotCi0gICAgICAgICAgICAgICAgaWYgKGVycm9y
KQorICAgICAgICAgICAgbGV0IGRvbVNlYXJjaFJlc3VsdHMgPSAoe25vZGVJZHN9KSA9PiB7Cisg
ICAgICAgICAgICAgICAgLy8gSWYgc29tZW9uZSBzdGFydGVkIGEgbmV3IHNlYXJjaCwgdGhlbiBy
ZXR1cm4gZWFybHkgYW5kIHN0b3Agc2hvd2luZyBzZWFjaCByZXN1bHRzIGZyb20gdGhlIG9sZCBx
dWVyeS4KKyAgICAgICAgICAgICAgICBpZiAodGhpcy5fZG9tU2VhcmNoSWRlbnRpZmllciAhPT0g
c2VhcmNoSWQpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZUlkcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAg
ICAgICAgICAvLyBJZiBzb21lb25lIHN0YXJ0ZWQgYSBuZXcgc2VhcmNoLCB0aGVuIHJldHVybiBl
YXJseSBhbmQgc3RvcCBzaG93aW5nIHNlYWNoIHJlc3VsdHMgZnJvbSB0aGUgb2xkIHF1ZXJ5Lgot
ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fZG9tU2VhcmNoSWRlbnRpZmllciAhPT0gc2Vh
cmNoSWQpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgICAg
ICAgICAgdmFyIGRvbU5vZGUgPSBXSS5kb21NYW5hZ2VyLm5vZGVGb3JJZChub2RlSWRzW2ldKTsK
KyAgICAgICAgICAgICAgICBmb3IgKGxldCBub2RlSWQgb2Ygbm9kZUlkcykgeworICAgICAgICAg
ICAgICAgICAgICBsZXQgZG9tTm9kZSA9IFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCk7
CiAgICAgICAgICAgICAgICAgICAgIGlmICghZG9tTm9kZSB8fCAhZG9tTm9kZS5vd25lckRvY3Vt
ZW50KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKQEAgLTI5OCwxOCArMjcy
LDE3IEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBl
eHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAgICAgICAgICAgICAgIGlmICgh
cmVzb3VyY2VUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpCiAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5yZW1vdmVDaGlsZChyZXNvdXJjZVRyZWVFbGVt
ZW50KTsKIAotICAgICAgICAgICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRl
ci5jYWxsKHRoaXMpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH07CiAKLSAgICAgICAgICAgIERPTUFnZW50LmdldFNlYXJjaFJlc3VsdHMoc2VhcmNoSWQs
IDAsIHJlc3VsdHNDb3VudCwgZG9tU2VhcmNoUmVzdWx0cy5iaW5kKHRoaXMpKTsKLSAgICAgICAg
fQorICAgICAgICAgICAgY291bnRQcm9taXNlKERPTUFnZW50LmdldFNlYXJjaFJlc3VsdHMoc2Vh
cmNoSWQsIDAsIHJlc3VsdENvdW50KSwgZG9tU2VhcmNoUmVzdWx0cyk7CisgICAgICAgIH07CiAK
ICAgICAgICAgaWYgKHdpbmRvdy5ET01BZ2VudCkKICAgICAgICAgICAgIFdJLmRvbU1hbmFnZXIu
ZW5zdXJlRG9jdW1lbnQoKTsKIAogICAgICAgICBpZiAod2luZG93LlBhZ2VBZ2VudCkKLSAgICAg
ICAgICAgIFBhZ2VBZ2VudC5zZWFyY2hJblJlc291cmNlcyhzZWFyY2hRdWVyeSwgaXNDYXNlU2Vu
c2l0aXZlLCBpc1JlZ2V4LCByZXNvdXJjZXNDYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICAgICAg
ICAgIGNvdW50UHJvbWlzZShQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJjZXMoc2VhcmNoUXVlcnks
IGlzQ2FzZVNlbnNpdGl2ZSwgaXNSZWdleCksIHJlc291cmNlc0NhbGxiYWNrKTsKIAogICAgICAg
ICBzZXRUaW1lb3V0KHNlYXJjaFNjcmlwdHMuYmluZCh0aGlzLCBXSS5kZWJ1Z2dlck1hbmFnZXIu
c2VhcmNoYWJsZVNjcmlwdHMpLCAwKTsKIApAQCAtMzE5LDEzICsyOTIsMTEgQEAgV0kuU2VhcmNo
U2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdh
dGlvblNpZGViYXJQYW4KICAgICAgICAgICAgICAgICB0aGlzLl9kb21TZWFyY2hJZGVudGlmaWVy
ID0gdW5kZWZpbmVkOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBET01BZ2VudC5wZXJm
b3JtU2VhcmNoKHNlYXJjaFF1ZXJ5LCBkb21DYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICAgICAg
ICAgIGNvdW50UHJvbWlzZShET01BZ2VudC5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KSwgZG9t
Q2FsbGJhY2spOwogICAgICAgICB9CiAKICAgICAgICAgLy8gRklYTUU6IFJlc291cmNlIHNlYXJj
aCBzaG91bGQgd29yayBpbiBKU0NvbnRleHQgaW5zcGVjdGlvbi4KICAgICAgICAgLy8gPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzEzMTI1Mj4gV2ViIEluc3BlY3RvcjogSlNDb250ZXh0IGluc3BlY3Rp
b24gUmVzb3VyY2Ugc2VhcmNoIGRvZXMgbm90IHdvcmsKLSAgICAgICAgaWYgKCF3aW5kb3cuRE9N
QWdlbnQgJiYgIXdpbmRvdy5QYWdlQWdlbnQpCi0gICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRl
bnRQbGFjZWhvbGRlclNvb24uY2FsbCh0aGlzKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362968</attachid>
            <date>2019-02-25 23:59:11 -0800</date>
            <delta_ts>2019-02-26 00:15:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170631-20190225235910.patch</filename>
            <type>text/plain</type>
            <size>14965</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDZiNmYzY2Q1M2E5MzEyMmNjMTY4YWUwMTcwZWEy
MWRhYjBiMzcxNDYuLmEyMDIzYTA0YTEwYTFhYjM1YWM5ZjE4MmU3MzlhOTMzOGRiN2QyYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAyLTI1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBu
YXZpZ2F0aW9uIHNpZGViYXIgc2F5cyAiTm8gU2VhcmNoIFJlc3VsdHMiIHdoZW4gYSBzbG93IHNl
YXJjaCBpcyBpbiBwcm9ncmVzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwNjMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTQ3Mzg3ND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgS2VlcCBhIGNv
dW50IG9mIGFsbCB0aGUgYmFja2VuZCBjb21tYW5kcyAoaW5jcmVtZW50IHdoZW4gZmlyaW5nLCBk
ZWNyZW1lbnQgd2hlbiBhIHJlc3VsdCBpcworICAgICAgICBzZW50IGJhY2sgdG8gdGhlIGZyb250
ZW5kKS4gT25jZSB0aGUgY291bnQgY29tZXMgYmFjayB0byBgMGAsIGF0dGVtcHQgdG8gc2hvdyB0
aGUgIk5vIFJlc3VsdHMiCisgICAgICAgIHBsYWNlaG9sZGVyLCBzaW5jZSB3ZSB3aWxsIGhhdmUg
ZmluaXNoZWQgc2VhcmNoaW5nIGF0IHRoYXQgcG9pbnQuIFNpbmNlIGNvbW1hbmRzIGNhbiBiZSBj
YWxsZWQKKyAgICAgICAgYXMgYSByZXN1bHQgb2Ygb3RoZXIgY29tbWFuZHMsIHVzaW5nIGBQcm9t
aXNlLmFsbGAgaXNuJ3QgcG9zc2libGUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1NlYXJjaFNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLlNlYXJjaFNpZGViYXJQYW5lbC5w
cm90b3R5cGUucGVyZm9ybVNlYXJjaCk6CisgICAgICAgIChXSS5TZWFyY2hTaWRlYmFyUGFuZWwu
cHJvdG90eXBlLnBlcmZvcm1TZWFyY2gudXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXJTb29u
KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLlNlYXJjaFNpZGViYXJQYW5lbC5wcm90b3R5cGUucGVy
Zm9ybVNlYXJjaC51cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlcik6IERlbGV0ZWQuCisgICAg
ICAgIERyaXZlLWJ5OiByZXBsYWNlIGBiaW5kYCBjYWxscyB3aXRoIGFycm93IGZ1bmN0aW9ucywg
YW5kIHVzZSBmb3Itb2YgbG9vcHMuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9q
L2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIwMTktMDItMjUgIE5pa2l0YSBWYXNpbHlldiAgPG52
YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBDb21t
YW5kLS8gc2hvdWxkIHRvZ2dsZSBlZGl0ZWQgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzCmluZGV4IDkzMzJiOTliNGEzNTk2YmZiODkzYzlmMGJkZmFhOWI4MjQ5YjM1NDUu
Ljc4MWFhYWVlOWZkOTMyMzZmMTc1MjQyZTI4NzE3YjlkNmExMjdjYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtODQ2LDYgKzg0Niw3IEBAIGxvY2FsaXplZFN0cmluZ3Nb
IlNlYXJjaCBBZ2FpbiJdID0gIlNlYXJjaCBBZ2FpbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTZWFy
Y2ggUmVzb3VyY2UgQ29udGVudCJdID0gIlNlYXJjaCBSZXNvdXJjZSBDb250ZW50IjsKIC8qIFNl
dHRpbmdzIHRhYiBsYWJlbCBmb3Igc2VhcmNoIHJlbGF0ZWQgc2V0dGluZ3MgKi8KIGxvY2FsaXpl
ZFN0cmluZ3NbIlNlYXJjaDogQCBTZXR0aW5ncyJdID0gIlNlYXJjaDoiOworbG9jYWxpemVkU3Ry
aW5nc1siU2VhcmNoaW5nICVzIl0gPSAiU2VhcmNoaW5nICVzIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IlNlY3VyZSJdID0gIlNlY3VyZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJTZWN1cml0eSJdID0gIlNl
Y3VyaXR5IjsKIGxvY2FsaXplZFN0cmluZ3NbIlNlY3VyaXR5IElzc3VlIl0gPSAiU2VjdXJpdHkg
SXNzdWUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzCmluZGV4IDkwOTIxYzE5ZTdhNjVl
M2FiMTg4NDA2Y2RjN2MzNDZmNDQ4ZmZmZDAuLmViZWRmZTY3YTJlZjdmYWFiODljZDU5YzYyZWZm
MjU3NjFjYzc4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanMKQEAgLTEwMCwxMSAr
MTAwLDMyIEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5l
bCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAgIGlmICghc2VhcmNoUXVl
cnkubGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIGxldCBwcm9taXNlQ291
bnQgPSAwOworICAgICAgICBsZXQgY291bnRQcm9taXNlID0gYXN5bmMgKHByb21pc2UsIGNhbGxi
YWNrKSA9PiB7CisgICAgICAgICAgICArK3Byb21pc2VDb3VudDsKKyAgICAgICAgICAgIGlmIChw
cm9taXNlQ291bnQgPT09IDEpIHsKKyAgICAgICAgICAgICAgICBsZXQgc2VhcmNoaW5nUGxhY2Vo
b2xkZXIgPSBXSS5jcmVhdGVNZXNzYWdlVGV4dFZpZXcoIiIpOworICAgICAgICAgICAgICAgIFN0
cmluZy5mb3JtYXQoV0kuVUlTdHJpbmcoIlNlYXJjaGluZyAlcyIpLCBbKG5ldyBXSS5JbmRldGVy
bWluYXRlUHJvZ3Jlc3NTcGlubmVyKS5lbGVtZW50XSwgU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVy
cywgc2VhcmNoaW5nUGxhY2Vob2xkZXIsIChhLCBiKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
IGEuYXBwZW5kKGIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gYTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9s
ZGVyKHNlYXJjaGluZ1BsYWNlaG9sZGVyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
bGV0IHZhbHVlID0gYXdhaXQgcHJvbWlzZTsKKworICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQor
ICAgICAgICAgICAgICAgIGNhbGxiYWNrKHZhbHVlKTsKKworICAgICAgICAgICAgLS1wcm9taXNl
Q291bnQ7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChwcm9taXNlQ291bnQgPj0gMCk7Cisg
ICAgICAgICAgICBpZiAocHJvbWlzZUNvdW50ID09PSAwKQorICAgICAgICAgICAgICAgIHRoaXMu
dXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIoV0kuVUlTdHJpbmcoIk5vIFNlYXJjaCBSZXN1
bHRzIikpOworICAgICAgICB9OworCiAgICAgICAgIGxldCBpc0Nhc2VTZW5zaXRpdmUgPSAhIXRo
aXMuX3NlYXJjaElucHV0U2V0dGluZ3MuY2FzZVNlbnNpdGl2ZS52YWx1ZTsKICAgICAgICAgbGV0
IGlzUmVnZXggPSAhIXRoaXMuX3NlYXJjaElucHV0U2V0dGluZ3MucmVndWxhckV4cHJlc3Npb24u
dmFsdWU7CiAKLSAgICAgICAgdmFyIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyVGltZW91
dCA9IG51bGw7Ci0KICAgICAgICAgZnVuY3Rpb24gY3JlYXRlVHJlZUVsZW1lbnRGb3JNYXRjaE9i
amVjdChtYXRjaE9iamVjdCwgcGFyZW50VHJlZUVsZW1lbnQpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIGxldCBtYXRjaFRyZWVFbGVtZW50ID0gbmV3IFdJLlNlYXJjaFJlc3VsdFRyZWVFbGVtZW50
KG1hdGNoT2JqZWN0KTsKQEAgLTExNiwyMyArMTM3LDYgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVs
ID0gY2xhc3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQ
YW4KICAgICAgICAgICAgICAgICBtYXRjaFRyZWVFbGVtZW50LnJldmVhbEFuZFNlbGVjdChmYWxz
ZSwgdHJ1ZSk7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiB1cGRhdGVFbXB0eUNvbnRl
bnRQbGFjZWhvbGRlclNvb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAodXBkYXRlRW1w
dHlDb250ZW50UGxhY2Vob2xkZXJUaW1lb3V0KQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyVGltZW91dCA9IHNldFRpbWVv
dXQodXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIuYmluZCh0aGlzKSwgMTAwKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyKCkK
LSAgICAgICAgewotICAgICAgICAgICAgaWYgKHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVy
VGltZW91dCkgewotICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh1cGRhdGVFbXB0eUNvbnRl
bnRQbGFjZWhvbGRlclRpbWVvdXQpOwotICAgICAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVu
dFBsYWNlaG9sZGVyVGltZW91dCA9IG51bGw7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IHRoaXMudXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXIoV0kuVUlTdHJpbmcoIk5vIFNlYXJj
aCBSZXN1bHRzIikpOwotICAgICAgICB9Ci0KICAgICAgICAgZnVuY3Rpb24gZm9yRWFjaE1hdGNo
KHNlYXJjaFF1ZXJ5LCBsaW5lQ29udGVudCwgY2FsbGJhY2spCiAgICAgICAgIHsKICAgICAgICAg
ICAgIHZhciBsaW5lTWF0Y2g7CkBAIC0xNDQsNDggKzE0OCwzNiBAQCBXSS5TZWFyY2hTaWRlYmFy
UGFuZWwgPSBjbGFzcyBTZWFyY2hTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lk
ZWJhclBhbgogICAgICAgICAgICAgICAgIGNhbGxiYWNrKGxpbmVNYXRjaCwgc2VhcmNoUmVnZXgu
bGFzdEluZGV4KTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIHJlc291cmNlc0NhbGxi
YWNrKGVycm9yLCByZXN1bHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29u
dGVudFBsYWNlaG9sZGVyU29vbi5jYWxsKHRoaXMpOwotCi0gICAgICAgICAgICBpZiAoZXJyb3Ip
CisgICAgICAgIGxldCByZXNvdXJjZUNhbGxiYWNrID0gKGZyYW1lSWQsIHVybCwge3Jlc3VsdH0p
ID0+IHsKKyAgICAgICAgICAgIGlmICghcmVzdWx0IHx8ICFyZXN1bHQubGVuZ3RoKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgZnVuY3Rpb24gcmVzb3VyY2VDYWxsYmFj
ayhmcmFtZUlkLCB1cmwsIGVycm9yLCByZXNvdXJjZU1hdGNoZXMpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgdXBkYXRlRW1wdHlDb250ZW50UGxhY2Vob2xkZXJTb29uLmNhbGwodGhp
cyk7CisgICAgICAgICAgICB2YXIgZnJhbWUgPSBXSS5uZXR3b3JrTWFuYWdlci5mcmFtZUZvcklk
ZW50aWZpZXIoZnJhbWVJZCk7CisgICAgICAgICAgICBpZiAoIWZyYW1lKQorICAgICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICAgICAgICAgIGlmIChlcnJvciB8fCAhcmVzb3VyY2VNYXRj
aGVzIHx8ICFyZXNvdXJjZU1hdGNoZXMubGVuZ3RoKQotICAgICAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBmcmFtZS51cmwgPT09IHVybCA/IGZyYW1l
Lm1haW5SZXNvdXJjZSA6IGZyYW1lLnJlc291cmNlRm9yVVJMKHVybCk7CisgICAgICAgICAgICBp
ZiAoIXJlc291cmNlKQorICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgICAg
IHZhciBmcmFtZSA9IFdJLm5ldHdvcmtNYW5hZ2VyLmZyYW1lRm9ySWRlbnRpZmllcihmcmFtZUlk
KTsKLSAgICAgICAgICAgICAgICBpZiAoIWZyYW1lKQotICAgICAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICB2YXIgcmVzb3VyY2VUcmVlRWxlbWVudCA9IHRoaXMuX3NlYXJjaFRy
ZWVFbGVtZW50Rm9yUmVzb3VyY2UocmVzb3VyY2UpOwogCi0gICAgICAgICAgICAgICAgdmFyIHJl
c291cmNlID0gZnJhbWUudXJsID09PSB1cmwgPyBmcmFtZS5tYWluUmVzb3VyY2UgOiBmcmFtZS5y
ZXNvdXJjZUZvclVSTCh1cmwpOwotICAgICAgICAgICAgICAgIGlmICghcmVzb3VyY2UpCi0gICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgICAgIHZhciByZXNvdXJjZVRy
ZWVFbGVtZW50ID0gdGhpcy5fc2VhcmNoVHJlZUVsZW1lbnRGb3JSZXNvdXJjZShyZXNvdXJjZSk7
Ci0KLSAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc291cmNlTWF0Y2hlcy5s
ZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgbWF0Y2ggPSByZXNvdXJjZU1h
dGNoZXNbaV07Ci0gICAgICAgICAgICAgICAgICAgIGZvckVhY2hNYXRjaChzZWFyY2hRdWVyeSwg
bWF0Y2gubGluZUNvbnRlbnQsIChsaW5lTWF0Y2gsIGxhc3RJbmRleCkgPT4gewotICAgICAgICAg
ICAgICAgICAgICAgICAgdmFyIG1hdGNoT2JqZWN0ID0gbmV3IFdJLlNvdXJjZUNvZGVTZWFyY2hN
YXRjaE9iamVjdChyZXNvdXJjZSwgbWF0Y2gubGluZUNvbnRlbnQsIHNlYXJjaFF1ZXJ5LCBuZXcg
V0kuVGV4dFJhbmdlKG1hdGNoLmxpbmVOdW1iZXIsIGxpbmVNYXRjaC5pbmRleCwgbWF0Y2gubGlu
ZU51bWJlciwgbGFzdEluZGV4KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVUcmVl
RWxlbWVudEZvck1hdGNoT2JqZWN0LmNhbGwodGhpcywgbWF0Y2hPYmplY3QsIHJlc291cmNlVHJl
ZUVsZW1lbnQpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9Ci0K
LSAgICAgICAgICAgICAgICBpZiAoIXJlc291cmNlVHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3Ro
KQotICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5yZW1vdmVDaGls
ZChyZXNvdXJjZVRyZWVFbGVtZW50KTsKLQotICAgICAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29u
dGVudFBsYWNlaG9sZGVyLmNhbGwodGhpcyk7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHJlc3VsdC5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIHZhciBtYXRjaCA9IHJl
c3VsdFtpXTsKKyAgICAgICAgICAgICAgICBmb3JFYWNoTWF0Y2goc2VhcmNoUXVlcnksIG1hdGNo
LmxpbmVDb250ZW50LCAobGluZU1hdGNoLCBsYXN0SW5kZXgpID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgdmFyIG1hdGNoT2JqZWN0ID0gbmV3IFdJLlNvdXJjZUNvZGVTZWFyY2hNYXRjaE9iamVj
dChyZXNvdXJjZSwgbWF0Y2gubGluZUNvbnRlbnQsIHNlYXJjaFF1ZXJ5LCBuZXcgV0kuVGV4dFJh
bmdlKG1hdGNoLmxpbmVOdW1iZXIsIGxpbmVNYXRjaC5pbmRleCwgbWF0Y2gubGluZU51bWJlciwg
bGFzdEluZGV4KSk7CisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVRyZWVFbGVtZW50Rm9yTWF0
Y2hPYmplY3QuY2FsbCh0aGlzLCBtYXRjaE9iamVjdCwgcmVzb3VyY2VUcmVlRWxlbWVudCk7Cisg
ICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIGlmICghcmVz
b3VyY2VUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpCisgICAgICAgICAgICAgICAgdGhpcy5j
b250ZW50VHJlZU91dGxpbmUucmVtb3ZlQ2hpbGQocmVzb3VyY2VUcmVlRWxlbWVudCk7CisgICAg
ICAgIH07CisKKyAgICAgICAgbGV0IHJlc291cmNlc0NhbGxiYWNrID0gKHtyZXN1bHR9KSA9PiB7
CiAgICAgICAgICAgICBsZXQgcHJldmVudER1cGxpY2F0ZXMgPSBuZXcgU2V0OwogCi0gICAgICAg
ICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7ICsraSkgewotICAgICAgICAg
ICAgICAgIGxldCBzZWFyY2hSZXN1bHQgPSByZXN1bHRbaV07CisgICAgICAgICAgICBmb3IgKGxl
dCBzZWFyY2hSZXN1bHQgb2YgcmVzdWx0KSB7CiAgICAgICAgICAgICAgICAgaWYgKCFzZWFyY2hS
ZXN1bHQudXJsIHx8ICFzZWFyY2hSZXN1bHQuZnJhbWVJZCkKICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CiAKQEAgLTE5OCw3ICsxOTAsNyBAQCBXSS5TZWFyY2hTaWRlYmFyUGFuZWwgPSBj
bGFzcyBTZWFyY2hTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhclBhbgog
ICAgICAgICAgICAgICAgIHByZXZlbnREdXBsaWNhdGVzLmFkZChrZXkpOwogCiAgICAgICAgICAg
ICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDkpOiBQYWdlLnNlYXJjaEluUmVzb3VyY2VzIGRp
ZCBub3QgaGF2ZSB0aGUgb3B0aW9uYWwgcmVxdWVzdElkIHBhcmFtZXRlci4KLSAgICAgICAgICAg
ICAgICBQYWdlQWdlbnQuc2VhcmNoSW5SZXNvdXJjZShzZWFyY2hSZXN1bHQuZnJhbWVJZCwgc2Vh
cmNoUmVzdWx0LnVybCwgc2VhcmNoUXVlcnksIGlzQ2FzZVNlbnNpdGl2ZSwgaXNSZWdleCwgc2Vh
cmNoUmVzdWx0LnJlcXVlc3RJZCwgcmVzb3VyY2VDYWxsYmFjay5iaW5kKHRoaXMsIHNlYXJjaFJl
c3VsdC5mcmFtZUlkLCBzZWFyY2hSZXN1bHQudXJsKSk7CisgICAgICAgICAgICAgICAgY291bnRQ
cm9taXNlKFBhZ2VBZ2VudC5zZWFyY2hJblJlc291cmNlKHNlYXJjaFJlc3VsdC5mcmFtZUlkLCBz
ZWFyY2hSZXN1bHQudXJsLCBzZWFyY2hRdWVyeSwgaXNDYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCBz
ZWFyY2hSZXN1bHQucmVxdWVzdElkKSwgcmVzb3VyY2VDYWxsYmFjay5iaW5kKHRoaXMsIHNlYXJj
aFJlc3VsdC5mcmFtZUlkLCBzZWFyY2hSZXN1bHQudXJsKSk7CiAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIGxldCBwcm9taXNlcyA9IFsKQEAgLTIwNiw2NiArMTk4LDQ4IEBAIFdJLlNlYXJj
aFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmln
YXRpb25TaWRlYmFyUGFuCiAgICAgICAgICAgICAgICAgV0kuVGFyZ2V0LmF3YWl0RXZlbnQoV0ku
VGFyZ2V0LkV2ZW50LlJlc291cmNlQWRkZWQpCiAgICAgICAgICAgICBdOwogICAgICAgICAgICAg
UHJvbWlzZS5yYWNlKHByb21pc2VzKS50aGVuKHRoaXMuX2NvbnRlbnRDaGFuZ2VkLmJpbmQodGhp
cykpOwotICAgICAgICB9CisgICAgICAgIH07CiAKLSAgICAgICAgZnVuY3Rpb24gc2VhcmNoU2Ny
aXB0cyhzY3JpcHRzVG9TZWFyY2gpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHVwZGF0ZUVtcHR5
Q29udGVudFBsYWNlaG9sZGVyU29vbi5jYWxsKHRoaXMpOworICAgICAgICBsZXQgc2NyaXB0Q2Fs
bGJhY2sgPSAoc2NyaXB0LCB7cmVzdWx0fSkgPT4geworICAgICAgICAgICAgaWYgKCFyZXN1bHQg
fHwgIXJlc3VsdC5sZW5ndGgpCisgICAgICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgICAg
ICB2YXIgc2NyaXB0VHJlZUVsZW1lbnQgPSB0aGlzLl9zZWFyY2hUcmVlRWxlbWVudEZvclNjcmlw
dChzY3JpcHQpOworCisgICAgICAgICAgICBmb3IgKGxldCBtYXRjaCBvZiByZXN1bHQpIHsKKyAg
ICAgICAgICAgICAgICBmb3JFYWNoTWF0Y2goc2VhcmNoUXVlcnksIG1hdGNoLmxpbmVDb250ZW50
LCAobGluZU1hdGNoLCBsYXN0SW5kZXgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIG1h
dGNoT2JqZWN0ID0gbmV3IFdJLlNvdXJjZUNvZGVTZWFyY2hNYXRjaE9iamVjdChzY3JpcHQsIG1h
dGNoLmxpbmVDb250ZW50LCBzZWFyY2hRdWVyeSwgbmV3IFdJLlRleHRSYW5nZShtYXRjaC5saW5l
TnVtYmVyLCBsaW5lTWF0Y2guaW5kZXgsIG1hdGNoLmxpbmVOdW1iZXIsIGxhc3RJbmRleCkpOwor
ICAgICAgICAgICAgICAgICAgICBjcmVhdGVUcmVlRWxlbWVudEZvck1hdGNoT2JqZWN0LmNhbGwo
dGhpcywgbWF0Y2hPYmplY3QsIHNjcmlwdFRyZWVFbGVtZW50KTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFzY3JpcHRUcmVlRWxlbWVudC5j
aGlsZHJlbi5sZW5ndGgpCisgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUu
cmVtb3ZlQ2hpbGQoc2NyaXB0VHJlZUVsZW1lbnQpOworICAgICAgICB9OworCisgICAgICAgIGxl
dCBzZWFyY2hTY3JpcHRzID0gKHNjcmlwdHNUb1NlYXJjaCkgPT4gewogICAgICAgICAgICAgaWYg
KCFzY3JpcHRzVG9TZWFyY2gubGVuZ3RoKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAg
ICAgICAgICAgZnVuY3Rpb24gc2NyaXB0Q2FsbGJhY2soc2NyaXB0LCBlcnJvciwgc2NyaXB0TWF0
Y2hlcykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQ
bGFjZWhvbGRlclNvb24uY2FsbCh0aGlzKTsKLQotICAgICAgICAgICAgICAgIGlmIChlcnJvciB8
fCAhc2NyaXB0TWF0Y2hlcyB8fCAhc2NyaXB0TWF0Y2hlcy5sZW5ndGgpCi0gICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgICAgIHZhciBzY3JpcHRUcmVlRWxlbWVudCA9
IHRoaXMuX3NlYXJjaFRyZWVFbGVtZW50Rm9yU2NyaXB0KHNjcmlwdCk7Ci0KLSAgICAgICAgICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjcmlwdE1hdGNoZXMubGVuZ3RoOyArK2kpIHsKLSAg
ICAgICAgICAgICAgICAgICAgdmFyIG1hdGNoID0gc2NyaXB0TWF0Y2hlc1tpXTsKLSAgICAgICAg
ICAgICAgICAgICAgZm9yRWFjaE1hdGNoKHNlYXJjaFF1ZXJ5LCBtYXRjaC5saW5lQ29udGVudCwg
KGxpbmVNYXRjaCwgbGFzdEluZGV4KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXIg
bWF0Y2hPYmplY3QgPSBuZXcgV0kuU291cmNlQ29kZVNlYXJjaE1hdGNoT2JqZWN0KHNjcmlwdCwg
bWF0Y2gubGluZUNvbnRlbnQsIHNlYXJjaFF1ZXJ5LCBuZXcgV0kuVGV4dFJhbmdlKG1hdGNoLmxp
bmVOdW1iZXIsIGxpbmVNYXRjaC5pbmRleCwgbWF0Y2gubGluZU51bWJlciwgbGFzdEluZGV4KSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVUcmVlRWxlbWVudEZvck1hdGNoT2JqZWN0
LmNhbGwodGhpcywgbWF0Y2hPYmplY3QsIHNjcmlwdFRyZWVFbGVtZW50KTsKLSAgICAgICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKCFz
Y3JpcHRUcmVlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpCi0gICAgICAgICAgICAgICAgICAgIHRo
aXMuY29udGVudFRyZWVPdXRsaW5lLnJlbW92ZUNoaWxkKHNjcmlwdFRyZWVFbGVtZW50KTsKLQot
ICAgICAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyLmNhbGwodGhpcyk7
Ci0gICAgICAgICAgICB9Ci0KICAgICAgICAgICAgIGZvciAobGV0IHNjcmlwdCBvZiBzY3JpcHRz
VG9TZWFyY2gpCi0gICAgICAgICAgICAgICAgc2NyaXB0LnRhcmdldC5EZWJ1Z2dlckFnZW50LnNl
YXJjaEluQ29udGVudChzY3JpcHQuaWQsIHNlYXJjaFF1ZXJ5LCBpc0Nhc2VTZW5zaXRpdmUsIGlz
UmVnZXgsIHNjcmlwdENhbGxiYWNrLmJpbmQodGhpcywgc2NyaXB0KSk7Ci0gICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBjb3VudFByb21pc2Uoc2NyaXB0LnRhcmdldC5EZWJ1Z2dlckFnZW50LnNl
YXJjaEluQ29udGVudChzY3JpcHQuaWQsIHNlYXJjaFF1ZXJ5LCBpc0Nhc2VTZW5zaXRpdmUsIGlz
UmVnZXgpLCBzY3JpcHRDYWxsYmFjay5iaW5kKHRoaXMsIHNjcmlwdCkpOworICAgICAgICB9Owog
Ci0gICAgICAgIGZ1bmN0aW9uIGRvbUNhbGxiYWNrKGVycm9yLCBzZWFyY2hJZCwgcmVzdWx0c0Nv
dW50KQotICAgICAgICB7Ci0gICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRl
clNvb24uY2FsbCh0aGlzKTsKLQotICAgICAgICAgICAgaWYgKGVycm9yIHx8ICFyZXN1bHRzQ291
bnQpCisgICAgICAgIGxldCBkb21DYWxsYmFjayA9ICh7c2VhcmNoSWQsIHJlc3VsdENvdW50fSkg
PT4geworICAgICAgICAgICAgaWYgKCFyZXN1bHRDb3VudCkKICAgICAgICAgICAgICAgICByZXR1
cm47CiAKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNlYXJjaElkKTsKIAogICAgICAgICAg
ICAgdGhpcy5fZG9tU2VhcmNoSWRlbnRpZmllciA9IHNlYXJjaElkOwogCi0gICAgICAgICAgICBm
dW5jdGlvbiBkb21TZWFyY2hSZXN1bHRzKGVycm9yLCBub2RlSWRzKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIHVwZGF0ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyU29vbi5jYWxsKHRo
aXMpOwotCi0gICAgICAgICAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgbGV0IGRvbVNl
YXJjaFJlc3VsdHMgPSAoe25vZGVJZHN9KSA9PiB7CisgICAgICAgICAgICAgICAgLy8gSWYgc29t
ZW9uZSBzdGFydGVkIGEgbmV3IHNlYXJjaCwgdGhlbiByZXR1cm4gZWFybHkgYW5kIHN0b3Agc2hv
d2luZyBzZWFjaCByZXN1bHRzIGZyb20gdGhlIG9sZCBxdWVyeS4KKyAgICAgICAgICAgICAgICBp
ZiAodGhpcy5fZG9tU2VhcmNoSWRlbnRpZmllciAhPT0gc2VhcmNoSWQpCiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9k
ZUlkcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgICAgICAvLyBJZiBzb21lb25lIHN0
YXJ0ZWQgYSBuZXcgc2VhcmNoLCB0aGVuIHJldHVybiBlYXJseSBhbmQgc3RvcCBzaG93aW5nIHNl
YWNoIHJlc3VsdHMgZnJvbSB0aGUgb2xkIHF1ZXJ5LgotICAgICAgICAgICAgICAgICAgICBpZiAo
dGhpcy5fZG9tU2VhcmNoSWRlbnRpZmllciAhPT0gc2VhcmNoSWQpCi0gICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgICAgICAgICAgdmFyIGRvbU5vZGUgPSBXSS5k
b21NYW5hZ2VyLm5vZGVGb3JJZChub2RlSWRzW2ldKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxl
dCBub2RlSWQgb2Ygbm9kZUlkcykgeworICAgICAgICAgICAgICAgICAgICBsZXQgZG9tTm9kZSA9
IFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCk7CiAgICAgICAgICAgICAgICAgICAgIGlm
ICghZG9tTm9kZSB8fCAhZG9tTm9kZS5vd25lckRvY3VtZW50KQogICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAKQEAgLTI5OCwxOCArMjcyLDE3IEBAIFdJLlNlYXJjaFNpZGViYXJQ
YW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRl
YmFyUGFuCiAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzb3VyY2VUcmVlRWxlbWVudC5jaGls
ZHJlbi5sZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0
bGluZS5yZW1vdmVDaGlsZChyZXNvdXJjZVRyZWVFbGVtZW50KTsKIAotICAgICAgICAgICAgICAg
ICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlci5jYWxsKHRoaXMpOwogICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CiAKLSAgICAgICAgICAgIERP
TUFnZW50LmdldFNlYXJjaFJlc3VsdHMoc2VhcmNoSWQsIDAsIHJlc3VsdHNDb3VudCwgZG9tU2Vh
cmNoUmVzdWx0cy5iaW5kKHRoaXMpKTsKLSAgICAgICAgfQorICAgICAgICAgICAgY291bnRQcm9t
aXNlKERPTUFnZW50LmdldFNlYXJjaFJlc3VsdHMoc2VhcmNoSWQsIDAsIHJlc3VsdENvdW50KSwg
ZG9tU2VhcmNoUmVzdWx0cyk7CisgICAgICAgIH07CiAKICAgICAgICAgaWYgKHdpbmRvdy5ET01B
Z2VudCkKICAgICAgICAgICAgIFdJLmRvbU1hbmFnZXIuZW5zdXJlRG9jdW1lbnQoKTsKIAogICAg
ICAgICBpZiAod2luZG93LlBhZ2VBZ2VudCkKLSAgICAgICAgICAgIFBhZ2VBZ2VudC5zZWFyY2hJ
blJlc291cmNlcyhzZWFyY2hRdWVyeSwgaXNDYXNlU2Vuc2l0aXZlLCBpc1JlZ2V4LCByZXNvdXJj
ZXNDYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIGNvdW50UHJvbWlzZShQYWdlQWdl
bnQuc2VhcmNoSW5SZXNvdXJjZXMoc2VhcmNoUXVlcnksIGlzQ2FzZVNlbnNpdGl2ZSwgaXNSZWdl
eCksIHJlc291cmNlc0NhbGxiYWNrKTsKIAogICAgICAgICBzZXRUaW1lb3V0KHNlYXJjaFNjcmlw
dHMuYmluZCh0aGlzLCBXSS5kZWJ1Z2dlck1hbmFnZXIuc2VhcmNoYWJsZVNjcmlwdHMpLCAwKTsK
IApAQCAtMzE5LDEzICsyOTIsMTEgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2Vh
cmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAgICAg
ICAgICAgICB0aGlzLl9kb21TZWFyY2hJZGVudGlmaWVyID0gdW5kZWZpbmVkOwogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBET01BZ2VudC5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5LCBk
b21DYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIGNvdW50UHJvbWlzZShET01BZ2Vu
dC5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KSwgZG9tQ2FsbGJhY2spOwogICAgICAgICB9CiAK
ICAgICAgICAgLy8gRklYTUU6IFJlc291cmNlIHNlYXJjaCBzaG91bGQgd29yayBpbiBKU0NvbnRl
eHQgaW5zcGVjdGlvbi4KICAgICAgICAgLy8gPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzMTI1Mj4g
V2ViIEluc3BlY3RvcjogSlNDb250ZXh0IGluc3BlY3Rpb24gUmVzb3VyY2Ugc2VhcmNoIGRvZXMg
bm90IHdvcmsKLSAgICAgICAgaWYgKCF3aW5kb3cuRE9NQWdlbnQgJiYgIXdpbmRvdy5QYWdlQWdl
bnQpCi0gICAgICAgICAgICB1cGRhdGVFbXB0eUNvbnRlbnRQbGFjZWhvbGRlclNvb24uY2FsbCh0
aGlzKTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>