<?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>73556</bug_id>
          
          <creation_ts>2011-12-01 06:16:20 -0800</creation_ts>
          <short_desc>Web Inspector: use object properties, not element attributes to pass preferred panel/line/request id in linkified anchors</short_desc>
          <delta_ts>2011-12-02 01:06:53 -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 (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>512720</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-01 06:16:20 -0800</bug_when>
    <thetext>There used to be an inconsistent mix of HTML attributes and JS properties being used to associated additional data with an anchor element. This patch changes every linkifier to use object attributes. This also removes some duplicate linkifier code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512736</commentid>
    <comment_count>1</comment_count>
      <attachid>117412</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-01 06:52:49 -0800</bug_when>
    <thetext>Created attachment 117412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512812</commentid>
    <comment_count>2</comment_count>
      <attachid>117412</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-01 08:59:47 -0800</bug_when>
    <thetext>Comment on attachment 117412
Patch

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

&gt; Source/WebCore/inspector/front-end/AuditFormatters.js:98
&gt; +        return WebInspector.linkifyResourceAsNode(url, line - 1, &quot;console-message-url webkit-html-resource-link&quot;);

Where is + 1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512819</commentid>
    <comment_count>3</comment_count>
      <attachid>117412</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-01 09:04:35 -0800</bug_when>
    <thetext>Comment on attachment 117412
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/AuditFormatters.js:98

&gt; 
&gt; Where is + 1?

I mean if extensions is the only subsystem using 1-based line numbers, we should limit its use to extensions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512831</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-01 09:20:16 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 117412 [details])
&gt; &gt; Where is + 1?
&gt; 
&gt; I mean if extensions is the only subsystem using 1-based line numbers, we should limit its use to extensions.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512832</commentid>
    <comment_count>5</comment_count>
      <attachid>117435</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-01 09:20:45 -0800</bug_when>
    <thetext>Created attachment 117435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513602</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-02 01:06:53 -0800</bug_when>
    <thetext>Committed r101760: &lt;http://trac.webkit.org/changeset/101760&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117412</attachid>
            <date>2011-12-01 06:52:49 -0800</date>
            <delta_ts>2011-12-01 09:20:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73556-20111201185247.patch</filename>
            <type>text/plain</type>
            <size>18540</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZkOWQ1ZjljMTg3MTNi
YmE0NjZiMzBlYmQ2MTE4MDZhMTA3ODQyYy4uNzJmMDNlY2NmZjg3OGQ3ODBiZGQ1NDYxNjhhMjQ4
MzVhNjczYmU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTEyLTAxICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogdXNlIG9iamVjdCBwcm9wZXJ0aWVzLCBub3QgZWxlbWVudCBhdHRyaWJ1dGVzIHRvIHBhc3Mg
cHJlZmVycmVkIHBhbmVsL2xpbmUvcmVxdWVzdCBpZCBpbiBsaW5raWZpZWQgYW5jaG9ycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRGb3JtYXR0ZXJzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0
Rm9ybWF0dGVycy5yZXNvdXJjZUxpbmspOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZU1lc3NhZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJ
bXBsLnByb3RvdHlwZS5fZm9ybWF0TWVzc2FnZS5lbHNlLmVsc2UubGlua2lmaWVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9mb3JtYXRNZXNz
YWdlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5MaW5raWZpZXIucHJvdG90eXBlLmxpbmtpZnlMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIucHJvdG90eXBlLl91cGRh
dGVBbmNob3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUuX3Jlc291cmNl
QnlBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUucHJv
dG90eXBlLl9yZWZyZXNoSW5pdGlhdG9yQ2VsbCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZVV0aWxzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtpZnlTdHJp
bmdBc0ZyYWdtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05v
ZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXF1ZXN0QXNOb2RlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5zaG93QW5jaG9yTG9jYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLl9zaG93QW5jaG9yTG9jYXRpb24pOgorCiAyMDExLTEyLTAxICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBmcm9u
dC1lbmQgc2hvdWxkIG9wZW4gd2l0aCBlbGVtZW50cyBwYW5lbCBzZWxlY3RlZCB1cG9uIEluc3Bl
Y3QgRWxlbWVudCBhY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0F1ZGl0Rm9ybWF0dGVycy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRGb3JtYXR0ZXJzLmpzCmluZGV4IDhmNWM5YThmNThkZmJlYTVkZjRmMGE2
NTIzMGEyYzdhNjg3NDJiMDMuLjhjYzViOWJhNzE4YjQ0NzczYjdhNjdmNDFlYTZjYmQ1ZDM1NTM1
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRG
b3JtYXR0ZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVk
aXRGb3JtYXR0ZXJzLmpzCkBAIC05NCwxNCArOTQsNyBAQCBXZWJJbnNwZWN0b3IuQXVkaXRGb3Jt
YXR0ZXJzID0gewogCiAgICAgcmVzb3VyY2VMaW5rOiBmdW5jdGlvbih1cmwsIGxpbmUpCiAgICAg
ewotICAgICAgICB2YXIgdGl0bGUgPSB1cmwucmVwbGFjZSgvLipbXC9cXF0vLCAiIikgKyAiOiIg
KyBsaW5lOwotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKLSAg
ICAgICAgYS5ocmVmID0gdXJsOwotICAgICAgICBhLnRpdGxlID0gdXJsOwotICAgICAgICBhLmNs
YXNzTmFtZSA9ICJjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsi
OwotICAgICAgICBhLnNldEF0dHJpYnV0ZSgibGluZV9udW1iZXIiLCBsaW5lKTsKLSAgICAgICAg
YS5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIsICJzY3JpcHRzIik7Ci0gICAgICAgIGEu
dGV4dENvbnRlbnQgPSB0aXRsZTsKLSAgICAgICAgcmV0dXJuIGE7CisgICAgICAgIC8vIEZJWE1F
OiB1c2UgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyCisg
ICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHVybCwgbGlu
ZSAtIDEsICJjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsiKTsK
ICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlTWVzc2FnZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZU1lc3NhZ2UuanMKaW5kZXggZTU3YjhiMjQ2NDAxOTgxMDZkOTIxNGI4ZTI2ZDRjNDZm
Yjk3MjFiYy4uYWI4NzI3YmM2YjA4M2E0OTg4ZWRlYzk5ZDg4YTFhZTZhZTQyZmE1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdl
LmpzCkBAIC0xMDEsMzIgKzEwMSwxNiBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNvdXJjZSA9PT0gV2ViSW5z
cGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VTb3VyY2UuTmV0d29yaykgewogICAgICAgICAg
ICAgaWYgKHRoaXMuX3JlcXVlc3QpIHsKICAgICAgICAgICAgICAgICB0aGlzLl9zdGFja1RyYWNl
ID0gdGhpcy5fcmVxdWVzdC5zdGFja1RyYWNlOworICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogICAgICAgICAgICAgICAgIGlmICh0
aGlzLmxldmVsID09PSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZUxldmVsLkVy
cm9yKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOwogICAgICAgICAgICAgICAgICAgICBtZXNzYWdlVGV4dC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLl9yZXF1ZXN0LnJlcXVlc3RNZXRob2Qg
KyAiICIpKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGFuY2hvciA9IFdlYkluc3BlY3Rvci5s
aW5raWZ5VVJMQXNOb2RlKHRoaXMuX3JlcXVlc3QudXJsKTsKLSAgICAgICAgICAgICAgICAgICAg
YW5jaG9yLnNldEF0dHJpYnV0ZSgicmVxdWVzdF9pZCIsIHRoaXMuX3JlcXVlc3QucmVxdWVzdElk
KTsKLSAgICAgICAgICAgICAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3Bh
bmVsIiwgIm5ldHdvcmsiKTsKLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBwZW5k
Q2hpbGQoYW5jaG9yKTsKKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBwZW5kQ2hp
bGQoV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXF1ZXN0QXNOb2RlKHRoaXMuX3JlcXVlc3QpKTsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3JlcXVlc3QuZmFpbGVkKQogICAgICAgICAgICAg
ICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoIiAiICsgdGhpcy5fcmVxdWVzdC5sb2NhbGl6ZWRGYWlsRGVzY3JpcHRpb24pKTsKICAgICAg
ICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgdGhpcy5fcmVxdWVzdC5z
dGF0dXNDb2RlICsgIiAoIiArIHRoaXMuX3JlcXVlc3Quc3RhdHVzVGV4dCArICIpIikpOwogICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICAgICAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gbGlua2lmaWVyKHRpdGxlLCB1cmwsIGxpbmVOdW1i
ZXIpCi0gICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhciBp
c0V4dGVybmFsID0gIXRoaXMuX3JlcXVlc3Q7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXIg
YW5jaG9yID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUodXJsLCB0aXRsZSwgdW5kZWZp
bmVkLCBpc0V4dGVybmFsKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9yZXF1
ZXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgi
cmVxdWVzdF9pZCIsIHRoaXMuX3JlcXVlc3QucmVxdWVzdElkKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwiLCAibmV0d29y
ayIpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGFuY2hvcjsKLSAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAg
ICAgIHZhciBmcmFnbWVudCA9IFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFnbWVudFdp
dGhDdXN0b21MaW5raWZpZXIodGhpcy5fbWVzc2FnZVRleHQsIGxpbmtpZmllci5iaW5kKHRoaXMp
KTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGZyYWdtZW50ID0gV2ViSW5zcGVjdG9yLmxpbmtp
ZnlTdHJpbmdBc0ZyYWdtZW50V2l0aEN1c3RvbUxpbmtpZmllcih0aGlzLl9tZXNzYWdlVGV4dCwg
V2ViSW5zcGVjdG9yLmxpbmtpZnlSZXF1ZXN0QXNOb2RlLmJpbmQobnVsbCwgdGhpcy5fcmVxdWVz
dCwgIiIpKTsKICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQuYXBwZW5kQ2hpbGQoZnJh
Z21lbnQpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2Vy
UHJlc2VudGF0aW9uTW9kZWwuanMKaW5kZXggNjdkMmM1MjAxNTVjOTg3ZjFiZTA3OGM4OGE3NmMw
ZjgxZWEyNzUwOC4uYTc5NDJiN2M1MTgwZjBjZjZhOTgxMmNjZmM3MjliYjA0NTQwZDJhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNl
bnRhdGlvbk1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcwpAQCAtOTUzLDI2ICs5NTMsMTIgQEAgV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyLnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIHZhciByYXdTb3VyY2VDb2RlID0gdGhpcy5fbW9kZWwuX3Jhd1NvdXJj
ZUNvZGVGb3JTY3JpcHRXaXRoVVJMKHNvdXJjZVVSTCk7CiAgICAgICAgIGlmICghcmF3U291cmNl
Q29kZSkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLmxpbmtpZnlSZXNvdXJjZShzb3VyY2VVUkws
IGxpbmVOdW1iZXIsIGNsYXNzZXMpOworICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5s
aW5raWZ5UmVzb3VyY2VBc05vZGUoc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjbGFzc2VzKTsKIAog
ICAgICAgICByZXR1cm4gdGhpcy5saW5raWZ5UmF3U291cmNlQ29kZShyYXdTb3VyY2VDb2RlLCBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNsYXNzZXMpOwogICAgIH0sCiAKICAgICAvKioKLSAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlVVJMCi0gICAgICogQHBhcmFtIHtudW1iZXJ9IGxp
bmVOdW1iZXIKLSAgICAgKiBAcGFyYW0ge3N0cmluZz19IGNsYXNzZXMKLSAgICAgKi8KLSAgICBs
aW5raWZ5UmVzb3VyY2U6IGZ1bmN0aW9uKHNvdXJjZVVSTCwgbGluZU51bWJlciwgY2xhc3NlcykK
LSAgICB7Ci0gICAgICAgIHZhciBsaW5rVGV4dCA9IFdlYkluc3BlY3Rvci5mb3JtYXRMaW5rVGV4
dChzb3VyY2VVUkwsIGxpbmVOdW1iZXIpOwotICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVj
dG9yLmxpbmtpZnlVUkxBc05vZGUoc291cmNlVVJMLCBsaW5rVGV4dCwgY2xhc3NlcywgZmFsc2Up
OwotICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwiLCAicmVzb3Vy
Y2VzIik7Ci0gICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIiwgbGluZU51
bWJlcik7Ci0gICAgICAgIHJldHVybiBhbmNob3I7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJhd1NvdXJjZUNvZGV9IHJhd1NvdXJjZUNvZGUKICAgICAg
KiBAcGFyYW0ge251bWJlcj19IGxpbmVOdW1iZXIKICAgICAgKiBAcGFyYW0ge251bWJlcj19IGNv
bHVtbk51bWJlcgpAQCAtMTAyMyw3ICsxMDA5LDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJl
c2VudGF0aW9uTW9kZWwuTGlua2lmaWVyLnByb3RvdHlwZSA9IHsKICAgICBfdXBkYXRlQW5jaG9y
OiBmdW5jdGlvbihyYXdTb3VyY2VDb2RlLCBhbmNob3IpCiAgICAgewogICAgICAgICB2YXIgdWlM
b2NhdGlvbiA9IHJhd1NvdXJjZUNvZGUuc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2Nh
dGlvbihhbmNob3IucmF3TG9jYXRpb24pOwotICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJw
cmVmZXJyZWRfcGFuZWwiLCAic2NyaXB0cyIpOworICAgICAgICBhbmNob3IucHJlZmVycmVkUGFu
ZWwgPSAic2NyaXB0cyI7CiAgICAgICAgIGFuY2hvci51aVNvdXJjZUNvZGUgPSB1aUxvY2F0aW9u
LnVpU291cmNlQ29kZTsKICAgICAgICAgYW5jaG9yLmxpbmVOdW1iZXIgPSB1aUxvY2F0aW9uLmxp
bmVOdW1iZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrUGFuZWwuanMKaW5kZXggNGNkYTcxYTc1Y2RkZGIzZGU2ZWE5ODViZjkzMWZiNzc5NGIy
OTdjNy4uMTI5ODMwODMxNTc2NzUwM2E3OGU0ZTZjMWM4MTMxODRlNzM2MWJkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKQEAg
LTEzMTAsMTMgKzEzMTAsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZSA9
IHsKIAogICAgIF9yZXNvdXJjZUJ5QW5jaG9yOiBmdW5jdGlvbihhbmNob3IpCiAgICAgewotICAg
ICAgICB2YXIgcmVzb3VyY2U7Ci0gICAgICAgIGlmIChhbmNob3IuZ2V0QXR0cmlidXRlKCJyZXF1
ZXN0X2lkIikpCi0gICAgICAgICAgICByZXNvdXJjZSA9IHRoaXMucmVzb3VyY2VCeUlkKGFuY2hv
ci5nZXRBdHRyaWJ1dGUoInJlcXVlc3RfaWQiKSk7Ci0gICAgICAgIGlmICghcmVzb3VyY2UpCi0g
ICAgICAgICAgICByZXNvdXJjZSA9IHRoaXMuX25ldHdvcmtMb2dWaWV3Ll9yZXNvdXJjZXNCeVVS
TFthbmNob3IuaHJlZl07Ci0KLSAgICAgICAgcmV0dXJuIHJlc291cmNlOworICAgICAgICByZXR1
cm4gYW5jaG9yLnJlcXVlc3RJZCA/IHRoaXMucmVzb3VyY2VCeUlkKGFuY2hvci5yZXF1ZXN0SWQp
IDogdGhpcy5fbmV0d29ya0xvZ1ZpZXcuX3Jlc291cmNlc0J5VVJMW2FuY2hvci5ocmVmXTsKICAg
ICB9LAogCiAgICAgY2FuU2hvd0FuY2hvckxvY2F0aW9uOiBmdW5jdGlvbihhbmNob3IpCkBAIC0x
OTAyLDExICsxODk2LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUucHJvdG90
eXBlID0gewogICAgICAgICAgICAgdGhpcy5faW5pdGlhdG9yQ2VsbC5yZW1vdmVDaGlsZHJlbigp
OwogICAgICAgICAgICAgaWYgKHRoaXMuX3Jlc291cmNlLnJlZGlyZWN0U291cmNlKSB7CiAgICAg
ICAgICAgICAgICAgdmFyIHJlZGlyZWN0U291cmNlID0gdGhpcy5fcmVzb3VyY2UucmVkaXJlY3RT
b3VyY2U7Ci0gICAgICAgICAgICAgICAgdmFyIGFuY2hvciA9IFdlYkluc3BlY3Rvci5saW5raWZ5
VVJMQXNOb2RlKHJlZGlyZWN0U291cmNlLnVybCwgcmVkaXJlY3RTb3VyY2UudXJsLCB1bmRlZmlu
ZWQsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJyZXF1ZXN0
X2lkIiwgcmVkaXJlY3RTb3VyY2UucmVxdWVzdElkKTsKLSAgICAgICAgICAgICAgICBhbmNob3Iu
c2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwiLCAibmV0d29yayIpOwogICAgICAgICAgICAg
ICAgIHRoaXMuX2luaXRpYXRvckNlbGwudGl0bGUgPSByZWRpcmVjdFNvdXJjZS51cmw7Ci0gICAg
ICAgICAgICAgICAgdGhpcy5faW5pdGlhdG9yQ2VsbC5hcHBlbmRDaGlsZChhbmNob3IpOworICAg
ICAgICAgICAgICAgIHRoaXMuX2luaXRpYXRvckNlbGwuYXBwZW5kQ2hpbGQoV2ViSW5zcGVjdG9y
LmxpbmtpZnlSZXF1ZXN0QXNOb2RlKHJlZGlyZWN0U291cmNlKSk7CiAgICAgICAgICAgICAgICAg
dGhpcy5fYXBwZW5kU3VidGl0bGUodGhpcy5faW5pdGlhdG9yQ2VsbCwgV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJSZWRpcmVjdCIpKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5pdGlhdG9yLnR5
cGUgPT09ICJzY3JpcHQiKSB7CiAgICAgICAgICAgICAgICAgdmFyIHRvcEZyYW1lID0gaW5pdGlh
dG9yLnN0YWNrVHJhY2VbMF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlVXRpbHMuanMKaW5kZXggZmY2MDc5NGY3YjcyMjE5NDMyMjQwZGJkMzg3
ZTJiZDhmYWE5MTY5MC4uYjE1OGQ1ZTc2NzhlOWQ2NmRjNzYzZTZhMTc3NWYwNTFkMmRhMTJlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0
aWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VV
dGlscy5qcwpAQCAtMTM1LDggKzEzNSw4IEBAIFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5nQXNG
cmFnbWVudCA9IGZ1bmN0aW9uKHN0cmluZykKICAgICAgICAgdmFyIGlzRXh0ZXJuYWwgPSAhV2Vi
SW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKHVybCk7CiAgICAgICAgIHZhciB1cmxOb2RlID0gV2Vi
SW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUodXJsLCB0aXRsZSwgdW5kZWZpbmVkLCBpc0V4dGVy
bmFsKTsKICAgICAgICAgaWYgKHR5cGVvZihsaW5lTnVtYmVyKSAhPT0gInVuZGVmaW5lZCIpIHsK
LSAgICAgICAgICAgIHVybE5vZGUuc2V0QXR0cmlidXRlKCJsaW5lX251bWJlciIsIGxpbmVOdW1i
ZXIpOwotICAgICAgICAgICAgdXJsTm9kZS5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIs
ICJzY3JpcHRzIik7CisgICAgICAgICAgICB1cmxOb2RlLmxpbmVOdW1iZXIgPSBsaW5lTnVtYmVy
OworICAgICAgICAgICAgdXJsTm9kZS5wcmVmZXJyZWRQYW5lbCA9ICJzY3JpcHRzIjsKICAgICAg
ICAgfQogICAgICAgICAKICAgICAgICAgcmV0dXJuIHVybE5vZGU7IApAQCAtMTk5LDkgKzE5OSwy
MCBAQCBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlID0gZnVuY3Rpb24odXJsLCBs
aW5lTnVtYmVyLCBjbGFzc2VzLCB0b29sdGlwVAogewogICAgIHZhciBsaW5rVGV4dCA9IFdlYklu
c3BlY3Rvci5mb3JtYXRMaW5rVGV4dCh1cmwsIGxpbmVOdW1iZXIpOwogICAgIHZhciBhbmNob3Ig
PSBXZWJJbnNwZWN0b3IubGlua2lmeVVSTEFzTm9kZSh1cmwsIGxpbmtUZXh0LCBjbGFzc2VzLCBm
YWxzZSwgdG9vbHRpcFRleHQpOwotICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9w
YW5lbCIsICJyZXNvdXJjZXMiKTsKLSAgICBpZiAodHlwZW9mIGxpbmVOdW1iZXIgIT09ICJ1bmRl
ZmluZWQiKQotICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJsaW5lX251bWJlciIsIGxpbmVO
dW1iZXIpOworICAgIGFuY2hvci5wcmVmZXJyZWRQYW5lbCA9ICJyZXNvdXJjZXMiOworICAgIGFu
Y2hvci5saW5lTnVtYmVyID0gbGluZU51bWJlcjsKKyAgICByZXR1cm4gYW5jaG9yOworfQorCisv
KioKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlc291cmNlfSByZXF1ZXN0CisgKiBAcGFyYW0g
e3N0cmluZz19IGNsYXNzZXMKKyAqLworV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXF1ZXN0QXNOb2Rl
ID0gZnVuY3Rpb24ocmVxdWVzdCwgY2xhc3NlcykKK3sKKyAgICB2YXIgYW5jaG9yID0gV2ViSW5z
cGVjdG9yLmxpbmtpZnlVUkxBc05vZGUocmVxdWVzdC51cmwpOworICAgIGFuY2hvci5wcmVmZXJy
ZWRQYW5lbCA9ICJuZXR3b3JrIjsKKyAgICBhbmNob3IucmVxdWVzdElkICA9IHJlcXVlc3QucmVx
dWVzdElkOwogICAgIHJldHVybiBhbmNob3I7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCmluZGV4IDM5OTExNTVjNWQw
NmJjZTI4ZTE1MjYxNTRjNjMxM2M0NGRkZDA3NTUuLjAxMGY2YjVlZmFlN2VhZTRhNjYyMmY1MzQx
MjZkZDM2ZTM2YTQ4MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwpAQCAtMzQwLDggKzM0MCw3IEBAIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgc2hvd0FuY2hvckxvY2F0aW9uOiBm
dW5jdGlvbihhbmNob3IpCiAgICAgewogICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0
b3IucmVzb3VyY2VGb3JVUkwoYW5jaG9yLmhyZWYpOwotICAgICAgICB2YXIgbGluZU51bWJlciA9
IGFuY2hvci5oYXNBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIikgPyBwYXJzZUludChhbmNob3IuZ2V0
QXR0cmlidXRlKCJsaW5lX251bWJlciIpLCAxMCkgOiB1bmRlZmluZWQ7Ci0gICAgICAgIHRoaXMu
c2hvd1Jlc291cmNlKHJlc291cmNlLCBsaW5lTnVtYmVyKTsKKyAgICAgICAgdGhpcy5zaG93UmVz
b3VyY2UocmVzb3VyY2UsIGFuY2hvci5saW5lTnVtYmVyKTsKICAgICB9LAogCiAgICAgLyoqCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4
IDI0NTg5NmIzYzI1OTNjMTk4ZDY1Zjg5NWZjODRhMzgwOGUzOGJlNTMuLmExNjU1YjQxMTBhMmYz
NjFkOTcyYzAzZTM5ZDc0NTUwY2I3NzRjMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC04MTksNyArODE5LDcgQEAgV2ViSW5zcGVj
dG9yLl9zaG93QW5jaG9yTG9jYXRpb24gPSBmdW5jdGlvbihhbmNob3IpCiB7CiAgICAgaWYgKFdl
Ykluc3BlY3Rvci5vcGVuQW5jaG9yTG9jYXRpb25SZWdpc3RyeS5kaXNwYXRjaChhbmNob3IuaHJl
ZikpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIHZhciBwcmVmZXJlZFBhbmVsID0gdGhpcy5w
YW5lbHNbYW5jaG9yLmdldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIikgfHwgInJlc291cmNl
cyJdOworICAgIHZhciBwcmVmZXJlZFBhbmVsID0gdGhpcy5wYW5lbHNbYW5jaG9yLnByZWZlcnJl
ZFBhbmVsIHx8ICJyZXNvdXJjZXMiXTsKICAgICBpZiAoV2ViSW5zcGVjdG9yLl9zaG93QW5jaG9y
TG9jYXRpb25JblBhbmVsKGFuY2hvciwgcHJlZmVyZWRQYW5lbCkpCiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIGlmIChwcmVmZXJlZFBhbmVsICE9PSB0aGlzLnBhbmVscy5yZXNvdXJjZXMgJiYg
V2ViSW5zcGVjdG9yLl9zaG93QW5jaG9yTG9jYXRpb25JblBhbmVsKGFuY2hvciwgdGhpcy5wYW5l
bHMucmVzb3VyY2VzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvdXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91
dGlsaXRpZXMuanMKaW5kZXggZTIyZjcwMjA3NGRhMjYxODUxOTgzNTkxMDk5NTE2ZTNjNmYzMGU5
Ni4uOWU2YTE0MWVlNDU5NmQ5MjEzNjRhNjI2OWUyZGNhMTVjYzMwNTZjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKQEAgLTMxMSw3ICsz
MTEsNyBAQCBmdW5jdGlvbiBBbmNob3JCb3goeCwgeSwgd2lkdGgsIGhlaWdodCkKIH0KIAogLyoq
Ci0gKiBAcGFyYW0ge0RPTVdpbmRvd30gdGFyZ2V0V2luZG93CisgKiBAcGFyYW0ge1dpbmRvd30g
dGFyZ2V0V2luZG93CiAgKiBAcmV0dXJuIHtBbmNob3JCb3h9CiAgKi8KIEVsZW1lbnQucHJvdG90
eXBlLm9mZnNldFJlbGF0aXZlVG9XaW5kb3cgPSBmdW5jdGlvbih0YXJnZXRXaW5kb3cpCkBAIC0z
MzMsNyArMzMzLDcgQEAgRWxlbWVudC5wcm90b3R5cGUub2Zmc2V0UmVsYXRpdmVUb1dpbmRvdyA9
IGZ1bmN0aW9uKHRhcmdldFdpbmRvdykKIH0KIAogLyoqCi0gKiBAcGFyYW0ge0RPTVdpbmRvd30g
dGFyZ2V0V2luZG93CisgKiBAcGFyYW0ge1dpbmRvd30gdGFyZ2V0V2luZG93CiAgKiBAcmV0dXJu
IHtBbmNob3JCb3h9CiAgKi8KIEVsZW1lbnQucHJvdG90eXBlLmJveEluV2luZG93ID0gZnVuY3Rp
b24odGFyZ2V0V2luZG93KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIzNDVkOTQ3YzgyMjk5MmMxZjEwMjJhMDM5MDc2YTMz
NTBhMTQ4NzMuLjBhOTRhOTczYzM0NDViNmQxMTljYzYxYWJkYjljYTc1MThlNTE2MWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0wMSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHVzZSBvYmplY3QgcHJvcGVydGll
cywgbm90IGVsZW1lbnQgYXR0cmlidXRlcyB0byBwYXNzIHByZWZlcnJlZCBwYW5lbC9saW5lL3Jl
cXVlc3QgaWQgaW4gbGlua2lmaWVkIGFuY2hvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1
ZGl0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5z
aW9ucy1hdWRpdHMuaHRtbDoKKwogMjAxMS0xMi0wMSAgSGF5YXRvIEl0byAgPGhheWF0b0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIGNocm9taXVtIHRlc3QgZXhw
ZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMv
ZXh0ZW5zaW9ucy1hdWRpdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMvZXh0ZW5zaW9ucy1hdWRpdHMtZXhwZWN0ZWQudHh0CmluZGV4IDAxNDM4NWE2YWUz
ZjQ3OGIyOTYzMWViMjU5N2NkODMyNGJlMThlMGEuLjE5ODQ1ZjNiMDRhMWNmNTE3YmY0YzllZTM2
OWRkYzZjNTdiZDIwZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNp
b25zL2V4dGVuc2lvbnMtYXVkaXRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1ZGl0cy1leHBlY3RlZC50eHQKQEAgLTMsNyAr
Myw2IEBAIFRlc3RzIGF1ZGl0cyBzdXBwb3J0IGluIFdlYkluc3BlY3RvciBFeHRlbnNpb25zIEFQ
SQogU3RhcnRlZCBleHRlbnNpb24uCiBSdW5uaW5nIHRlc3RzLi4uCiBSVU5OSU5HIFRFU1Q6IGV4
dGVuc2lvbl90ZXN0QXVkaXRzCi1BZGRlZCBhdWRpdCBjYXRlZ29yeS4KICAgRXh0ZW5zaW9uIGF1
ZGl0cwogICAgIEZhaWxlZCBydWxlICg0MikKICAgICAgdGhpcyBydWxlIGFsd2F5cyBmYWlscwpA
QCAtMTksNyArMTgsOCBAQCBBZGRlZCBhdWRpdCBjYXRlZ29yeS4KIHsKICAgICByZXR1cm4gNDsK
IH0KLSAgICAgICAgIGVycm9yLmh0bWw6MTAKKyAgICAgICAgIC9wYXRoL3RvL2Vycm9yLmh0bWw6
MTAKKyAgICAgICAgIGV4dGVuc2lvbnMtYXVkaXRzLmh0bWw6MjAKICAgICBQYXNzZWQgcnVsZQog
ICAgICB0aGlzIHJ1bGUgYWx3YXlzIHBhc3NlcyBvawogICBFeHRlbnNpb24gYXVkaXRzIHRoYXQg
ZmFpbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5z
aW9ucy1hdWRpdHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVu
c2lvbnMtYXVkaXRzLmh0bWwKaW5kZXggMWJiM2Y1YWUzYWNiZDYyODkyOGY5Y2EyNjg0MjBlMWY4
ODEwN2IxNy4uZTU4MWE1NWU3YTZhOWMxNWE1YWMyMjIxODU1MzhlZmQwNjZiMDhlOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1hdWRpdHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1
ZGl0cy5odG1sCkBAIC05LDkgKzksMTEgQEAKIAogZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RBdWRp
dHMobmV4dFRlc3QpCiB7CisgICAgdmFyIHBlbmRpbmdPdXRwdXQgPSBbXTsKKwogICAgIGZ1bmN0
aW9uIG9uU3RhcnRBdWRpdENhdGVnb3J5KHJlc3VsdHMpCiAgICAgewotICAgICAgICBvdXRwdXQo
ImNhdGVnb3J5Lm9uQXVkaXRTdGFydGVkIGZpcmVkIik7CisgICAgICAgIHBlbmRpbmdPdXRwdXQu
cHVzaCgiY2F0ZWdvcnkub25BdWRpdFN0YXJ0ZWQgZmlyZWQiKTsKICAgICAgICAgcmVzdWx0cy5h
ZGRSZXN1bHQoIlBhc3NlZCBydWxlIiwgInRoaXMgcnVsZSBhbHdheXMgcGFzc2VzIG9rIiwgcmVz
dWx0cy5TZXZlcml0eS5JbmZvKTsKICAgICAgICAgcmVzdWx0cy5hZGRSZXN1bHQoIkZhaWxlZCBy
dWxlICg0MikiLCAidGhpcyBydWxlIGFsd2F5cyBmYWlscyIsIHJlc3VsdHMuU2V2ZXJpdHkuU2V2
ZXJlKTsKIApAQCAtMjEsMjcgKzIzLDMwIEBAIGZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0QXVkaXRz
KG5leHRUZXN0KQogICAgICAgICBuZXN0ZWROb2RlLmV4cGFuZGVkID0gdHJ1ZTsKICAgICAgICAg
bmVzdGVkTm9kZS5hZGRDaGlsZChyZXN1bHRzLmNyZWF0ZVNuaXBwZXQoImZ1bmN0aW9uIHJhbmQo
KVxue1xuICAgIHJldHVybiA0O1xufSIpKTsKICAgICAgICAgbmVzdGVkTm9kZS5hZGRDaGlsZChy
ZXN1bHRzLmNyZWF0ZVJlc291cmNlTGluaygiZmlsZTovLy9wYXRoL3RvL2Vycm9yLmh0bWwiLCAx
MCkpOworICAgICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwoImxvY2F0aW9u
LmhyZWYiLCBmdW5jdGlvbihpbnNwZWN0ZWRQYWdlVVJMKSB7CisgICAgICAgICAgICBuZXN0ZWRO
b2RlLmFkZENoaWxkKHJlc3VsdHMuY3JlYXRlUmVzb3VyY2VMaW5rKGluc3BlY3RlZFBhZ2VVUkws
IDIwKSk7CiAKLSAgICAgICAgcmVzdWx0cy5hZGRSZXN1bHQoIlJ1bGUgd2l0aCBkZXRhaWxzIHN1
YnRyZWUgKDEpIiwgIlRoaXMgcnVsZSBoYXMgYSBsb3Qgb2YgZGV0YWlscyIsIHJlc3VsdHMuU2V2
ZXJpdHkuV2FybmluZywgbm9kZSk7Ci0gICAgICAgIC8vIEF1ZGl0IG5vcm1hbGx5IHRlcm1pbmF0
ZXMgd2hlbiBudW1iZXIgb2YgYWRkZWQgcnVsZSByZXN1bHRzIGlzIGVxdWFsIHRvCi0gICAgICAg
IC8vIHRoZSBydWxlIGNvdW50IGRlY2xhcmVkIHdoZW4gYWRkaW5nIGEgY2F0ZWdvcnkuIGRvbmUo
KSBpcyBvbmx5IGZvcgotICAgICAgICAvLyBlbWVyZ2VuY3kgY2FzZXMsIHdoZW4gd2Uga25vdyB3
ZSB3b24ndCBiZSBhYmxlIHRvIHJ1biB0aGUgcmVzdCBvZiB0aGUgcnVsZXMuCi0gICAgICAgIHJl
c3VsdHMuZG9uZSgpOworICAgICAgICAgICAgcmVzdWx0cy5hZGRSZXN1bHQoIlJ1bGUgd2l0aCBk
ZXRhaWxzIHN1YnRyZWUgKDEpIiwgIlRoaXMgcnVsZSBoYXMgYSBsb3Qgb2YgZGV0YWlscyIsIHJl
c3VsdHMuU2V2ZXJpdHkuV2FybmluZywgbm9kZSk7CisKKyAgICAgICAgICAgIC8vIEF1ZGl0IG5v
cm1hbGx5IHRlcm1pbmF0ZXMgd2hlbiBudW1iZXIgb2YgYWRkZWQgcnVsZSByZXN1bHRzIGlzIGVx
dWFsIHRvCisgICAgICAgICAgICAvLyB0aGUgcnVsZSBjb3VudCBkZWNsYXJlZCB3aGVuIGFkZGlu
ZyBhIGNhdGVnb3J5LiBkb25lKCkgaXMgb25seSBmb3IKKyAgICAgICAgICAgIC8vIGVtZXJnZW5j
eSBjYXNlcywgd2hlbiB3ZSBrbm93IHdlIHdvbid0IGJlIGFibGUgdG8gcnVuIHRoZSByZXN0IG9m
IHRoZSBydWxlcy4KKyAgICAgICAgICAgIHJlc3VsdHMuZG9uZSgpOworICAgICAgICB9KTsKICAg
ICB9CiAgICAgZnVuY3Rpb24gb25TdGFydEF1ZGl0RmFpbGVkQ2F0ZWdvcnkoKQogICAgIHsKLSAg
ICAgICAgb3V0cHV0KCJmYWlsZWRDYXRlZ29yeS5vbkF1ZGl0U3RhcnRlZCBmaXJlZCwgdGhyb3dp
bmcgZXhjZXB0aW9uIik7CisgICAgICAgIHBlbmRpbmdPdXRwdXQucHVzaCgiZmFpbGVkQ2F0ZWdv
cnkub25BdWRpdFN0YXJ0ZWQgZmlyZWQsIHRocm93aW5nIGV4Y2VwdGlvbiIpOwogICAgICAgICB0
aHJvdyAib29wcyEiOwogICAgIH0KICAgICBmdW5jdGlvbiBvblN0YXJ0QXVkaXREaXNhYmxlZENh
dGVnb3J5KHJlc3VsdHMpCiAgICAgewotICAgICAgICBvdXRwdXQoIkZBSUw6IGRpc2FibGVkQ2F0
ZWdvcnkub25BdWRpdFN0YXJ0ZWQgZmlyZWQiKTsKKyAgICAgICAgcGVuZGluZ091dHB1dC5wdXNo
KCJGQUlMOiBkaXNhYmxlZENhdGVnb3J5Lm9uQXVkaXRTdGFydGVkIGZpcmVkIik7CiAgICAgICAg
IHJlc3VsdHMuZG9uZSgpOwogICAgIH0KIAogICAgIHZhciBjYXRlZ29yeSA9IHdlYkluc3BlY3Rv
ci5hdWRpdHMuYWRkQ2F0ZWdvcnkoIkV4dGVuc2lvbiBhdWRpdHMiLCAyMCk7CiAgICAgY2F0ZWdv
cnkub25BdWRpdFN0YXJ0ZWQuYWRkTGlzdGVuZXIob25TdGFydEF1ZGl0Q2F0ZWdvcnkpOwotICAg
IG91dHB1dCgiQWRkZWQgYXVkaXQgY2F0ZWdvcnkuIik7CiAKICAgICB2YXIgZmFpbGVkQ2F0ZWdv
cnkgPSB3ZWJJbnNwZWN0b3IuYXVkaXRzLmFkZENhdGVnb3J5KCJFeHRlbnNpb24gYXVkaXRzIHRo
YXQgZmFpbCIsIDIpOwogICAgIGZhaWxlZENhdGVnb3J5Lm9uQXVkaXRTdGFydGVkLmFkZExpc3Rl
bmVyKG9uU3RhcnRBdWRpdEZhaWxlZENhdGVnb3J5KTsKQEAgLTQ5LDggKzU0LDEzIEBAIGZ1bmN0
aW9uIGV4dGVuc2lvbl90ZXN0QXVkaXRzKG5leHRUZXN0KQogICAgIHZhciBkaXNhYmxlZENhdGVn
b3J5ID0gd2ViSW5zcGVjdG9yLmF1ZGl0cy5hZGRDYXRlZ29yeSgiRGlzYWJsZWQgZXh0ZW5zaW9u
IGF1ZGl0cyIsIDIpOwogICAgIGRpc2FibGVkQ2F0ZWdvcnkub25BdWRpdFN0YXJ0ZWQuYWRkTGlz
dGVuZXIob25TdGFydEF1ZGl0RGlzYWJsZWRDYXRlZ29yeSk7CiAKKyAgICBmdW5jdGlvbiBhdWRp
dHNEb25lKCkKKyAgICB7CisgICAgICAgIHBlbmRpbmdPdXRwdXQuc29ydCgpLmZvckVhY2gob3V0
cHV0KTsKKyAgICAgICAgbmV4dFRlc3QoKTsKKyAgICB9CiAgICAgd2ViSW5zcGVjdG9yLmluc3Bl
Y3RlZFdpbmRvdy5ldmFsKCIiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgZXh0ZW5zaW9uX3J1bkF1
ZGl0cyhuZXh0VGVzdCk7CisgICAgICAgIGV4dGVuc2lvbl9ydW5BdWRpdHMoYXVkaXRzRG9uZSk7
CiAgICAgfSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117435</attachid>
            <date>2011-12-01 09:20:45 -0800</date>
            <delta_ts>2011-12-01 09:27:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73556-20111201212043.patch</filename>
            <type>text/plain</type>
            <size>20428</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZkOWQ1ZjljMTg3MTNi
YmE0NjZiMzBlYmQ2MTE4MDZhMTA3ODQyYy4uNzJmMDNlY2NmZjg3OGQ3ODBiZGQ1NDYxNjhhMjQ4
MzVhNjczYmU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTEyLTAxICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogdXNlIG9iamVjdCBwcm9wZXJ0aWVzLCBub3QgZWxlbWVudCBhdHRyaWJ1dGVzIHRvIHBhc3Mg
cHJlZmVycmVkIHBhbmVsL2xpbmUvcmVxdWVzdCBpZCBpbiBsaW5raWZpZWQgYW5jaG9ycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRGb3JtYXR0ZXJzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0
Rm9ybWF0dGVycy5yZXNvdXJjZUxpbmspOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZU1lc3NhZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJ
bXBsLnByb3RvdHlwZS5fZm9ybWF0TWVzc2FnZS5lbHNlLmVsc2UubGlua2lmaWVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9mb3JtYXRNZXNz
YWdlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9u
TW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bC5MaW5raWZpZXIucHJvdG90eXBlLmxpbmtpZnlMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIucHJvdG90eXBlLl91cGRh
dGVBbmNob3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUuX3Jlc291cmNl
QnlBbmNob3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUucHJv
dG90eXBlLl9yZWZyZXNoSW5pdGlhdG9yQ2VsbCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZVV0aWxzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtpZnlTdHJp
bmdBc0ZyYWdtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05v
ZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXF1ZXN0QXNOb2RlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5zaG93QW5jaG9yTG9jYXRpb24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLl9zaG93QW5jaG9yTG9jYXRpb24pOgorCiAyMDExLTEyLTAxICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBmcm9u
dC1lbmQgc2hvdWxkIG9wZW4gd2l0aCBlbGVtZW50cyBwYW5lbCBzZWxlY3RlZCB1cG9uIEluc3Bl
Y3QgRWxlbWVudCBhY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0F1ZGl0Rm9ybWF0dGVycy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRGb3JtYXR0ZXJzLmpzCmluZGV4IDhmNWM5YThmNThkZmJlYTVkZjRmMGE2
NTIzMGEyYzdhNjg3NDJiMDMuLmE0MTNhOWQ4NzNjNzFjMGU5YjYwMTg1NzU4YzNlYTljNjBlYjcw
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRG
b3JtYXR0ZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVk
aXRGb3JtYXR0ZXJzLmpzCkBAIC05NCwxNCArOTQsNyBAQCBXZWJJbnNwZWN0b3IuQXVkaXRGb3Jt
YXR0ZXJzID0gewogCiAgICAgcmVzb3VyY2VMaW5rOiBmdW5jdGlvbih1cmwsIGxpbmUpCiAgICAg
ewotICAgICAgICB2YXIgdGl0bGUgPSB1cmwucmVwbGFjZSgvLipbXC9cXF0vLCAiIikgKyAiOiIg
KyBsaW5lOwotICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKLSAg
ICAgICAgYS5ocmVmID0gdXJsOwotICAgICAgICBhLnRpdGxlID0gdXJsOwotICAgICAgICBhLmNs
YXNzTmFtZSA9ICJjb25zb2xlLW1lc3NhZ2UtdXJsIHdlYmtpdC1odG1sLXJlc291cmNlLWxpbmsi
OwotICAgICAgICBhLnNldEF0dHJpYnV0ZSgibGluZV9udW1iZXIiLCBsaW5lKTsKLSAgICAgICAg
YS5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIsICJzY3JpcHRzIik7Ci0gICAgICAgIGEu
dGV4dENvbnRlbnQgPSB0aXRsZTsKLSAgICAgICAgcmV0dXJuIGE7CisgICAgICAgIC8vIEZJWE1F
OiB1c2UgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuTGlua2lmaWVyCisg
ICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHVybCwgbGlu
ZSwgImNvbnNvbGUtbWVzc2FnZS11cmwgd2Via2l0LWh0bWwtcmVzb3VyY2UtbGluayIpOwogICAg
IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVNZXNzYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25z
b2xlTWVzc2FnZS5qcwppbmRleCBlNTdiOGIyNDY0MDE5ODEwNmQ5MjE0YjhlMjZkNGM0NmZiOTcy
MWJjLi5hYjg3MjdiYzZiMDgzYTQ5ODhlZGVjOTlkODhhMWFlNmFlNDJmYTVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMK
QEAgLTEwMSwzMiArMTAxLDE2IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJv
dG90eXBlID0gewogICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc291cmNlID09PSBXZWJJbnNwZWN0
b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVNvdXJjZS5OZXR3b3JrKSB7CiAgICAgICAgICAgICBp
ZiAodGhpcy5fcmVxdWVzdCkgewogICAgICAgICAgICAgICAgIHRoaXMuX3N0YWNrVHJhY2UgPSB0
aGlzLl9yZXF1ZXN0LnN0YWNrVHJhY2U7CisgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAgICAgICAgICAgaWYgKHRoaXMu
bGV2ZWwgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlTGV2ZWwuRXJyb3Ip
IHsKLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIik7CiAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUZXh0LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRoaXMuX3JlcXVlc3QucmVxdWVzdE1ldGhvZCArICIg
IikpOwotICAgICAgICAgICAgICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVjdG9yLmxpbmtp
ZnlVUkxBc05vZGUodGhpcy5fcmVxdWVzdC51cmwpOwotICAgICAgICAgICAgICAgICAgICBhbmNo
b3Iuc2V0QXR0cmlidXRlKCJyZXF1ZXN0X2lkIiwgdGhpcy5fcmVxdWVzdC5yZXF1ZXN0SWQpOwot
ICAgICAgICAgICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwi
LCAibmV0d29yayIpOwotICAgICAgICAgICAgICAgICAgICBtZXNzYWdlVGV4dC5hcHBlbmRDaGls
ZChhbmNob3IpOworICAgICAgICAgICAgICAgICAgICBtZXNzYWdlVGV4dC5hcHBlbmRDaGlsZChX
ZWJJbnNwZWN0b3IubGlua2lmeVJlcXVlc3RBc05vZGUodGhpcy5fcmVxdWVzdCkpOwogICAgICAg
ICAgICAgICAgICAgICBpZiAodGhpcy5fcmVxdWVzdC5mYWlsZWQpCiAgICAgICAgICAgICAgICAg
ICAgICAgICBtZXNzYWdlVGV4dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
ICIgKyB0aGlzLl9yZXF1ZXN0LmxvY2FsaXplZEZhaWxEZXNjcmlwdGlvbikpOwogICAgICAgICAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlVGV4dC5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIgKyB0aGlzLl9yZXF1ZXN0LnN0YXR1
c0NvZGUgKyAiICgiICsgdGhpcy5fcmVxdWVzdC5zdGF0dXNUZXh0ICsgIikiKSk7CiAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbiBsaW5raWZpZXIodGl0bGUsIHVybCwgbGluZU51bWJlcikK
LSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzRXh0
ZXJuYWwgPSAhdGhpcy5fcmVxdWVzdDsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhbmNo
b3IgPSBXZWJJbnNwZWN0b3IubGlua2lmeVVSTEFzTm9kZSh1cmwsIHRpdGxlLCB1bmRlZmluZWQs
IGlzRXh0ZXJuYWwpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3JlcXVlc3Qp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmlidXRlKCJyZXF1
ZXN0X2lkIiwgdGhpcy5fcmVxdWVzdC5yZXF1ZXN0SWQpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIsICJuZXR3b3JrIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gYW5jaG9yOwotICAgICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAg
dmFyIGZyYWdtZW50ID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlTdHJpbmdBc0ZyYWdtZW50V2l0aEN1
c3RvbUxpbmtpZmllcih0aGlzLl9tZXNzYWdlVGV4dCwgbGlua2lmaWVyLmJpbmQodGhpcykpOwor
ICAgICAgICAgICAgICAgICAgICB2YXIgZnJhZ21lbnQgPSBXZWJJbnNwZWN0b3IubGlua2lmeVN0
cmluZ0FzRnJhZ21lbnRXaXRoQ3VzdG9tTGlua2lmaWVyKHRoaXMuX21lc3NhZ2VUZXh0LCBXZWJJ
bnNwZWN0b3IubGlua2lmeVJlcXVlc3RBc05vZGUuYmluZChudWxsLCB0aGlzLl9yZXF1ZXN0LCAi
IikpOwogICAgICAgICAgICAgICAgICAgICBtZXNzYWdlVGV4dC5hcHBlbmRDaGlsZChmcmFnbWVu
dCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25N
b2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5qcwppbmRleCA2N2QyYzUyMDE1NWM5ODdmMWJlMDc4Yzg4YTc2YzBmODFl
YTI3NTA4Li5hNzk0MmI3YzUxODBmMGNmNmE5ODEyY2NmYzcyOWJiMDQ1NDBkMmE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0
aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC05NTMsMjYgKzk1MywxMiBAQCBXZWJJbnNwZWN0
b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5MaW5raWZpZXIucHJvdG90eXBlID0gewogICAg
IHsKICAgICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSB0aGlzLl9tb2RlbC5fcmF3U291cmNlQ29k
ZUZvclNjcmlwdFdpdGhVUkwoc291cmNlVVJMKTsKICAgICAgICAgaWYgKCFyYXdTb3VyY2VDb2Rl
KQotICAgICAgICAgICAgcmV0dXJuIHRoaXMubGlua2lmeVJlc291cmNlKHNvdXJjZVVSTCwgbGlu
ZU51bWJlciwgY2xhc3Nlcyk7CisgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLmxpbmtp
ZnlSZXNvdXJjZUFzTm9kZShzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNsYXNzZXMpOwogCiAgICAg
ICAgIHJldHVybiB0aGlzLmxpbmtpZnlSYXdTb3VyY2VDb2RlKHJhd1NvdXJjZUNvZGUsIGxpbmVO
dW1iZXIsIGNvbHVtbk51bWJlciwgY2xhc3Nlcyk7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAq
IEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VVUkwKLSAgICAgKiBAcGFyYW0ge251bWJlcn0gbGluZU51
bWJlcgotICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gY2xhc3NlcwotICAgICAqLwotICAgIGxpbmtp
ZnlSZXNvdXJjZTogZnVuY3Rpb24oc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjbGFzc2VzKQotICAg
IHsKLSAgICAgICAgdmFyIGxpbmtUZXh0ID0gV2ViSW5zcGVjdG9yLmZvcm1hdExpbmtUZXh0KHNv
dXJjZVVSTCwgbGluZU51bWJlcik7Ci0gICAgICAgIHZhciBhbmNob3IgPSBXZWJJbnNwZWN0b3Iu
bGlua2lmeVVSTEFzTm9kZShzb3VyY2VVUkwsIGxpbmtUZXh0LCBjbGFzc2VzLCBmYWxzZSk7Ci0g
ICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIsICJyZXNvdXJjZXMi
KTsKLSAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgibGluZV9udW1iZXIiLCBsaW5lTnVtYmVy
KTsKLSAgICAgICAgcmV0dXJuIGFuY2hvcjsKLSAgICB9LAotCi0gICAgLyoqCiAgICAgICogQHBh
cmFtIHtXZWJJbnNwZWN0b3IuUmF3U291cmNlQ29kZX0gcmF3U291cmNlQ29kZQogICAgICAqIEBw
YXJhbSB7bnVtYmVyPX0gbGluZU51bWJlcgogICAgICAqIEBwYXJhbSB7bnVtYmVyPX0gY29sdW1u
TnVtYmVyCkBAIC0xMDIzLDcgKzEwMDksNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50
YXRpb25Nb2RlbC5MaW5raWZpZXIucHJvdG90eXBlID0gewogICAgIF91cGRhdGVBbmNob3I6IGZ1
bmN0aW9uKHJhd1NvdXJjZUNvZGUsIGFuY2hvcikKICAgICB7CiAgICAgICAgIHZhciB1aUxvY2F0
aW9uID0gcmF3U291cmNlQ29kZS5zb3VyY2VNYXBwaW5nLnJhd0xvY2F0aW9uVG9VSUxvY2F0aW9u
KGFuY2hvci5yYXdMb2NhdGlvbik7Ci0gICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInByZWZl
cnJlZF9wYW5lbCIsICJzY3JpcHRzIik7CisgICAgICAgIGFuY2hvci5wcmVmZXJyZWRQYW5lbCA9
ICJzY3JpcHRzIjsKICAgICAgICAgYW5jaG9yLnVpU291cmNlQ29kZSA9IHVpTG9jYXRpb24udWlT
b3VyY2VDb2RlOwogICAgICAgICBhbmNob3IubGluZU51bWJlciA9IHVpTG9jYXRpb24ubGluZU51
bWJlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9F
eHRlbnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVu
c2lvbkFQSS5qcwppbmRleCBmM2MyM2FjNTk0NjYwYWMyNWJlMDA5NzNkZmE1MjkxY2I2YWZhN2Vi
Li4xODQyNjE3NDI4NzM0NTM5NTYxMTg3OWVkY2Y5ZjUzMmJhZDY2Mjk0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwpAQCAtNDk4
LDcgKzQ5OCw2IEBAIGZ1bmN0aW9uIEF1ZGl0UmVzdWx0SW1wbChpZCkKICAgICB0aGlzLmNyZWF0
ZVVSTCA9IGJpbmQodGhpcy5fbm9kZUZhY3RvcnksIG51bGwsICJ1cmwiKTsKICAgICB0aGlzLmNy
ZWF0ZVNuaXBwZXQgPSBiaW5kKHRoaXMuX25vZGVGYWN0b3J5LCBudWxsLCAic25pcHBldCIpOwog
ICAgIHRoaXMuY3JlYXRlVGV4dCA9IGJpbmQodGhpcy5fbm9kZUZhY3RvcnksIG51bGwsICJ0ZXh0
Iik7Ci0gICAgdGhpcy5jcmVhdGVSZXNvdXJjZUxpbmsgPSBiaW5kKHRoaXMuX25vZGVGYWN0b3J5
LCBudWxsLCAicmVzb3VyY2VMaW5rIik7CiB9CiAKIEF1ZGl0UmVzdWx0SW1wbC5wcm90b3R5cGUg
PSB7CkBAIC01MzQsNiArNTMzLDE0IEBAIEF1ZGl0UmVzdWx0SW1wbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHJldHVybiBhcGlQcml2YXRlLmF1ZGl0cy5TZXZlcml0eTsKICAgICB9LAogCisgICAg
Y3JlYXRlUmVzb3VyY2VMaW5rOiBmdW5jdGlvbih1cmwsIGxpbmVOdW1iZXIpCisgICAgeworICAg
ICAgICByZXR1cm4geworICAgICAgICAgICAgdHlwZTogInJlc291cmNlTGluayIsCisgICAgICAg
ICAgICBhcmd1bWVudHM6IFt1cmwsIGxpbmVOdW1iZXIgLSAxXQorICAgICAgICB9OworICAgIH0s
CisKICAgICBfbm9kZUZhY3Rvcnk6IGZ1bmN0aW9uKHR5cGUpCiAgICAgewogICAgICAgICByZXR1
cm4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcwppbmRleCA0Y2RhNzFhNzVjZGRkYjNkZTZlYTk4NWJmOTMxZmI3Nzk0YjI5N2M3Li4x
Mjk4MzA4MzE1NzY3NTAzYTc4ZTRlNmMxYzgxMzE4NGU3MzYxYmQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwpAQCAtMTMxMCwx
MyArMTMxMCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0gewogCiAg
ICAgX3Jlc291cmNlQnlBbmNob3I6IGZ1bmN0aW9uKGFuY2hvcikKICAgICB7Ci0gICAgICAgIHZh
ciByZXNvdXJjZTsKLSAgICAgICAgaWYgKGFuY2hvci5nZXRBdHRyaWJ1dGUoInJlcXVlc3RfaWQi
KSkKLSAgICAgICAgICAgIHJlc291cmNlID0gdGhpcy5yZXNvdXJjZUJ5SWQoYW5jaG9yLmdldEF0
dHJpYnV0ZSgicmVxdWVzdF9pZCIpKTsKLSAgICAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAg
ICAgIHJlc291cmNlID0gdGhpcy5fbmV0d29ya0xvZ1ZpZXcuX3Jlc291cmNlc0J5VVJMW2FuY2hv
ci5ocmVmXTsKLQotICAgICAgICByZXR1cm4gcmVzb3VyY2U7CisgICAgICAgIHJldHVybiBhbmNo
b3IucmVxdWVzdElkID8gdGhpcy5yZXNvdXJjZUJ5SWQoYW5jaG9yLnJlcXVlc3RJZCkgOiB0aGlz
Ll9uZXR3b3JrTG9nVmlldy5fcmVzb3VyY2VzQnlVUkxbYW5jaG9yLmhyZWZdOwogICAgIH0sCiAK
ICAgICBjYW5TaG93QW5jaG9yTG9jYXRpb246IGZ1bmN0aW9uKGFuY2hvcikKQEAgLTE5MDIsMTEg
KzE4OTYsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICB0aGlzLl9pbml0aWF0b3JDZWxsLnJlbW92ZUNoaWxkcmVuKCk7CiAgICAg
ICAgICAgICBpZiAodGhpcy5fcmVzb3VyY2UucmVkaXJlY3RTb3VyY2UpIHsKICAgICAgICAgICAg
ICAgICB2YXIgcmVkaXJlY3RTb3VyY2UgPSB0aGlzLl9yZXNvdXJjZS5yZWRpcmVjdFNvdXJjZTsK
LSAgICAgICAgICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05v
ZGUocmVkaXJlY3RTb3VyY2UudXJsLCByZWRpcmVjdFNvdXJjZS51cmwsIHVuZGVmaW5lZCwgZmFs
c2UpOwotICAgICAgICAgICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInJlcXVlc3RfaWQiLCBy
ZWRpcmVjdFNvdXJjZS5yZXF1ZXN0SWQpOwotICAgICAgICAgICAgICAgIGFuY2hvci5zZXRBdHRy
aWJ1dGUoInByZWZlcnJlZF9wYW5lbCIsICJuZXR3b3JrIik7CiAgICAgICAgICAgICAgICAgdGhp
cy5faW5pdGlhdG9yQ2VsbC50aXRsZSA9IHJlZGlyZWN0U291cmNlLnVybDsKLSAgICAgICAgICAg
ICAgICB0aGlzLl9pbml0aWF0b3JDZWxsLmFwcGVuZENoaWxkKGFuY2hvcik7CisgICAgICAgICAg
ICAgICAgdGhpcy5faW5pdGlhdG9yQ2VsbC5hcHBlbmRDaGlsZChXZWJJbnNwZWN0b3IubGlua2lm
eVJlcXVlc3RBc05vZGUocmVkaXJlY3RTb3VyY2UpKTsKICAgICAgICAgICAgICAgICB0aGlzLl9h
cHBlbmRTdWJ0aXRsZSh0aGlzLl9pbml0aWF0b3JDZWxsLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlJlZGlyZWN0IikpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChpbml0aWF0b3IudHlwZSA9PT0g
InNjcmlwdCIpIHsKICAgICAgICAgICAgICAgICB2YXIgdG9wRnJhbWUgPSBpbml0aWF0b3Iuc3Rh
Y2tUcmFjZVswXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VVdGlscy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2VVdGlscy5qcwppbmRleCBmZjYwNzk0ZjdiNzIyMTk0MzIyNDBkYmQzODdlMmJkOGZh
YTkxNjkwLi5iMTU4ZDVlNzY3OGU5ZDY2ZGM3NjNlNmExNzc1ZjA1MWQyZGExMmU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpz
CkBAIC0xMzUsOCArMTM1LDggQEAgV2ViSW5zcGVjdG9yLmxpbmtpZnlTdHJpbmdBc0ZyYWdtZW50
ID0gZnVuY3Rpb24oc3RyaW5nKQogICAgICAgICB2YXIgaXNFeHRlcm5hbCA9ICFXZWJJbnNwZWN0
b3IucmVzb3VyY2VGb3JVUkwodXJsKTsKICAgICAgICAgdmFyIHVybE5vZGUgPSBXZWJJbnNwZWN0
b3IubGlua2lmeVVSTEFzTm9kZSh1cmwsIHRpdGxlLCB1bmRlZmluZWQsIGlzRXh0ZXJuYWwpOwog
ICAgICAgICBpZiAodHlwZW9mKGxpbmVOdW1iZXIpICE9PSAidW5kZWZpbmVkIikgewotICAgICAg
ICAgICAgdXJsTm9kZS5zZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIiwgbGluZU51bWJlcik7Ci0g
ICAgICAgICAgICB1cmxOb2RlLnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIiwgInNjcmlw
dHMiKTsKKyAgICAgICAgICAgIHVybE5vZGUubGluZU51bWJlciA9IGxpbmVOdW1iZXI7CisgICAg
ICAgICAgICB1cmxOb2RlLnByZWZlcnJlZFBhbmVsID0gInNjcmlwdHMiOwogICAgICAgICB9CiAg
ICAgICAgIAogICAgICAgICByZXR1cm4gdXJsTm9kZTsgCkBAIC0xOTksOSArMTk5LDIwIEBAIFdl
Ykluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUgPSBmdW5jdGlvbih1cmwsIGxpbmVOdW1i
ZXIsIGNsYXNzZXMsIHRvb2x0aXBUCiB7CiAgICAgdmFyIGxpbmtUZXh0ID0gV2ViSW5zcGVjdG9y
LmZvcm1hdExpbmtUZXh0KHVybCwgbGluZU51bWJlcik7CiAgICAgdmFyIGFuY2hvciA9IFdlYklu
c3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlKHVybCwgbGlua1RleHQsIGNsYXNzZXMsIGZhbHNlLCB0
b29sdGlwVGV4dCk7Ci0gICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIiwg
InJlc291cmNlcyIpOwotICAgIGlmICh0eXBlb2YgbGluZU51bWJlciAhPT0gInVuZGVmaW5lZCIp
Ci0gICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIiwgbGluZU51bWJlcik7
CisgICAgYW5jaG9yLnByZWZlcnJlZFBhbmVsID0gInJlc291cmNlcyI7CisgICAgYW5jaG9yLmxp
bmVOdW1iZXIgPSBsaW5lTnVtYmVyOworICAgIHJldHVybiBhbmNob3I7Cit9CisKKy8qKgorICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2V9IHJlcXVlc3QKKyAqIEBwYXJhbSB7c3RyaW5n
PX0gY2xhc3NlcworICovCitXZWJJbnNwZWN0b3IubGlua2lmeVJlcXVlc3RBc05vZGUgPSBmdW5j
dGlvbihyZXF1ZXN0LCBjbGFzc2VzKQoreworICAgIHZhciBhbmNob3IgPSBXZWJJbnNwZWN0b3Iu
bGlua2lmeVVSTEFzTm9kZShyZXF1ZXN0LnVybCk7CisgICAgYW5jaG9yLnByZWZlcnJlZFBhbmVs
ID0gIm5ldHdvcmsiOworICAgIGFuY2hvci5yZXF1ZXN0SWQgID0gcmVxdWVzdC5yZXF1ZXN0SWQ7
CiAgICAgcmV0dXJuIGFuY2hvcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXggMzk5MTE1NWM1ZDA2YmNlMjhl
MTUyNjE1NGM2MzEzYzQ0ZGRkMDc1NS4uMDEwZjZiNWVmYWU3ZWFlNGE2NjIyZjUzNDEyNmRkMzZl
MzZhNDgxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZXNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Jlc291cmNlc1BhbmVsLmpzCkBAIC0zNDAsOCArMzQwLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291
cmNlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICBzaG93QW5jaG9yTG9jYXRpb246IGZ1bmN0aW9u
KGFuY2hvcikKICAgICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNv
dXJjZUZvclVSTChhbmNob3IuaHJlZik7Ci0gICAgICAgIHZhciBsaW5lTnVtYmVyID0gYW5jaG9y
Lmhhc0F0dHJpYnV0ZSgibGluZV9udW1iZXIiKSA/IHBhcnNlSW50KGFuY2hvci5nZXRBdHRyaWJ1
dGUoImxpbmVfbnVtYmVyIiksIDEwKSA6IHVuZGVmaW5lZDsKLSAgICAgICAgdGhpcy5zaG93UmVz
b3VyY2UocmVzb3VyY2UsIGxpbmVOdW1iZXIpOworICAgICAgICB0aGlzLnNob3dSZXNvdXJjZShy
ZXNvdXJjZSwgYW5jaG9yLmxpbmVOdW1iZXIpOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggMjQ1ODk2
YjNjMjU5M2MxOThkNjVmODk1ZmM4NGEzODA4ZTM4YmU1My4uYTE2NTViNDExMGEyZjM2MWQ5NzJj
MDNlMzlkNzQ1NTBjYjc3NGMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTgxOSw3ICs4MTksNyBAQCBXZWJJbnNwZWN0b3IuX3No
b3dBbmNob3JMb2NhdGlvbiA9IGZ1bmN0aW9uKGFuY2hvcikKIHsKICAgICBpZiAoV2ViSW5zcGVj
dG9yLm9wZW5BbmNob3JMb2NhdGlvblJlZ2lzdHJ5LmRpc3BhdGNoKGFuY2hvci5ocmVmKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgdmFyIHByZWZlcmVkUGFuZWwgPSB0aGlzLnBhbmVsc1th
bmNob3IuZ2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwiKSB8fCAicmVzb3VyY2VzIl07Cisg
ICAgdmFyIHByZWZlcmVkUGFuZWwgPSB0aGlzLnBhbmVsc1thbmNob3IucHJlZmVycmVkUGFuZWwg
fHwgInJlc291cmNlcyJdOwogICAgIGlmIChXZWJJbnNwZWN0b3IuX3Nob3dBbmNob3JMb2NhdGlv
bkluUGFuZWwoYW5jaG9yLCBwcmVmZXJlZFBhbmVsKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgaWYgKHByZWZlcmVkUGFuZWwgIT09IHRoaXMucGFuZWxzLnJlc291cmNlcyAmJiBXZWJJbnNw
ZWN0b3IuX3Nob3dBbmNob3JMb2NhdGlvbkluUGFuZWwoYW5jaG9yLCB0aGlzLnBhbmVscy5yZXNv
dXJjZXMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC91
dGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGll
cy5qcwppbmRleCBlMjJmNzAyMDc0ZGEyNjE4NTE5ODM1OTEwOTk1MTZlM2M2ZjMwZTk2Li45ZTZh
MTQxZWU0NTk2ZDkyMTM2NGE2MjY5ZTJkY2ExNWNjMzA1NmM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwpAQCAtMzExLDcgKzMxMSw3IEBA
IGZ1bmN0aW9uIEFuY2hvckJveCh4LCB5LCB3aWR0aCwgaGVpZ2h0KQogfQogCiAvKioKLSAqIEBw
YXJhbSB7RE9NV2luZG93fSB0YXJnZXRXaW5kb3cKKyAqIEBwYXJhbSB7V2luZG93fSB0YXJnZXRX
aW5kb3cKICAqIEByZXR1cm4ge0FuY2hvckJveH0KICAqLwogRWxlbWVudC5wcm90b3R5cGUub2Zm
c2V0UmVsYXRpdmVUb1dpbmRvdyA9IGZ1bmN0aW9uKHRhcmdldFdpbmRvdykKQEAgLTMzMyw3ICsz
MzMsNyBAQCBFbGVtZW50LnByb3RvdHlwZS5vZmZzZXRSZWxhdGl2ZVRvV2luZG93ID0gZnVuY3Rp
b24odGFyZ2V0V2luZG93KQogfQogCiAvKioKLSAqIEBwYXJhbSB7RE9NV2luZG93fSB0YXJnZXRX
aW5kb3cKKyAqIEBwYXJhbSB7V2luZG93fSB0YXJnZXRXaW5kb3cKICAqIEByZXR1cm4ge0FuY2hv
ckJveH0KICAqLwogRWxlbWVudC5wcm90b3R5cGUuYm94SW5XaW5kb3cgPSBmdW5jdGlvbih0YXJn
ZXRXaW5kb3cpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMjM0NWQ5NDdjODIyOTkyYzFmMTAyMmEwMzkwNzZhMzM1MGExNDg3
My4uMGE5NGE5NzNjMzQ0NWI2ZDExOWNjNjFhYmRiOWNhNzUxOGU1MTYxZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTEyLTAxICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogdXNlIG9iamVjdCBwcm9wZXJ0aWVzLCBub3Qg
ZWxlbWVudCBhdHRyaWJ1dGVzIHRvIHBhc3MgcHJlZmVycmVkIHBhbmVsL2xpbmUvcmVxdWVzdCBp
ZCBpbiBsaW5raWZpZWQgYW5jaG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzM1NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1
ZGl0cy5odG1sOgorCiAyMDExLTEyLTAxICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgY2hyb21pdW0gdGVzdCBleHBlY3RhdGlv
bnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLWF1ZGl0cy1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMvZXh0ZW5zaW9ucy1hdWRpdHMtYXBpLWV4cGVjdGVkLnR4dAppbmRleCBjN2FjYWEwZjkz
NGI3MWM2YThlM2Y3NjFkZjI5YmZkY2RjMDhiNGE5Li5hMWNjNzE0ZWFkMTdkYzM3MzliODNiOGI4
YjUwNDNlOTUzNTI1YmFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy9leHRlbnNpb25zLWF1ZGl0cy1hcGktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWFwaS1leHBlY3RlZC50eHQK
QEAgLTE2LDcgKzE2LDYgQEAgY2F0ZWdvcnkub25BdWRpdFN0YXJ0ZWQgZmlyZWQsIHJlc3VsdHMg
ZHVtcCBmb2xsb3dzOgogICAgIGNyZWF0ZVVSTCA6IDxmdW5jdGlvbj4KICAgICBjcmVhdGVTbmlw
cGV0IDogPGZ1bmN0aW9uPgogICAgIGNyZWF0ZVRleHQgOiA8ZnVuY3Rpb24+Ci0gICAgY3JlYXRl
UmVzb3VyY2VMaW5rIDogPGZ1bmN0aW9uPgogICAgIGFkZFJlc3VsdCA6IDxmdW5jdGlvbj4KICAg
ICBjcmVhdGVSZXN1bHQgOiA8ZnVuY3Rpb24+CiAgICAgZG9uZSA6IDxmdW5jdGlvbj4KQEAgLTI1
LDYgKzI0LDcgQEAgY2F0ZWdvcnkub25BdWRpdFN0YXJ0ZWQgZmlyZWQsIHJlc3VsdHMgZHVtcCBm
b2xsb3dzOgogICAgICAgICBXYXJuaW5nIDogIndhcm5pbmciCiAgICAgICAgIFNldmVyZSA6ICJz
ZXZlcmUiCiAgICAgfQorICAgIGNyZWF0ZVJlc291cmNlTGluayA6IDxmdW5jdGlvbj4KIH0KIHsK
ICAgICBjb250ZW50cyA6IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRl
bnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXVkaXRzLWV4cGVjdGVkLnR4dAppbmRleCAwMTQz
ODVhNmFlM2Y0NzhiMjk2MzFlYjI1OTdjZDgzMjRiZTE4ZTBhLi4xOTg0NWYzYjA0YTFjZjUxN2Jm
NGM5ZWUzNjlkZGM2YzU3YmQyMGZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy9leHRlbnNpb25zLWF1ZGl0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1hdWRpdHMtZXhwZWN0ZWQudHh0CkBA
IC0zLDcgKzMsNiBAQCBUZXN0cyBhdWRpdHMgc3VwcG9ydCBpbiBXZWJJbnNwZWN0b3IgRXh0ZW5z
aW9ucyBBUEkKIFN0YXJ0ZWQgZXh0ZW5zaW9uLgogUnVubmluZyB0ZXN0cy4uLgogUlVOTklORyBU
RVNUOiBleHRlbnNpb25fdGVzdEF1ZGl0cwotQWRkZWQgYXVkaXQgY2F0ZWdvcnkuCiAgIEV4dGVu
c2lvbiBhdWRpdHMKICAgICBGYWlsZWQgcnVsZSAoNDIpCiAgICAgIHRoaXMgcnVsZSBhbHdheXMg
ZmFpbHMKQEAgLTE5LDcgKzE4LDggQEAgQWRkZWQgYXVkaXQgY2F0ZWdvcnkuCiB7CiAgICAgcmV0
dXJuIDQ7CiB9Ci0gICAgICAgICBlcnJvci5odG1sOjEwCisgICAgICAgICAvcGF0aC90by9lcnJv
ci5odG1sOjEwCisgICAgICAgICBleHRlbnNpb25zLWF1ZGl0cy5odG1sOjIwCiAgICAgUGFzc2Vk
IHJ1bGUKICAgICAgdGhpcyBydWxlIGFsd2F5cyBwYXNzZXMgb2sKICAgRXh0ZW5zaW9uIGF1ZGl0
cyB0aGF0IGZhaWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25z
L2V4dGVuc2lvbnMtYXVkaXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9u
cy9leHRlbnNpb25zLWF1ZGl0cy5odG1sCmluZGV4IDFiYjNmNWFlM2FjYmQ2Mjg5MjhmOWNhMjY4
NDIwZTFmODgxMDdiMTcuLmU1ODFhNTVlN2E2YTljMTVhNWFjMjIyMTg1NTM4ZWZkMDY2YjA4ZTgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMt
YXVkaXRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5z
aW9ucy1hdWRpdHMuaHRtbApAQCAtOSw5ICs5LDExIEBACiAKIGZ1bmN0aW9uIGV4dGVuc2lvbl90
ZXN0QXVkaXRzKG5leHRUZXN0KQogeworICAgIHZhciBwZW5kaW5nT3V0cHV0ID0gW107CisKICAg
ICBmdW5jdGlvbiBvblN0YXJ0QXVkaXRDYXRlZ29yeShyZXN1bHRzKQogICAgIHsKLSAgICAgICAg
b3V0cHV0KCJjYXRlZ29yeS5vbkF1ZGl0U3RhcnRlZCBmaXJlZCIpOworICAgICAgICBwZW5kaW5n
T3V0cHV0LnB1c2goImNhdGVnb3J5Lm9uQXVkaXRTdGFydGVkIGZpcmVkIik7CiAgICAgICAgIHJl
c3VsdHMuYWRkUmVzdWx0KCJQYXNzZWQgcnVsZSIsICJ0aGlzIHJ1bGUgYWx3YXlzIHBhc3NlcyBv
ayIsIHJlc3VsdHMuU2V2ZXJpdHkuSW5mbyk7CiAgICAgICAgIHJlc3VsdHMuYWRkUmVzdWx0KCJG
YWlsZWQgcnVsZSAoNDIpIiwgInRoaXMgcnVsZSBhbHdheXMgZmFpbHMiLCByZXN1bHRzLlNldmVy
aXR5LlNldmVyZSk7CiAKQEAgLTIxLDI3ICsyMywzMCBAQCBmdW5jdGlvbiBleHRlbnNpb25fdGVz
dEF1ZGl0cyhuZXh0VGVzdCkKICAgICAgICAgbmVzdGVkTm9kZS5leHBhbmRlZCA9IHRydWU7CiAg
ICAgICAgIG5lc3RlZE5vZGUuYWRkQ2hpbGQocmVzdWx0cy5jcmVhdGVTbmlwcGV0KCJmdW5jdGlv
biByYW5kKClcbntcbiAgICByZXR1cm4gNDtcbn0iKSk7CiAgICAgICAgIG5lc3RlZE5vZGUuYWRk
Q2hpbGQocmVzdWx0cy5jcmVhdGVSZXNvdXJjZUxpbmsoImZpbGU6Ly8vcGF0aC90by9lcnJvci5o
dG1sIiwgMTApKTsKKyAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCJs
b2NhdGlvbi5ocmVmIiwgZnVuY3Rpb24oaW5zcGVjdGVkUGFnZVVSTCkgeworICAgICAgICAgICAg
bmVzdGVkTm9kZS5hZGRDaGlsZChyZXN1bHRzLmNyZWF0ZVJlc291cmNlTGluayhpbnNwZWN0ZWRQ
YWdlVVJMLCAyMCkpOwogCi0gICAgICAgIHJlc3VsdHMuYWRkUmVzdWx0KCJSdWxlIHdpdGggZGV0
YWlscyBzdWJ0cmVlICgxKSIsICJUaGlzIHJ1bGUgaGFzIGEgbG90IG9mIGRldGFpbHMiLCByZXN1
bHRzLlNldmVyaXR5Lldhcm5pbmcsIG5vZGUpOwotICAgICAgICAvLyBBdWRpdCBub3JtYWxseSB0
ZXJtaW5hdGVzIHdoZW4gbnVtYmVyIG9mIGFkZGVkIHJ1bGUgcmVzdWx0cyBpcyBlcXVhbCB0bwot
ICAgICAgICAvLyB0aGUgcnVsZSBjb3VudCBkZWNsYXJlZCB3aGVuIGFkZGluZyBhIGNhdGVnb3J5
LiBkb25lKCkgaXMgb25seSBmb3IKLSAgICAgICAgLy8gZW1lcmdlbmN5IGNhc2VzLCB3aGVuIHdl
IGtub3cgd2Ugd29uJ3QgYmUgYWJsZSB0byBydW4gdGhlIHJlc3Qgb2YgdGhlIHJ1bGVzLgotICAg
ICAgICByZXN1bHRzLmRvbmUoKTsKKyAgICAgICAgICAgIHJlc3VsdHMuYWRkUmVzdWx0KCJSdWxl
IHdpdGggZGV0YWlscyBzdWJ0cmVlICgxKSIsICJUaGlzIHJ1bGUgaGFzIGEgbG90IG9mIGRldGFp
bHMiLCByZXN1bHRzLlNldmVyaXR5Lldhcm5pbmcsIG5vZGUpOworCisgICAgICAgICAgICAvLyBB
dWRpdCBub3JtYWxseSB0ZXJtaW5hdGVzIHdoZW4gbnVtYmVyIG9mIGFkZGVkIHJ1bGUgcmVzdWx0
cyBpcyBlcXVhbCB0bworICAgICAgICAgICAgLy8gdGhlIHJ1bGUgY291bnQgZGVjbGFyZWQgd2hl
biBhZGRpbmcgYSBjYXRlZ29yeS4gZG9uZSgpIGlzIG9ubHkgZm9yCisgICAgICAgICAgICAvLyBl
bWVyZ2VuY3kgY2FzZXMsIHdoZW4gd2Uga25vdyB3ZSB3b24ndCBiZSBhYmxlIHRvIHJ1biB0aGUg
cmVzdCBvZiB0aGUgcnVsZXMuCisgICAgICAgICAgICByZXN1bHRzLmRvbmUoKTsKKyAgICAgICAg
fSk7CiAgICAgfQogICAgIGZ1bmN0aW9uIG9uU3RhcnRBdWRpdEZhaWxlZENhdGVnb3J5KCkKICAg
ICB7Ci0gICAgICAgIG91dHB1dCgiZmFpbGVkQ2F0ZWdvcnkub25BdWRpdFN0YXJ0ZWQgZmlyZWQs
IHRocm93aW5nIGV4Y2VwdGlvbiIpOworICAgICAgICBwZW5kaW5nT3V0cHV0LnB1c2goImZhaWxl
ZENhdGVnb3J5Lm9uQXVkaXRTdGFydGVkIGZpcmVkLCB0aHJvd2luZyBleGNlcHRpb24iKTsKICAg
ICAgICAgdGhyb3cgIm9vcHMhIjsKICAgICB9CiAgICAgZnVuY3Rpb24gb25TdGFydEF1ZGl0RGlz
YWJsZWRDYXRlZ29yeShyZXN1bHRzKQogICAgIHsKLSAgICAgICAgb3V0cHV0KCJGQUlMOiBkaXNh
YmxlZENhdGVnb3J5Lm9uQXVkaXRTdGFydGVkIGZpcmVkIik7CisgICAgICAgIHBlbmRpbmdPdXRw
dXQucHVzaCgiRkFJTDogZGlzYWJsZWRDYXRlZ29yeS5vbkF1ZGl0U3RhcnRlZCBmaXJlZCIpOwog
ICAgICAgICByZXN1bHRzLmRvbmUoKTsKICAgICB9CiAKICAgICB2YXIgY2F0ZWdvcnkgPSB3ZWJJ
bnNwZWN0b3IuYXVkaXRzLmFkZENhdGVnb3J5KCJFeHRlbnNpb24gYXVkaXRzIiwgMjApOwogICAg
IGNhdGVnb3J5Lm9uQXVkaXRTdGFydGVkLmFkZExpc3RlbmVyKG9uU3RhcnRBdWRpdENhdGVnb3J5
KTsKLSAgICBvdXRwdXQoIkFkZGVkIGF1ZGl0IGNhdGVnb3J5LiIpOwogCiAgICAgdmFyIGZhaWxl
ZENhdGVnb3J5ID0gd2ViSW5zcGVjdG9yLmF1ZGl0cy5hZGRDYXRlZ29yeSgiRXh0ZW5zaW9uIGF1
ZGl0cyB0aGF0IGZhaWwiLCAyKTsKICAgICBmYWlsZWRDYXRlZ29yeS5vbkF1ZGl0U3RhcnRlZC5h
ZGRMaXN0ZW5lcihvblN0YXJ0QXVkaXRGYWlsZWRDYXRlZ29yeSk7CkBAIC00OSw4ICs1NCwxMyBA
QCBmdW5jdGlvbiBleHRlbnNpb25fdGVzdEF1ZGl0cyhuZXh0VGVzdCkKICAgICB2YXIgZGlzYWJs
ZWRDYXRlZ29yeSA9IHdlYkluc3BlY3Rvci5hdWRpdHMuYWRkQ2F0ZWdvcnkoIkRpc2FibGVkIGV4
dGVuc2lvbiBhdWRpdHMiLCAyKTsKICAgICBkaXNhYmxlZENhdGVnb3J5Lm9uQXVkaXRTdGFydGVk
LmFkZExpc3RlbmVyKG9uU3RhcnRBdWRpdERpc2FibGVkQ2F0ZWdvcnkpOwogCisgICAgZnVuY3Rp
b24gYXVkaXRzRG9uZSgpCisgICAgeworICAgICAgICBwZW5kaW5nT3V0cHV0LnNvcnQoKS5mb3JF
YWNoKG91dHB1dCk7CisgICAgICAgIG5leHRUZXN0KCk7CisgICAgfQogICAgIHdlYkluc3BlY3Rv
ci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiIiwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV4dGVuc2lv
bl9ydW5BdWRpdHMobmV4dFRlc3QpOworICAgICAgICBleHRlbnNpb25fcnVuQXVkaXRzKGF1ZGl0
c0RvbmUpOwogICAgIH0pOwogfQogCg==
</data>
<flag name="review"
          id="116856"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>