<?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>184047</bug_id>
          
          <creation_ts>2018-03-27 10:11:49 -0700</creation_ts>
          <short_desc>Web Inspector: Modernize some utility functions</short_desc>
          <delta_ts>2018-03-27 19:52:23 -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>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>mattbaker</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1409579</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-03-27 10:11:49 -0700</bug_when>
    <thetext>We can use let and iterators in a few common utility functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409581</commentid>
    <comment_count>1</comment_count>
      <attachid>336593</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-03-27 10:28:28 -0700</bug_when>
    <thetext>Created attachment 336593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409623</commentid>
    <comment_count>2</comment_count>
      <attachid>336593</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-03-27 12:11:13 -0700</bug_when>
    <thetext>Comment on attachment 336593
Patch

r=me, nice cleanup.

It would be good to get our utilities test coverage to 100% at some point, so this can of refactoring can be done with greater confidence. Tests for enclosingNodeOrSelfWithClass, enclosingNodeOrSelfWithNodeNameInArray, and escapeCharacters would be nice to include before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409722</commentid>
    <comment_count>3</comment_count>
      <attachid>336630</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-03-27 16:39:30 -0700</bug_when>
    <thetext>Created attachment 336630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409724</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-03-27 16:40:34 -0700</bug_when>
    <thetext>(In reply to Matt Baker from comment #2)
&gt; Comment on attachment 336593 [details]
&gt; Patch
&gt; 
&gt; r=me, nice cleanup.
&gt; 
&gt; It would be good to get our utilities test coverage to 100% at some point,
&gt; so this can of refactoring can be done with greater confidence. Tests for
&gt; enclosingNodeOrSelfWithClass, enclosingNodeOrSelfWithNodeNameInArray, and
&gt; escapeCharacters would be nice to include before landing.

I added tests for escapeCharacters, since there was an existing test for string utilities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409765</commentid>
    <comment_count>5</comment_count>
      <attachid>336630</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 19:51:23 -0700</bug_when>
    <thetext>Comment on attachment 336630
Patch

Clearing flags on attachment: 336630

Committed r230021: &lt;https://trac.webkit.org/changeset/230021&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409766</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-27 19:51:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409767</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-27 19:52:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/38940079&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336593</attachid>
            <date>2018-03-27 10:28:28 -0700</date>
            <delta_ts>2018-03-27 16:39:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184047-20180327102827.patch</filename>
            <type>text/plain</type>
            <size>3839</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5OTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
Njk0ZDc2NTJkZGEzMmY1MzEwNzI2MTk1MTdlNDE4ODE3MzZjYTFhLi5jYjcxN2E1NWNlYWRjMjJj
MDM0N2Q1MDM5YmEyMTMxNzMxMGE2ZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOC0wMy0yNyAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBoYXRjaGVy
Lm5hbWU+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTW9kZXJuaXplIHNvbWUgdXRpbGl0eSBm
dW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDA0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qczoKKyAgICAgICAgKE5vZGUucHJvdG90
eXBlLmVuY2xvc2luZ05vZGVPclNlbGZXaXRoQ2xhc3MpOiBVc2UgcGFyZW50RWxlbWVudCBpbnN0
ZWFkIG9mIHBhcmVudE5vZGUsIHNvIHdlIGRvbid0IG5lZWQgdG8gY2hlY2sgZm9yIGRvY3VtZW50
LgorICAgICAgICAoTm9kZS5wcm90b3R5cGUuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFt
ZUluQXJyYXkpOiBEaXR0by4gQWxzbyBqdXN0IHRvVXBwZXJDYXNlIGlucHV0LCBzaW5jZSBub2Rl
TmFtZSBpcyBhbHJlYWR5IHVwcGVyIGNhc2UuCisgICAgICAgIChTdHJpbmcucHJvdG90eXBlLmVz
Y2FwZUNoYXJhY3RlcnMpOiBVc2UgU2V0IGFuZCBzdHJpbmcgaXRlcmF0aW9uIGluc3RlYWQgb2Yg
aW5kZXhPZiBhbmQgY2hhckF0LgorCiAyMDE4LTAzLTIzICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFz
aWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0eWxlczogZG9uJ3Qg
c2hvdyBjaGVja2JveGVzIGZvciBpbnZhbGlkIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKaW5kZXggZWFi
YjgyYzdkODliMGU1ZDZkMzJiYjZhMTE1YjNkMDE1NzFjMGMxZC4uYjA0NTQ0ZTU4ZjI0MzZiY2Vm
MzczNDE5N2RkMjk1MmVlZDU4ZjIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VdGlsaXRpZXMuanMKQEAgLTEyMiwyMSArMTIyLDI0IEBA
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb2RlLnByb3RvdHlwZSwgImVuY2xvc2luZ05vZGVPclNl
bGZXaXRoQ2xhc3MiLAogewogICAgIHZhbHVlKGNsYXNzTmFtZSkKICAgICB7Ci0gICAgICAgIGZv
ciAodmFyIG5vZGUgPSB0aGlzOyBub2RlICYmIG5vZGUgIT09IHRoaXMub3duZXJEb2N1bWVudDsg
bm9kZSA9IG5vZGUucGFyZW50Tm9kZSkKKyAgICAgICAgZm9yIChsZXQgbm9kZSA9IHRoaXM7IG5v
ZGU7IG5vZGUgPSBub2RlLnBhcmVudEVsZW1lbnQpIHsKICAgICAgICAgICAgIGlmIChub2RlLm5v
ZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSAmJiBub2RlLmNsYXNzTGlzdC5jb250YWlucyhj
bGFzc05hbWUpKQogICAgICAgICAgICAgICAgIHJldHVybiBub2RlOworICAgICAgICB9CisKICAg
ICAgICAgcmV0dXJuIG51bGw7CiAgICAgfQogfSk7CiAKIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShO
b2RlLnByb3RvdHlwZSwgImVuY2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWVJbkFycmF5IiwK
IHsKLSAgICB2YWx1ZShuYW1lQXJyYXkpCisgICAgdmFsdWUobm9kZU5hbWVzKQogICAgIHsKLSAg
ICAgICAgdmFyIGxvd2VyQ2FzZU5hbWVBcnJheSA9IG5hbWVBcnJheS5tYXAoZnVuY3Rpb24obmFt
ZSkgeyByZXR1cm4gbmFtZS50b0xvd2VyQ2FzZSgpOyB9KTsKLSAgICAgICAgZm9yICh2YXIgbm9k
ZSA9IHRoaXM7IG5vZGUgJiYgbm9kZSAhPT0gdGhpcy5vd25lckRvY3VtZW50OyBub2RlID0gbm9k
ZS5wYXJlbnROb2RlKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWVBcnJh
eS5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgICAgIGlmIChub2RlLm5vZGVOYW1lLnRvTG93
ZXJDYXNlKCkgPT09IGxvd2VyQ2FzZU5hbWVBcnJheVtpXSkKKyAgICAgICAgbGV0IHVwcGVyQ2Fz
ZU5vZGVOYW1lcyA9IG5vZGVOYW1lcy5tYXAoKG5hbWUpID0+IG5hbWUudG9VcHBlckNhc2UoKSk7
CisKKyAgICAgICAgZm9yIChsZXQgbm9kZSA9IHRoaXM7IG5vZGU7IG5vZGUgPSBub2RlLnBhcmVu
dEVsZW1lbnQpIHsKKyAgICAgICAgICAgIGZvciAobGV0IG5vZGVOYW1lIG9mIHVwcGVyQ2FzZU5v
ZGVOYW1lcykgeworICAgICAgICAgICAgICAgIGlmIChub2RlLm5vZGVOYW1lID09PSBub2RlTmFt
ZSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KQEAgLTU5MCwyNCArNTkzLDI5IEBAIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcu
cHJvdG90eXBlLCAicmVtb3ZlV2hpdGVzcGFjZSIsCiAKIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShT
dHJpbmcucHJvdG90eXBlLCAiZXNjYXBlQ2hhcmFjdGVycyIsCiB7Ci0gICAgdmFsdWUoY2hhcnMp
CisgICAgdmFsdWUoY2hhcmFjdGVyc1RvRXNjYXBlKQogICAgIHsKLSAgICAgICAgdmFyIGZvdW5k
Q2hhciA9IGZhbHNlOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsg
KytpKSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5pbmRleE9mKGNoYXJzLmNoYXJBdChpKSkgIT09
IC0xKSB7Ci0gICAgICAgICAgICAgICAgZm91bmRDaGFyID0gdHJ1ZTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIH0KKyAgICAgICAgaWYgKCFjaGFyYWN0ZXJzVG9Fc2NhcGUp
CisgICAgICAgICAgICByZXR1cm4gdGhpczsKKworICAgICAgICBsZXQgY2hhcmFjdGVyc1RvRXNj
YXBlU2V0ID0gbmV3IFNldChjaGFyYWN0ZXJzVG9Fc2NhcGUpOworCisgICAgICAgIGxldCBmb3Vu
ZENoYXJhY3RlciA9IGZhbHNlOworICAgICAgICBmb3IgKGxldCBjIG9mIHRoaXMpIHsKKyAgICAg
ICAgICAgIGlmICghY2hhcmFjdGVyc1RvRXNjYXBlU2V0LmhhcyhjKSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgIGZvdW5kQ2hhcmFjdGVyID0gdHJ1ZTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCFmb3VuZENoYXIpCisgICAgICAg
IGlmICghZm91bmRDaGFyYWN0ZXIpCiAgICAgICAgICAgICByZXR1cm4gdGhpczsKIAotICAgICAg
ICB2YXIgcmVzdWx0ID0gIiI7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5n
dGg7ICsraSkgewotICAgICAgICAgICAgaWYgKGNoYXJzLmluZGV4T2YodGhpcy5jaGFyQXQoaSkp
ICE9PSAtMSkKKyAgICAgICAgbGV0IHJlc3VsdCA9ICIiOworICAgICAgICBmb3IgKGxldCBjIG9m
IHRoaXMpIHsKKyAgICAgICAgICAgIGlmIChjaGFyYWN0ZXJzVG9Fc2NhcGVTZXQuaGFzKGMpKQog
ICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiXFwiOwotICAgICAgICAgICAgcmVzdWx0ICs9IHRo
aXMuY2hhckF0KGkpOworICAgICAgICAgICAgcmVzdWx0ICs9IGM7CiAgICAgICAgIH0KIAogICAg
ICAgICByZXR1cm4gcmVzdWx0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336630</attachid>
            <date>2018-03-27 16:39:30 -0700</date>
            <delta_ts>2018-03-27 19:51:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184047-20180327163930.patch</filename>
            <type>text/plain</type>
            <size>7303</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
YjAxZjRjMTVhZDc1ZDI3MDI4NTczZDMwOTA4ZWM2OTcxNTUxYzE2Li5hYjg3Y2YwMDEzZjE4ZWQ4
ZWQ1MDMzYTJhMzQzMTBkMTA5MzQwMWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOC0wMy0yNyAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTW9kZXJuaXplIHNvbWUgdXRpbGl0eSBmdW5j
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NDA0NworCisgICAgICAgIFJldmlld2VkIGJ5IE1hdHQgQmFrZXIuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgorICAgICAgICAoTm9kZS5wcm90b3R5cGUuZW5j
bG9zaW5nTm9kZU9yU2VsZldpdGhDbGFzcyk6IFVzZSBwYXJlbnRFbGVtZW50IGluc3RlYWQgb2Yg
cGFyZW50Tm9kZSwgc28gd2UgZG9uJ3QgbmVlZCB0byBjaGVjayBmb3IgZG9jdW1lbnQuCisgICAg
ICAgIChOb2RlLnByb3RvdHlwZS5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lSW5BcnJh
eSk6IERpdHRvLiBBbHNvIGp1c3QgdG9VcHBlckNhc2UgaW5wdXQsIHNpbmNlIG5vZGVOYW1lIGlz
IGFscmVhZHkgdXBwZXIgY2FzZS4KKyAgICAgICAgKFN0cmluZy5wcm90b3R5cGUuZXNjYXBlQ2hh
cmFjdGVycyk6IFVzZSBTZXQgYW5kIHN0cmluZyBpdGVyYXRpb24gaW5zdGVhZCBvZiBpbmRleE9m
IGFuZCBjaGFyQXQuCisKIDIwMTgtMDMtMjcgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ29tbWFuZC1TaGlmdC1sZWZ0L3Jp
Z2h0IGFycm93IGtleXMgc2hvdWxkIG5vdCBzd2l0Y2ggdGFicyB3aGVuIGZvY3VzZWQgb24gY29s
b3IgcGlja2VyIHRleHQgZmllbGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzCmluZGV4IGVhYmI4MmM3ZDg5YjBlNWQ2ZDMy
YmI2YTExNWIzZDAxNTcxYzBjMWQuLjgwNzJjZTFhYWNlM2ZlNTM5ZTc5MmUzOWFhZmQ4ODM4OGZm
N2M5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jh
c2UvVXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvVXRpbGl0aWVzLmpzCkBAIC0xMjIsMjEgKzEyMiwyNCBAQCBPYmplY3QuZGVmaW5lUHJv
cGVydHkoTm9kZS5wcm90b3R5cGUsICJlbmNsb3NpbmdOb2RlT3JTZWxmV2l0aENsYXNzIiwKIHsK
ICAgICB2YWx1ZShjbGFzc05hbWUpCiAgICAgewotICAgICAgICBmb3IgKHZhciBub2RlID0gdGhp
czsgbm9kZSAmJiBub2RlICE9PSB0aGlzLm93bmVyRG9jdW1lbnQ7IG5vZGUgPSBub2RlLnBhcmVu
dE5vZGUpCisgICAgICAgIGZvciAobGV0IG5vZGUgPSB0aGlzOyBub2RlOyBub2RlID0gbm9kZS5w
YXJlbnRFbGVtZW50KSB7CiAgICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5F
TEVNRU5UX05PREUgJiYgbm9kZS5jbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gbm9kZTsKKyAgICAgICAgfQorCiAgICAgICAgIHJldHVybiBudWxs
OwogICAgIH0KIH0pOwogCiBPYmplY3QuZGVmaW5lUHJvcGVydHkoTm9kZS5wcm90b3R5cGUsICJl
bmNsb3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lSW5BcnJheSIsCiB7Ci0gICAgdmFsdWUobmFt
ZUFycmF5KQorICAgIHZhbHVlKG5vZGVOYW1lcykKICAgICB7Ci0gICAgICAgIHZhciBsb3dlckNh
c2VOYW1lQXJyYXkgPSBuYW1lQXJyYXkubWFwKGZ1bmN0aW9uKG5hbWUpIHsgcmV0dXJuIG5hbWUu
dG9Mb3dlckNhc2UoKTsgfSk7Ci0gICAgICAgIGZvciAodmFyIG5vZGUgPSB0aGlzOyBub2RlICYm
IG5vZGUgIT09IHRoaXMub3duZXJEb2N1bWVudDsgbm9kZSA9IG5vZGUucGFyZW50Tm9kZSkgewot
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuYW1lQXJyYXkubGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgICAgICBpZiAobm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBsb3dl
ckNhc2VOYW1lQXJyYXlbaV0pCisgICAgICAgIGxldCB1cHBlckNhc2VOb2RlTmFtZXMgPSBub2Rl
TmFtZXMubWFwKChuYW1lKSA9PiBuYW1lLnRvVXBwZXJDYXNlKCkpOworCisgICAgICAgIGZvciAo
bGV0IG5vZGUgPSB0aGlzOyBub2RlOyBub2RlID0gbm9kZS5wYXJlbnRFbGVtZW50KSB7CisgICAg
ICAgICAgICBmb3IgKGxldCBub2RlTmFtZSBvZiB1cHBlckNhc2VOb2RlTmFtZXMpIHsKKyAgICAg
ICAgICAgICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gbm9kZU5hbWUpCiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBub2RlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC01OTAsMjcg
KzU5MywzMiBAQCBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInJlbW92
ZVdoaXRlc3BhY2UiLAogCiBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwg
ImVzY2FwZUNoYXJhY3RlcnMiLAogewotICAgIHZhbHVlKGNoYXJzKQorICAgIHZhbHVlKGNoYXJh
Y3RlcnNUb0VzY2FwZSkKICAgICB7Ci0gICAgICAgIHZhciBmb3VuZENoYXIgPSBmYWxzZTsKLSAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7ICsraSkgewotICAgICAgICAg
ICAgaWYgKHRoaXMuaW5kZXhPZihjaGFycy5jaGFyQXQoaSkpICE9PSAtMSkgewotICAgICAgICAg
ICAgICAgIGZvdW5kQ2hhciA9IHRydWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9CisgICAgICAgIGlmICghY2hhcmFjdGVyc1RvRXNjYXBlKQorICAgICAgICAgICAgcmV0
dXJuIHRoaXMudmFsdWVPZigpOworCisgICAgICAgIGxldCBjaGFyYWN0ZXJzVG9Fc2NhcGVTZXQg
PSBuZXcgU2V0KGNoYXJhY3RlcnNUb0VzY2FwZSk7CisKKyAgICAgICAgbGV0IGZvdW5kQ2hhcmFj
dGVyID0gZmFsc2U7CisgICAgICAgIGZvciAobGV0IGMgb2YgdGhpcykgeworICAgICAgICAgICAg
aWYgKCFjaGFyYWN0ZXJzVG9Fc2NhcGVTZXQuaGFzKGMpKQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgZm91bmRDaGFyYWN0ZXIgPSB0cnVlOworICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIWZvdW5kQ2hhcikKLSAgICAgICAgICAgIHJl
dHVybiB0aGlzOworICAgICAgICBpZiAoIWZvdW5kQ2hhcmFjdGVyKQorICAgICAgICAgICAgcmV0
dXJuIHRoaXMudmFsdWVPZigpOwogCi0gICAgICAgIHZhciByZXN1bHQgPSAiIjsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAo
Y2hhcnMuaW5kZXhPZih0aGlzLmNoYXJBdChpKSkgIT09IC0xKQorICAgICAgICBsZXQgcmVzdWx0
ID0gIiI7CisgICAgICAgIGZvciAobGV0IGMgb2YgdGhpcykgeworICAgICAgICAgICAgaWYgKGNo
YXJhY3RlcnNUb0VzY2FwZVNldC5oYXMoYykpCiAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICJc
XCI7Ci0gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5jaGFyQXQoaSk7CisgICAgICAgICAgICBy
ZXN1bHQgKz0gYzsKICAgICAgICAgfQogCi0gICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAg
IHJldHVybiByZXN1bHQudmFsdWVPZigpOwogICAgIH0KIH0pOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGNjOTc5NTg5
YjBiZWI4NGI1YzA2ZWM5NDU0ZTVhMzNkZDQ0N2UyNC4uMzc5NTU2OWFiZGQ0NzM5NDU1NjY2Mzhl
MDRhOGNmYzk2YmU3MjZiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTAzLTI3ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBNb2Rlcm5pemUgc29tZSB1dGlsaXR5IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MDQ3CisKKyAgICAgICAgUnViYmVyLXN0YW1w
ZWQgYnkgTWF0dCBCYWtlci4KKworICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3N0cmlu
Zy11dGlsaXRpZXMtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorICAgICAgICAqIGluc3BlY3Rvci91
bml0LXRlc3RzL3N0cmluZy11dGlsaXRpZXMuaHRtbDogQWRkZWQgU3RyaW5nLnByb3RvdHlwZS5l
c2NhcGVDaGFyYWN0ZXJzIHRlc3QuCisKIDIwMTgtMDMtMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENTUyBtYXNrIGltYWdlcyBzaG91bGQgYmUgcmV0cmll
dmVkIHVzaW5nIHBvdGVudGlhbGx5IENPUlMtZW5hYmxlZCBmZXRjaApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3RyaW5nLXV0aWxpdGllcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zdHJpbmctdXRpbGl0aWVzLWV4
cGVjdGVkLnR4dAppbmRleCBkNjhjMzBlZGMwZjgyZDk2OWVkN2NiYjAyODlkYWZlNWRmMWMyODY1
Li5iZTdkZmUxZDZjNDgwMzA2MjMyODE0ZWU3M2Y1YTg0ZjRkNzhmNjRkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zdHJpbmctdXRpbGl0aWVzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zdHJpbmctdXRpbGl0
aWVzLWV4cGVjdGVkLnR4dApAQCAtNTYsMyArNTYsMTIgQEAgUEFTUzogU3RyaW5nIHN0YXlzIHRo
ZSBzYW1lLgogUEFTUzogRWxsaXBzaXMgaXMgaW5zZXJ0ZWQgaW4gdGhlIG1pZGRsZS4KIFBBU1M6
IEVsbGlwc2lzIGlzIGluc2VydGVkIGFmdGVyIHRoZSB0aGlyZCBjaGFyYWN0ZXIuCiAKKy0tIFJ1
bm5pbmcgdGVzdCBjYXNlOiBTdHJpbmcucHJvdG90eXBlLmVzY2FwZUNoYXJhY3RlcnMKK1BBU1M6
IFN0cmluZyBzdGF5cyB0aGUgc2FtZSB3aXRoIG5vIGVzY2FwZSBjaGFyYWN0ZXJzLgorUEFTUzog
U3RyaW5nIHN0YXlzIHRoZSBzYW1lIHdpdGggZW1wdHkgZXNjYXBlIGNoYXJhY3RlcnMuCitQQVNT
OiBTdHJpbmcgc3RheXMgdGhlIHNhbWUgd2l0aCBubyBtYXRjaGluZyBlc2NhcGUgY2hhcmFjdGVy
cy4KK1BBU1M6IFRoZSBsZXR0ZXIgJ2MnIGlzIGVzY2FwZWQuCitQQVNTOiBUaGUgbGV0dGVyICdj
JyBhbmQgJ2UnIGFyZSBlc2NhcGVkLgorUEFTUzogVGhlIGxldHRlciAnYycgYW5kICdlJyBhcmUg
ZXNjYXBlZC4KK1BBU1M6IFRoZSBsZXR0ZXIgJ2MnLCAnZCcsIGFuZCAnZScgYXJlIGVzY2FwZWQu
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3N0cmluZy11
dGlsaXRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3N0cmluZy11
dGlsaXRpZXMuaHRtbAppbmRleCAxNzA3NDkyZDIwMGFmZjMyMzcyZjA1ZmZhMTE5ODc0Y2I1MDdh
ZmQxLi5jNDEzOTk3NjMwNWExNjExNWM5MTFlYmY4YzYyOTI4NzNjY2M4NzlhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy9zdHJpbmctdXRpbGl0aWVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvc3RyaW5nLXV0aWxpdGllcy5o
dG1sCkBAIC01NCw3ICs1NCw2IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB9CiAgICAgfSk7
CiAKLQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIlN0cmluZy5wcm90
b3R5cGUuZ2V0IGxpbmVDb3VudCIsCiAgICAgICAgIHRlc3QoKSB7CkBAIC0xMDEsNiArMTAwLDIw
IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB9CiAgICAgfSk7CiAKKyAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTdHJpbmcucHJvdG90eXBlLmVzY2FwZUNoYXJhY3Rl
cnMiLAorICAgICAgICB0ZXN0KCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RF
cXVhbCgiYWJjZGVmIi5lc2NhcGVDaGFyYWN0ZXJzKCksICJhYmNkZWYiLCAiU3RyaW5nIHN0YXlz
IHRoZSBzYW1lIHdpdGggbm8gZXNjYXBlIGNoYXJhY3RlcnMuIik7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdEVxdWFsKCJhYmNkZWYiLmVzY2FwZUNoYXJhY3RlcnMoIiIpLCAiYWJj
ZGVmIiwgIlN0cmluZyBzdGF5cyB0aGUgc2FtZSB3aXRoIGVtcHR5IGVzY2FwZSBjaGFyYWN0ZXJz
LiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCgiYWJjZGVmIi5lc2Nh
cGVDaGFyYWN0ZXJzKCJnIiksICJhYmNkZWYiLCAiU3RyaW5nIHN0YXlzIHRoZSBzYW1lIHdpdGgg
bm8gbWF0Y2hpbmcgZXNjYXBlIGNoYXJhY3RlcnMuIik7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKCJhYmNkZWYiLmVzY2FwZUNoYXJhY3RlcnMoImMiKSwgImFiXFxjZGVm
IiwgIlRoZSBsZXR0ZXIgJ2MnIGlzIGVzY2FwZWQuIik7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKCJhYmNkZWYiLmVzY2FwZUNoYXJhY3RlcnMoImNlIiksICJhYlxcY2Rc
XGVmIiwgIlRoZSBsZXR0ZXIgJ2MnIGFuZCAnZScgYXJlIGVzY2FwZWQuIik7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKCJhYmNkZWYiLmVzY2FwZUNoYXJhY3RlcnMoImNl
ZSIpLCAiYWJcXGNkXFxlZiIsICJUaGUgbGV0dGVyICdjJyBhbmQgJ2UnIGFyZSBlc2NhcGVkLiIp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCgiYWJjZGVmIi5lc2NhcGVD
aGFyYWN0ZXJzKCJjZWQiKSwgImFiXFxjXFxkXFxlZiIsICJUaGUgbGV0dGVyICdjJywgJ2QnLCBh
bmQgJ2UnIGFyZSBlc2NhcGVkLiIpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IH0KKyAgICB9KTsKKwogICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwogfQogPC9z
Y3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>