<?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>149155</bug_id>
          
          <creation_ts>2015-09-15 01:31:28 -0700</creation_ts>
          <short_desc>Web Inspector: Copying inline style text puts &quot;undefined&quot; in the pasteboard</short_desc>
          <delta_ts>2015-10-02 15:33:32 -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 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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125913</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-09-15 01:31:28 -0700</bug_when>
    <thetext>* STEPS TO REPRODUCE:
1. Go to https://www.apple.com/
2. Open the elements tab in Web Inspector
3. Select the &lt;body&gt; tag
4. Right click the &quot;Style Attribute&quot; text at the top of the Styles sidebar and select &quot;Copy Rule&quot;
5. Paste somewhere (Cmd+V)

  Expected:
body {
}

  Actual:
undefined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125914</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-15 01:31:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/22698991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125915</commentid>
    <comment_count>2</comment_count>
      <attachid>261179</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-09-15 01:34:45 -0700</bug_when>
    <thetext>Created attachment 261179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126008</commentid>
    <comment_count>3</comment_count>
      <attachid>261179</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-09-15 10:19:43 -0700</bug_when>
    <thetext>Comment on attachment 261179
Patch

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

This approach definitely works, but it could be simpler, IMO. What do you think about adding getters to the CSSStyleDeclaration for mediaList and selectorText? Then you can avoid adding another special case parameter and hide that logic in the getter.

    let selectorText = this.selectorText;
    if (!selectorText)
        return;

    let styleText = &quot;&quot;;
    let mediaQueriesCount = 0;

    let mediaList = this.mediaList;
    if (mediaList &amp;&amp; mediaList.length) {
        mediaQueriesCount = mediaList.length;
        for (let i = mediaQueriesCount - 1; i &gt;= 0; --i)
            styleText += `${&quot;    &quot;.repeat(mediaQueriesCount - i - 1)}@media ${mediaList[i].text} {\n`;
    }

    styleText += `${&quot;    &quot;.repeat(mediaQueriesCount)}${selectorText} {\n`;

&gt; Source/WebInspectorUI/ChangeLog:7
&gt; +

It would be helpful to describe why it wasn&apos;t working before, and how you fixed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126012</commentid>
    <comment_count>4</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-09-15 10:22:19 -0700</bug_when>
    <thetext>Also, this behavior (what the generated string is for an inline style/rule) is definitely something for which we should write a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130006</commentid>
    <comment_count>5</comment_count>
      <attachid>262278</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-10-01 12:42:34 -0700</bug_when>
    <thetext>Created attachment 262278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130013</commentid>
    <comment_count>6</comment_count>
      <attachid>262278</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-10-01 13:02:43 -0700</bug_when>
    <thetext>Comment on attachment 262278
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Models/CSSStyleDeclaration.js:246
&gt; +

No need for the empty line here.

&gt; Source/WebInspectorUI/UserInterface/Models/CSSStyleDeclaration.js:254
&gt; +

Ditto.

&gt; Source/WebInspectorUI/UserInterface/Models/CSSStyleDeclaration.js:311
&gt; +            styleText += &quot;    &quot;.repeat(mediaQueriesCount - i - 1) + &quot;@media &quot; + mediaList[i].text + &quot; {\n&quot;;

Might be nice to put the &quot;    &quot; in a local that would eventuality be controlled by a tab/spaces setting.

&gt; LayoutTests/inspector/css/generate-css-rule-string.html:30
&gt; +        InspectorTest.completeTest();

This should use the new test suite way for inspector tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130021</commentid>
    <comment_count>7</comment_count>
      <attachid>262278</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-10-01 13:30:19 -0700</bug_when>
    <thetext>Comment on attachment 262278
Patch

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

&gt;&gt; LayoutTests/inspector/css/generate-css-rule-string.html:30
&gt;&gt; +        InspectorTest.completeTest();
&gt; 
&gt; This should use the new test suite way for inspector tests.

So I am a bit confused on this.  It seems like the new suite uses InspectorTest.expectThat and if we are planning on supporting different tab widths for indentation in the future, how would I ensure that it prints correctly?  Also, are we entirely using InspectorTest.expectThat or am I able to use InspectorTest.log?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130037</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-01 14:25:04 -0700</bug_when>
    <thetext>&gt; if we are planning on supporting different tab widths for indentation in the
&gt; future, how would I ensure that it prints correctly?

Different tab widths would be a user preference. Tests would always use the default value of settings / preferences (or set to some non-default). Much like showing the shadow dom is a setting.


&gt; Also, are we entirely using InspectorTest.expectThat or am I able to use InspectorTest.log?

You may use both. &quot;expect&quot; is nice because it prints out PASS / FAIL along with the message. With messages written of the form &quot;X should be Y&quot;, if you get a Failure you know immediately what went wrong. X should be Y, but it wasn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130039</commentid>
    <comment_count>9</comment_count>
      <attachid>262278</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-01 14:27:25 -0700</bug_when>
    <thetext>Comment on attachment 262278
Patch

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

&gt;&gt;&gt; LayoutTests/inspector/css/generate-css-rule-string.html:30
&gt;&gt;&gt; +        InspectorTest.completeTest();
&gt;&gt; 
&gt;&gt; This should use the new test suite way for inspector tests.
&gt; 
&gt; So I am a bit confused on this.  It seems like the new suite uses InspectorTest.expectThat and if we are planning on supporting different tab widths for indentation in the future, how would I ensure that it prints correctly?  Also, are we entirely using InspectorTest.expectThat or am I able to use InspectorTest.log?

See here for rationale: http://trac.webkit.org/wiki/WebInspectorTests#HowtoWriteTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130164</commentid>
    <comment_count>10</comment_count>
      <attachid>262317</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-10-01 23:12:57 -0700</bug_when>
    <thetext>Created attachment 262317
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130165</commentid>
    <comment_count>11</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-10-01 23:14:20 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created attachment 262317 [details]
&gt; Patch

So I tried updating the test to use the new suite, but I&apos;m not sure if I did it right so please let me know if I need to change anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130222</commentid>
    <comment_count>12</comment_count>
      <attachid>262317</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-02 07:47:06 -0700</bug_when>
    <thetext>Comment on attachment 262317
Patch

Test looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130329</commentid>
    <comment_count>13</comment_count>
      <attachid>262317</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-02 15:33:28 -0700</bug_when>
    <thetext>Comment on attachment 262317
Patch

Clearing flags on attachment: 262317

Committed r190528: &lt;http://trac.webkit.org/changeset/190528&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130330</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-02 15:33:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261179</attachid>
            <date>2015-09-15 01:34:45 -0700</date>
            <delta_ts>2015-10-01 12:42:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149155-20150915013434.patch</filename>
            <type>text/plain</type>
            <size>3821</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDAxNjE2ZmE5MjA5ZGQ5OGVkNjc1Y2NhY2NjMGEz
NTFlYTY2YzkwNTQuLmQzNjAxNDdlNDcxMDIxZjNhZjJjMGUwMzVjMDZiNjhlNjU3Yzc4YzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTA5LTE1ICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IENvcHlpbmcgaW5saW5lIHN0eWxlIHRleHQgcHV0cyAidW5kZWZpbmVkIiBpbiB0aGUg
cGFzdGVib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ5MTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24ucHJvdG90eXBlLmdlbmVyYXRlQ1NT
UnVsZVN0cmluZyk6CisgICAgICAgIEFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSBjdXN0
b20gc2VsZWN0b3IgaW4gdGhlIGNhc2Ugb2YgaW5saW5lIHN0eWxlcy4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5k
bGVDb250ZXh0TWVudUV2ZW50KToKKyAgICAgICAgSWYgdGhlIHNlY3Rpb24ncyBzdHlsZSBpcyBp
bmxpbmUsIGNyZWF0ZSBhIHNlbGVjdG9yIGZvciB0aGF0CisgICAgICAgIG5vZGUgYW5kIHVzZSB0
aGF0IGFzIHRoZSBzZWxlY3RvciB0ZXh0IHdoZW4gY29weWluZy4KKwogMjAxNS0wOS0xMSAgTmFu
IFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBBUklBIDEuMSBAYXJpYS1j
dXJyZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvQ1NTU3R5bGVEZWNsYXJhdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzCmluZGV4IDI4NTQzNmUwYTJh
Y2E0MWI2ZGU4ODA3MDY0YjkzOTViODJlNGEzYWYuLmNiMmQwODRhOWRlZjYwMmM0OWJjN2I5MDk2
NjlkZDAxMjBjNzE1ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzCkBAIC0y
ODYsMjIgKzI4NiwyNSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGNsYXNz
IENTU1N0eWxlRGVjbGFyYXRpb24gZXh0ZW5kcyBXZWJJbnNwZWN0bwogICAgICAgICByZXR1cm4g
bmV3UHJvcGVydHk7CiAgICAgfQogCi0gICAgZ2VuZXJhdGVDU1NSdWxlU3RyaW5nKCkKKyAgICBn
ZW5lcmF0ZUNTU1J1bGVTdHJpbmcoY3VzdG9tU2VsZWN0b3IpCiAgICAgewotICAgICAgICBpZiAo
IXRoaXMuX293bmVyUnVsZSkKKyAgICAgICAgaWYgKCF0aGlzLl9vd25lclJ1bGUgJiYgIWN1c3Rv
bVNlbGVjdG9yKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGxldCBzdHlsZVRleHQg
PSAiIjsKICAgICAgICAgbGV0IG1lZGlhUXVlcmllc0NvdW50ID0gMDsKLSAgICAgICAgbGV0IG1l
ZGlhTGlzdCA9IHRoaXMuX293bmVyUnVsZS5tZWRpYUxpc3Q7Ci0gICAgICAgIGlmIChtZWRpYUxp
c3QubGVuZ3RoKSB7Ci0gICAgICAgICAgICBtZWRpYVF1ZXJpZXNDb3VudCA9IG1lZGlhTGlzdC5s
ZW5ndGg7CiAKLSAgICAgICAgICAgIGZvciAobGV0IGkgPSBtZWRpYVF1ZXJpZXNDb3VudCAtIDE7
IGkgPj0gMDsgLS1pKQotICAgICAgICAgICAgICAgIHN0eWxlVGV4dCArPSAiICAgICIucmVwZWF0
KG1lZGlhUXVlcmllc0NvdW50IC0gaSAtIDEpICsgIkBtZWRpYSAiICsgbWVkaWFMaXN0W2ldLnRl
eHQgKyAiIHtcbiI7CisgICAgICAgIGlmICh0aGlzLl9vd25lclJ1bGUpIHsKKyAgICAgICAgICAg
IGxldCBtZWRpYUxpc3QgPSB0aGlzLl9vd25lclJ1bGUubWVkaWFMaXN0OworICAgICAgICAgICAg
aWYgKG1lZGlhTGlzdC5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICBtZWRpYVF1ZXJpZXNDb3Vu
dCA9IG1lZGlhTGlzdC5sZW5ndGg7CisKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gbWVk
aWFRdWVyaWVzQ291bnQgLSAxOyBpID49IDA7IC0taSkKKyAgICAgICAgICAgICAgICAgICAgc3R5
bGVUZXh0ICs9ICIgICAgIi5yZXBlYXQobWVkaWFRdWVyaWVzQ291bnQgLSBpIC0gMSkgKyAiQG1l
ZGlhICIgKyBtZWRpYUxpc3RbaV0udGV4dCArICIge1xuIjsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogCi0gICAgICAgIHN0eWxlVGV4dCArPSAiICAgICIucmVwZWF0KG1lZGlhUXVlcmllc0Nv
dW50KSArIHRoaXMuX293bmVyUnVsZS5zZWxlY3RvclRleHQgKyAiIHtcbiI7CisgICAgICAgIHN0
eWxlVGV4dCArPSAiICAgICIucmVwZWF0KG1lZGlhUXVlcmllc0NvdW50KSArIChjdXN0b21TZWxl
Y3RvciB8fCB0aGlzLl9vd25lclJ1bGUuc2VsZWN0b3JUZXh0KSArICIge1xuIjsKIAogICAgICAg
ICBmb3IgKGxldCBwcm9wZXJ0eSBvZiB0aGlzLl9wcm9wZXJ0aWVzKSB7CiAgICAgICAgICAgICBp
ZiAocHJvcGVydHkuYW5vbnltb3VzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbi5qcwppbmRleCA5NmQ3YzdkYThlZTAyYTc3NTIzMzJkMThiM2QzOTcwZDkxYWY0NWFk
Li4wNTVkZDQ2NjAyMTU2OGRhNzMzMjZhOGRkOWE2ODEyYTE4ODgyODJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcwpAQCAtNDQ4LDcgKzQ0OCw4IEBAIFdl
Ykluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIENTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uIGV4dGVuCiAgICAgICAgIH0KIAogICAgICAgICBjb250ZXh0TWVudS5h
cHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29weSBSdWxlIiksIGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNvcHlUZXh0KHRoaXMuX3N0eWxl
LmdlbmVyYXRlQ1NTUnVsZVN0cmluZygpKTsKKyAgICAgICAgICAgIGxldCBzZWxlY3RvclRleHQg
PSAhdGhpcy5fc3R5bGUub3duZXJSdWxlID8gdGhpcy5fc3R5bGUubm9kZS5hcHByb3ByaWF0ZVNl
bGVjdG9yRm9yKHRydWUpIDogbnVsbDsKKyAgICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9z
dC5jb3B5VGV4dCh0aGlzLl9zdHlsZS5nZW5lcmF0ZUNTU1J1bGVTdHJpbmcoc2VsZWN0b3JUZXh0
KSk7CiAgICAgICAgIH0uYmluZCh0aGlzKSk7CiAKICAgICAgICAgY29udGV4dE1lbnUuc2hvdygp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262278</attachid>
            <date>2015-10-01 12:42:34 -0700</date>
            <delta_ts>2015-10-01 23:12:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149155-20151001124209.patch</filename>
            <type>text/plain</type>
            <size>9140</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDMxZjQ0NzUwMzAyYWY3NGVhNmE3MmYwNmUyNjI3
ZGExZWJhNzdhYjMuLjMyOGFhYmNiZmZmNjExMDBhN2JkNzE5ZWI3OWUxYWZjYzFmZWUyZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTEwLTAxICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IENvcHlpbmcgaW5saW5lIHN0eWxlIHRleHQgcHV0cyAidW5kZWZpbmVkIiBpbiB0aGUg
cGFzdGVib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ5MTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ1NTU3R5bGVEZWNsYXJhdGlvbnMgZm9yIGlubGluZSBzdHlsZXMgZG8gbm90IGhhdmUgYSBv
d25lciBDU1NSdWxlLCB3aGljaCBtZWFucworICAgICAgICB0aGF0IHRoZXkgZG8gbm90IGhhdmUg
YSBzZWxlY3RvciBvciBtZWRpYSBsaXN0LiBDU1Mgc3RyaW5ncyBtdXN0IGhhdmUgYSBzZWxlY3Rv
cgorICAgICAgICBhbmQsIGZvciBpbmxpbmUgc3R5bGVzIHdpdGhvdXQgYW4gb3duZXIgcnVsZSBh
bmQgc2VsZWN0b3IsIHRoaXMgd2FzIGEgcHJvYmxlbS4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IG1lZGlhTGlzdCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IHNlbGVjdG9yVGV4
dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUu
Z2VuZXJhdGVDU1NSdWxlU3RyaW5nKToKKyAgICAgICAgQWRkZWQgZ2V0dGVycyBmb3IgdGhlIGxp
c3Qgb2YgbWVkaWEgcXVlcmllcyBhbmQgc2VsZWN0b3IgdGV4dCB3aXRoIGZhbGxiYWNrcworICAg
ICAgICBmb3IgQ1NTU3R5bGVEZWNsYXJhdGlvbnMgdGhhdCBkbyBub3QgaGF2ZSBhbiBvd25lciBD
U1NSdWxlIChpbmxpbmUgc3R5bGVzKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5o
dG1sOgorICAgICAgICBBZGRlZCBDU1NNZWRpYSBpbmNsdWRlIGZvciBuZXcgaW5zcGVjdG9yL2Nz
cy9nZW5lcmF0ZS1jc3MtcnVsZS1zdHJpbmcuaHRtbCB0ZXN0LgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLnByb3RvdHlwZS5faGFuZGxl
Q29udGV4dE1lbnVFdmVudCk6CisgICAgICAgIFJlbW92ZWQgcGFyYW1ldGVyIHRoYXQgbm8gbG9u
Z2VyIGV4aXN0cy4KKwogMjAxNS0wOS0yNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSYW4gc29ydC1YY29kZS1wcm9qZWN0LWZpbGUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVEZWNsYXJh
dGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NT
dHlsZURlY2xhcmF0aW9uLmpzCmluZGV4IDI4NTQzNmUwYTJhY2E0MWI2ZGU4ODA3MDY0YjkzOTVi
ODJlNGEzYWYuLmIwZWQ2NzRkZmM1ZTc1ZTI5N2MxNTAyNWNhZTFlMjdkMDIwMWUxOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NTdHls
ZURlY2xhcmF0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzCkBAIC0yMzksNiArMjM5LDIyIEBAIFdlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uID0gY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBl
eHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAgIHJldHVybiB0aGlzLl9zdHlsZVNoZWV0VGV4dFJh
bmdlOwogICAgIH0KIAorICAgIGdldCBtZWRpYUxpc3QoKQorICAgIHsKKyAgICAgICAgaWYgKHRo
aXMuX293bmVyUnVsZSkKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9vd25lclJ1bGUubWVkaWFM
aXN0OworCisgICAgICAgIHJldHVybiBbXTsKKyAgICB9CisKKyAgICBnZXQgc2VsZWN0b3JUZXh0
KCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9vd25lclJ1bGUpCisgICAgICAgICAgICByZXR1
cm4gdGhpcy5fb3duZXJSdWxlLnNlbGVjdG9yVGV4dDsKKworICAgICAgICByZXR1cm4gdGhpcy5f
bm9kZS5hcHByb3ByaWF0ZVNlbGVjdG9yRm9yKHRydWUpOworICAgIH0KKwogICAgIHByb3BlcnR5
Rm9yTmFtZShuYW1lLCBkb250Q3JlYXRlSWZNaXNzaW5nKQogICAgIHsKICAgICAgICAgY29uc29s
ZS5hc3NlcnQobmFtZSk7CkBAIC0yODgsMjAgKzMwNCwxMyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZWNsYXJhdGlvbiA9IGNsYXNzIENTU1N0eWxlRGVjbGFyYXRpb24gZXh0ZW5kcyBXZWJJbnNw
ZWN0bwogCiAgICAgZ2VuZXJhdGVDU1NSdWxlU3RyaW5nKCkKICAgICB7Ci0gICAgICAgIGlmICgh
dGhpcy5fb3duZXJSdWxlKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIGxldCBzdHls
ZVRleHQgPSAiIjsKLSAgICAgICAgbGV0IG1lZGlhUXVlcmllc0NvdW50ID0gMDsKLSAgICAgICAg
bGV0IG1lZGlhTGlzdCA9IHRoaXMuX293bmVyUnVsZS5tZWRpYUxpc3Q7Ci0gICAgICAgIGlmICht
ZWRpYUxpc3QubGVuZ3RoKSB7Ci0gICAgICAgICAgICBtZWRpYVF1ZXJpZXNDb3VudCA9IG1lZGlh
TGlzdC5sZW5ndGg7Ci0KLSAgICAgICAgICAgIGZvciAobGV0IGkgPSBtZWRpYVF1ZXJpZXNDb3Vu
dCAtIDE7IGkgPj0gMDsgLS1pKQotICAgICAgICAgICAgICAgIHN0eWxlVGV4dCArPSAiICAgICIu
cmVwZWF0KG1lZGlhUXVlcmllc0NvdW50IC0gaSAtIDEpICsgIkBtZWRpYSAiICsgbWVkaWFMaXN0
W2ldLnRleHQgKyAiIHtcbiI7Ci0gICAgICAgIH0KKyAgICAgICAgbGV0IG1lZGlhTGlzdCA9IHRo
aXMubWVkaWFMaXN0OworICAgICAgICBsZXQgbWVkaWFRdWVyaWVzQ291bnQgPSBtZWRpYUxpc3Qu
bGVuZ3RoOworICAgICAgICBmb3IgKGxldCBpID0gbWVkaWFRdWVyaWVzQ291bnQgLSAxOyBpID49
IDA7IC0taSkKKyAgICAgICAgICAgIHN0eWxlVGV4dCArPSAiICAgICIucmVwZWF0KG1lZGlhUXVl
cmllc0NvdW50IC0gaSAtIDEpICsgIkBtZWRpYSAiICsgbWVkaWFMaXN0W2ldLnRleHQgKyAiIHtc
biI7CiAKLSAgICAgICAgc3R5bGVUZXh0ICs9ICIgICAgIi5yZXBlYXQobWVkaWFRdWVyaWVzQ291
bnQpICsgdGhpcy5fb3duZXJSdWxlLnNlbGVjdG9yVGV4dCArICIge1xuIjsKKyAgICAgICAgc3R5
bGVUZXh0ICs9ICIgICAgIi5yZXBlYXQobWVkaWFRdWVyaWVzQ291bnQpICsgdGhpcy5zZWxlY3Rv
clRleHQgKyAiIHtcbiI7CiAKICAgICAgICAgZm9yIChsZXQgcHJvcGVydHkgb2YgdGhpcy5fcHJv
cGVydGllcykgewogICAgICAgICAgICAgaWYgKHByb3BlcnR5LmFub255bW91cykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbCBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbAppbmRleCBiZmM5ZDA3YmNh
NWRlNDMzZGJmNDkwYTNkZjhkYjc3OTQwNTQ4MzIwLi44N2ZjM2FjZGEyNDEyOGQ3YTg1NTdhM2Vl
ODNhMmIwMzg4OTZiOTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9UZXN0Lmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVGVzdC5odG1sCkBAIC03OSw2ICs3OSw3IEBACiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9C
cmVha3BvaW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0NvbXBs
ZXRpb25zLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU0tleXdvcmRD
b21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NNZWRp
YS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NQcm9wZXJ0eS5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NSdWxlLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0NTU1NlbGVjdG9yLmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0
eWxlU2VsZWN0b3JUcmVlSXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5qcwppbmRleCBjMGQ5MDM4NzNl
ZTkzNWU0YzVjNzBlNDU3MTM2MmI4Mzk1YmNmNjY4Li43ODMwMTc0Nzk4MTljOTZmMThjZjIxN2U2
YzkxODc0MDQ0YTc3ODg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRy
ZWVJdGVtLmpzCkBAIC0xNDQsOCArMTQ0LDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2Vs
ZWN0b3JUcmVlSXRlbSA9IGNsYXNzIFZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbSBleHQKICAg
ICAgICAgfQogCiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJDb3B5IFJ1bGUiKSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBsZXQgc2VsZWN0
b3JUZXh0ID0gIXRoaXMucmVwcmVzZW50ZWRPYmplY3Qub3duZXJSdWxlID8gdGhpcy5yZXByZXNl
bnRlZE9iamVjdC5ub2RlLmFwcHJvcHJpYXRlU2VsZWN0b3JGb3IodHJ1ZSkgOiBudWxsOwotICAg
ICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNvcHlUZXh0KHRoaXMucmVwcmVzZW50ZWRP
YmplY3QuZ2VuZXJhdGVDU1NSdWxlU3RyaW5nKHNlbGVjdG9yVGV4dCkpOworICAgICAgICAgICAg
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNvcHlUZXh0KHRoaXMucmVwcmVzZW50ZWRPYmplY3QuZ2Vu
ZXJhdGVDU1NSdWxlU3RyaW5nKCkpOwogICAgICAgICB9LmJpbmQodGhpcykpOwogCiAgICAgICAg
IGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXNldCIpLCBm
dW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBmOWE0N2IxNzk5ZjVkNTczZDRiZGNjNzUzOGY3ZWQxMjg5NjVk
NzFhLi41ZmQ1NGQ3NjZkMzQ4NzdmYjhiZjA5NWRmOTdkOGJlNDhjMWJiYTIzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTUtMTAtMDEgIERldmluIFJvdXNzbyAgPGRjcm91c3NvK3dlYmtpdEBn
bWFpbC5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29weWluZyBpbmxpbmUgc3R5bGUg
dGV4dCBwdXRzICJ1bmRlZmluZWQiIGluIHRoZSBwYXN0ZWJvYXJkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxNTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IGZvciBnZW5lcmF0aW5n
IENTUyBydWxlIHN0cmluZ3Mgd2l0aCBkZWZhdWx0IGZvcm1hdHRpbmcuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvY3NzL2dlbmVyYXRlLWNzcy1ydWxlLXN0cmluZy5odG1sOgorCiAyMDE1LTA5LTI0
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgZXZlbnQg
ZGlzcGF0Y2hpbmcgcmVzcGVjdCBzbG90dGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2Nzcy9nZW5lcmF0ZS1jc3MtcnVsZS1zdHJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZW5lcmF0ZS1jc3MtcnVsZS1zdHJpbmctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ0YzdlMDdiNjcxZjk1NDcxNzFkMWE2ZDM3MmU0YWUxOTlmYzEwZTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dlbmVyYXRlLWNzcy1y
dWxlLXN0cmluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorVGVzdGluZyB0aGF0IGdl
bmVyYXRlZCBDU1MgcnVsZSBzdHJpbmdzIGhhdmUgcHJvcGVyIGZvcm1hdHRpbmcuCisKKyN0ZXN0
LW5vZGUgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKworQG1lZGlhIG9ubHkgc2Ny
ZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHsKKyAgICBib2R5ID4gZGl2IHsKKyAgICAgICAgZGlz
cGxheTogYmxvY2s7CisgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICB0ZXh0LWFsaWduOiBj
ZW50ZXI7CisgICAgfQorfQorCisqIHsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZzogMDsK
K30KKworYWRkcmVzcywgYXJ0aWNsZSwgYXNpZGUsIGRpdiwgZm9vdGVyLCBoZWFkZXIsIGhncm91
cCwgbGF5ZXIsIG1haW4sIG5hdiwgc2VjdGlvbiB7Cit9CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jc3MvZ2VuZXJhdGUtY3NzLXJ1bGUtc3RyaW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvY3NzL2dlbmVyYXRlLWNzcy1ydWxlLXN0cmluZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxZDM0N2NjNmFlOGVlOWZjMTllOGVkYmFjYWNiOWZkYTYyMDlkOTgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY3NzL2dlbmVyYXRlLWNzcy1ydWxlLXN0cmlu
Zy5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzdHlsZT4KKyogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KKworQG1lZGlhIG9ubHkgc2Ny
ZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHsKKyAgICBib2R5ID4gZGl2IHsKKyAgICAgICAgZGlz
cGxheTogYmxvY2s7CisgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICB0ZXh0LWFsaWduOiBj
ZW50ZXI7CisgICAgfQorfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBsZXQgbm9k
ZVN0eWxlczsKKworICAgIGZ1bmN0aW9uIHZhbGlkYXRlU2VsZWN0b3JzKCkKKyAgICB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCIiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cobm9k
ZVN0eWxlcy5pbmxpbmVTdHlsZS5nZW5lcmF0ZUNTU1J1bGVTdHJpbmcoKSk7CisKKyAgICAgICAg
Zm9yIChsZXQgcnVsZSBvZiBub2RlU3R5bGVzLm1hdGNoZWRSdWxlcykgeworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cocnVs
ZS5zdHlsZS5nZW5lcmF0ZUNTU1J1bGVTdHJpbmcoKSk7CisgICAgICAgIH0KKworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uU3R5
bGVzUmVmcmVzaGVkKCkKKyAgICB7CisgICAgICAgIG5vZGVTdHlsZXMucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcy5FdmVudC5SZWZyZXNoZWQsIG9uU3R5bGVz
UmVmcmVzaGVkLCB0aGlzKTsKKyAgICAgICAgdmFsaWRhdGVTZWxlY3RvcnMoKTsKKyAgICB9CisK
KyAgICBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIucmVxdWVzdERvY3VtZW50KGZ1bmN0aW9u
KGRvY3VtZW50Tm9kZSkgeworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIucXVl
cnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsICIjdGVzdC1ub2RlIiwgZnVuY3Rpb24oY29udGVu
dE5vZGVJZCkgeworICAgICAgICAgICAgaWYgKGNvbnRlbnROb2RlSWQpIHsKKyAgICAgICAgICAg
ICAgICBsZXQgZG9tTm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQo
Y29udGVudE5vZGVJZCk7CisgICAgICAgICAgICAgICAgbm9kZVN0eWxlcyA9IFdlYkluc3BlY3Rv
ci5jc3NTdHlsZU1hbmFnZXIuc3R5bGVzRm9yTm9kZShkb21Ob2RlKTsKKworICAgICAgICAgICAg
ICAgIGlmIChub2RlU3R5bGVzLm5lZWRzUmVmcmVzaCkKKyAgICAgICAgICAgICAgICAgICAgbm9k
ZVN0eWxlcy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01Ob2RlU3R5bGVzLkV2ZW50
LlJlZnJlc2hlZCwgb25TdHlsZXNSZWZyZXNoZWQsIHRoaXMpOworICAgICAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVTZWxlY3RvcnMoKTsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRPTSBub2RlIG5v
dCBmb3VuZC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICB9KTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxwPlRlc3RpbmcgdGhhdCBnZW5l
cmF0ZWQgQ1NTIHJ1bGUgc3RyaW5ncyBoYXZlIHByb3BlciBmb3JtYXR0aW5nLjwvcD4KKworICAg
IDxkaXYgaWQ9InRlc3Qtbm9kZSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJlZDsiPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262317</attachid>
            <date>2015-10-01 23:12:57 -0700</date>
            <delta_ts>2015-10-02 15:33:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149155-20151001231231.patch</filename>
            <type>text/plain</type>
            <size>10546</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDMxZjQ0NzUwMzAyYWY3NGVhNmE3MmYwNmUyNjI3
ZGExZWJhNzdhYjMuLjMyOGFhYmNiZmZmNjExMDBhN2JkNzE5ZWI3OWUxYWZjYzFmZWUyZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTEwLTAxICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IENvcHlpbmcgaW5saW5lIHN0eWxlIHRleHQgcHV0cyAidW5kZWZpbmVkIiBpbiB0aGUg
cGFzdGVib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ5MTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ1NTU3R5bGVEZWNsYXJhdGlvbnMgZm9yIGlubGluZSBzdHlsZXMgZG8gbm90IGhhdmUgYSBv
d25lciBDU1NSdWxlLCB3aGljaCBtZWFucworICAgICAgICB0aGF0IHRoZXkgZG8gbm90IGhhdmUg
YSBzZWxlY3RvciBvciBtZWRpYSBsaXN0LiBDU1Mgc3RyaW5ncyBtdXN0IGhhdmUgYSBzZWxlY3Rv
cgorICAgICAgICBhbmQsIGZvciBpbmxpbmUgc3R5bGVzIHdpdGhvdXQgYW4gb3duZXIgcnVsZSBh
bmQgc2VsZWN0b3IsIHRoaXMgd2FzIGEgcHJvYmxlbS4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvTW9kZWxzL0NTU1N0eWxlRGVjbGFyYXRpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IG1lZGlhTGlzdCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUuZ2V0IHNlbGVjdG9yVGV4
dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5wcm90b3R5cGUu
Z2VuZXJhdGVDU1NSdWxlU3RyaW5nKToKKyAgICAgICAgQWRkZWQgZ2V0dGVycyBmb3IgdGhlIGxp
c3Qgb2YgbWVkaWEgcXVlcmllcyBhbmQgc2VsZWN0b3IgdGV4dCB3aXRoIGZhbGxiYWNrcworICAg
ICAgICBmb3IgQ1NTU3R5bGVEZWNsYXJhdGlvbnMgdGhhdCBkbyBub3QgaGF2ZSBhbiBvd25lciBD
U1NSdWxlIChpbmxpbmUgc3R5bGVzKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5o
dG1sOgorICAgICAgICBBZGRlZCBDU1NNZWRpYSBpbmNsdWRlIGZvciBuZXcgaW5zcGVjdG9yL2Nz
cy9nZW5lcmF0ZS1jc3MtcnVsZS1zdHJpbmcuaHRtbCB0ZXN0LgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLnByb3RvdHlwZS5faGFuZGxl
Q29udGV4dE1lbnVFdmVudCk6CisgICAgICAgIFJlbW92ZWQgcGFyYW1ldGVyIHRoYXQgbm8gbG9u
Z2VyIGV4aXN0cy4KKwogMjAxNS0wOS0yNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSYW4gc29ydC1YY29kZS1wcm9qZWN0LWZpbGUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVEZWNsYXJh
dGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NT
dHlsZURlY2xhcmF0aW9uLmpzCmluZGV4IDI4NTQzNmUwYTJhY2E0MWI2ZGU4ODA3MDY0YjkzOTVi
ODJlNGEzYWYuLjZkZjcxMjk4MDcyMTVkMzQyMGIzNzI0YjRlZWE5ZTRjN2UyMWMwNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NTdHls
ZURlY2xhcmF0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9DU1NTdHlsZURlY2xhcmF0aW9uLmpzCkBAIC0yMzksNiArMjM5LDIwIEBAIFdlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uID0gY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBl
eHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAgIHJldHVybiB0aGlzLl9zdHlsZVNoZWV0VGV4dFJh
bmdlOwogICAgIH0KIAorICAgIGdldCBtZWRpYUxpc3QoKQorICAgIHsKKyAgICAgICAgaWYgKHRo
aXMuX293bmVyUnVsZSkKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9vd25lclJ1bGUubWVkaWFM
aXN0OworICAgICAgICByZXR1cm4gW107CisgICAgfQorCisgICAgZ2V0IHNlbGVjdG9yVGV4dCgp
CisgICAgeworICAgICAgICBpZiAodGhpcy5fb3duZXJSdWxlKQorICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX293bmVyUnVsZS5zZWxlY3RvclRleHQ7CisgICAgICAgIHJldHVybiB0aGlzLl9ub2Rl
LmFwcHJvcHJpYXRlU2VsZWN0b3JGb3IodHJ1ZSk7CisgICAgfQorCiAgICAgcHJvcGVydHlGb3JO
YW1lKG5hbWUsIGRvbnRDcmVhdGVJZk1pc3NpbmcpCiAgICAgewogICAgICAgICBjb25zb2xlLmFz
c2VydChuYW1lKTsKQEAgLTI4OCwyNiArMzAyLDIxIEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURl
Y2xhcmF0aW9uID0gY2xhc3MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBleHRlbmRzIFdlYkluc3BlY3Rv
CiAKICAgICBnZW5lcmF0ZUNTU1J1bGVTdHJpbmcoKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlz
Ll9vd25lclJ1bGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KKyAgICAgICAgLy8gRklYTUU6IDxy
ZGFyOi8vcHJvYmxlbS8xMDU5Mzk0OD4gUHJvdmlkZSBhIHdheSB0byBjaGFuZ2UgdGhlIHRhYiB3
aWR0aCBpbiB0aGUgV2ViIEluc3BlY3RvcgorICAgICAgICBjb25zdCBpbmRlbnRhdGlvbiA9ICIg
ICAgIjsKICAgICAgICAgbGV0IHN0eWxlVGV4dCA9ICIiOwotICAgICAgICBsZXQgbWVkaWFRdWVy
aWVzQ291bnQgPSAwOwotICAgICAgICBsZXQgbWVkaWFMaXN0ID0gdGhpcy5fb3duZXJSdWxlLm1l
ZGlhTGlzdDsKLSAgICAgICAgaWYgKG1lZGlhTGlzdC5sZW5ndGgpIHsKLSAgICAgICAgICAgIG1l
ZGlhUXVlcmllc0NvdW50ID0gbWVkaWFMaXN0Lmxlbmd0aDsKLQotICAgICAgICAgICAgZm9yIChs
ZXQgaSA9IG1lZGlhUXVlcmllc0NvdW50IC0gMTsgaSA+PSAwOyAtLWkpCi0gICAgICAgICAgICAg
ICAgc3R5bGVUZXh0ICs9ICIgICAgIi5yZXBlYXQobWVkaWFRdWVyaWVzQ291bnQgLSBpIC0gMSkg
KyAiQG1lZGlhICIgKyBtZWRpYUxpc3RbaV0udGV4dCArICIge1xuIjsKLSAgICAgICAgfQorICAg
ICAgICBsZXQgbWVkaWFMaXN0ID0gdGhpcy5tZWRpYUxpc3Q7CisgICAgICAgIGxldCBtZWRpYVF1
ZXJpZXNDb3VudCA9IG1lZGlhTGlzdC5sZW5ndGg7CisgICAgICAgIGZvciAobGV0IGkgPSBtZWRp
YVF1ZXJpZXNDb3VudCAtIDE7IGkgPj0gMDsgLS1pKQorICAgICAgICAgICAgc3R5bGVUZXh0ICs9
IGluZGVudGF0aW9uLnJlcGVhdChtZWRpYVF1ZXJpZXNDb3VudCAtIGkgLSAxKSArICJAbWVkaWEg
IiArIG1lZGlhTGlzdFtpXS50ZXh0ICsgIiB7XG4iOwogCi0gICAgICAgIHN0eWxlVGV4dCArPSAi
ICAgICIucmVwZWF0KG1lZGlhUXVlcmllc0NvdW50KSArIHRoaXMuX293bmVyUnVsZS5zZWxlY3Rv
clRleHQgKyAiIHtcbiI7CisgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRhdGlvbi5yZXBlYXQo
bWVkaWFRdWVyaWVzQ291bnQpICsgdGhpcy5zZWxlY3RvclRleHQgKyAiIHtcbiI7CiAKICAgICAg
ICAgZm9yIChsZXQgcHJvcGVydHkgb2YgdGhpcy5fcHJvcGVydGllcykgewogICAgICAgICAgICAg
aWYgKHByb3BlcnR5LmFub255bW91cykKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICAgICAgc3R5bGVUZXh0ICs9ICIgICAgIi5yZXBlYXQobWVkaWFRdWVyaWVzQ291bnQgKyAx
KSArIHByb3BlcnR5LnRleHQudHJpbSgpOworICAgICAgICAgICAgc3R5bGVUZXh0ICs9IGluZGVu
dGF0aW9uLnJlcGVhdChtZWRpYVF1ZXJpZXNDb3VudCArIDEpICsgcHJvcGVydHkudGV4dC50cmlt
KCk7CiAKICAgICAgICAgICAgIGlmICghc3R5bGVUZXh0LmVuZHNXaXRoKCI7IikpCiAgICAgICAg
ICAgICAgICAgc3R5bGVUZXh0ICs9ICI7IjsKQEAgLTMxNiw3ICszMjUsNyBAQCBXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IGNsYXNzIENTU1N0eWxlRGVjbGFyYXRpb24gZXh0ZW5k
cyBXZWJJbnNwZWN0bwogICAgICAgICB9CiAKICAgICAgICAgZm9yIChsZXQgaSA9IG1lZGlhUXVl
cmllc0NvdW50OyBpID4gMDsgLS1pKQotICAgICAgICAgICAgc3R5bGVUZXh0ICs9ICIgICAgIi5y
ZXBlYXQoaSkgKyAifVxuIjsKKyAgICAgICAgICAgIHN0eWxlVGV4dCArPSBpbmRlbnRhdGlvbi5y
ZXBlYXQoaSkgKyAifVxuIjsKIAogICAgICAgICBzdHlsZVRleHQgKz0gIn0iOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXggYmZjOWQwN2Jj
YTVkZTQzM2RiZjQ5MGEzZGY4ZGI3Nzk0MDU0ODMyMC4uODdmYzNhY2RhMjQxMjhkN2E4NTU3YTNl
ZTgzYTJiMDM4ODk2YjkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1Rlc3QuaHRtbApAQCAtNzksNiArNzksNyBAQAogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMv
QnJlYWtwb2ludC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NDb21w
bGV0aW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NLZXl3b3Jk
Q29tcGxldGlvbnMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTTWVk
aWEuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTUHJvcGVydHkuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJNb2RlbHMvQ1NTUnVsZS5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9DU1NTZWxlY3Rvci5qcyI+PC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxT
dHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMKaW5kZXggYzBkOTAzODcz
ZWU5MzVlNGM1YzcwZTQ1NzEzNjJiODM5NWJjZjY2OC4uNzgzMDE3NDc5ODE5Yzk2ZjE4Y2YyMTdl
NmM5MTg3NDA0NGE3Nzg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JU
cmVlSXRlbS5qcwpAQCAtMTQ0LDggKzE0NCw3IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNl
bGVjdG9yVHJlZUl0ZW0gPSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0gZXh0CiAg
ICAgICAgIH0KIAogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQ29weSBSdWxlIiksIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbGV0IHNlbGVj
dG9yVGV4dCA9ICF0aGlzLnJlcHJlc2VudGVkT2JqZWN0Lm93bmVyUnVsZSA/IHRoaXMucmVwcmVz
ZW50ZWRPYmplY3Qubm9kZS5hcHByb3ByaWF0ZVNlbGVjdG9yRm9yKHRydWUpIDogbnVsbDsKLSAg
ICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLnJlcHJlc2VudGVk
T2JqZWN0LmdlbmVyYXRlQ1NTUnVsZVN0cmluZyhzZWxlY3RvclRleHQpKTsKKyAgICAgICAgICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLnJlcHJlc2VudGVkT2JqZWN0Lmdl
bmVyYXRlQ1NTUnVsZVN0cmluZygpKTsKICAgICAgICAgfS5iaW5kKHRoaXMpKTsKIAogICAgICAg
ICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVzZXQiKSwg
ZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjlhNDdiMTc5OWY1ZDU3M2Q0YmRjYzc1MzhmN2VkMTI4OTY1
ZDcxYS4uNWZkNTRkNzY2ZDM0ODc3ZmI4YmYwOTVkZjk3ZDhiZTQ4YzFiYmEyMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE1LTEwLTAxICBEZXZpbiBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRA
Z21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvcHlpbmcgaW5saW5lIHN0eWxl
IHRleHQgcHV0cyAidW5kZWZpbmVkIiBpbiB0aGUgcGFzdGVib2FyZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCBmb3IgZ2VuZXJhdGlu
ZyBDU1MgcnVsZSBzdHJpbmdzIHdpdGggZGVmYXVsdCBmb3JtYXR0aW5nLgorCisgICAgICAgICog
aW5zcGVjdG9yL2Nzcy9nZW5lcmF0ZS1jc3MtcnVsZS1zdHJpbmcuaHRtbDoKKwogMjAxNS0wOS0y
NCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIGV2ZW50
IGRpc3BhdGNoaW5nIHJlc3BlY3Qgc2xvdHRpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jc3MvZ2VuZXJhdGUtY3NzLXJ1bGUtc3RyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2VuZXJhdGUtY3NzLXJ1bGUtc3RyaW5nLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYWU4NWVhZTQzZDYzNDQwMjJlMThkN2U4NzFkZjc2MWMwYzRlOTY3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZW5lcmF0ZS1jc3Mt
cnVsZS1zdHJpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK1Rlc3RpbmcgdGhhdCBn
ZW5lcmF0ZWQgQ1NTIHJ1bGUgc3RyaW5ncyBoYXZlIHByb3BlciBmb3JtYXR0aW5nLgorCis9PSBS
dW5uaW5nIHRlc3Qgc3VpdGU6IENTUy5nZW5lcmF0ZUNTU1J1bGVTdHJpbmcKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBJbmxpbmVTdHlsZVN0cmluZworI3Rlc3Qtbm9kZSB7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogcmVkOworfQorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ1NTUnVsZVN0cmluZzAK
K0BtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7CisgICAgYm9keSA+IGRp
diB7CisgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAg
ICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIH0KK30KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6
IENTU1J1bGVTdHJpbmcxCisqIHsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZzogMDsKK30K
KworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENTU1J1bGVTdHJpbmcyCithZGRyZXNzLCBhcnRpY2xl
LCBhc2lkZSwgZGl2LCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBsYXllciwgbWFpbiwgbmF2LCBz
ZWN0aW9uIHsKK30KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nzcy9nZW5l
cmF0ZS1jc3MtcnVsZS1zdHJpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jc3MvZ2Vu
ZXJhdGUtY3NzLXJ1bGUtc3RyaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjcyYTAxZDA0NmM0MDQ4M2Vl
MTAxOTdhNmQ3ZWRhMjU2NjNiMWY4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jc3MvZ2VuZXJhdGUtY3NzLXJ1bGUtc3RyaW5nLmh0bWwKQEAgLTAsMCArMSw3MCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorKiB7IG1hcmdpbjog
MDsgcGFkZGluZzogMDsgfQorCitAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBw
eCkgeworICAgIGJvZHkgPiBkaXYgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAg
d2lkdGg6IDEwMCU7CisgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICB9Cit9Cis8L3N0
eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGxldCBub2RlU3R5bGVzOworICAgIGxldCBzdWl0
ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiQ1NTLmdlbmVyYXRlQ1NTUnVsZVN0
cmluZyIpOworCisgICAgZnVuY3Rpb24gdmFsaWRhdGVTZWxlY3RvcnMoKQorICAgIHsKKyAgICAg
ICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICAgICAgbmFtZTogIklubGluZVN0eWxlU3Ry
aW5nIiwKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhlIGZvcm1hdHRpbmcgb2Yg
dGhlIGdlbmVyYXRlZCBpbmxpbmUgc3R5bGUgc3RyaW5nLiIsCisgICAgICAgICAgICB0ZXN0OiAo
cmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
bm9kZVN0eWxlcy5pbmxpbmVTdHlsZS5nZW5lcmF0ZUNTU1J1bGVTdHJpbmcoKSk7CisgICAgICAg
ICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfQorICAgICAgICB9KTsKKworICAgICAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVTdHlsZXMubWF0Y2hlZFJ1bGVzLmxlbmd0aDsgKytp
KSB7CisgICAgICAgICAgICBsZXQgcnVsZSA9IG5vZGVTdHlsZXMubWF0Y2hlZFJ1bGVzW2ldOwor
ICAgICAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICAgICAgICAgIG5hbWU6ICJD
U1NSdWxlU3RyaW5nIiArIGksCisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0
aGUgZm9ybWF0dGluZyBvZiB0aGUgZ2VuZXJhdGVkIHN0cmluZyBmb3IgdGhlIG1hdGNoZWQgQ1NT
IHJ1bGUuIiwKKyAgICAgICAgICAgICAgICB0ZXN0OiAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Cisg
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKHJ1bGUuc3R5bGUuZ2VuZXJhdGVD
U1NSdWxlU3RyaW5nKCkpOworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBzdWl0ZS5y
dW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKKyAgICB9CisKKyAgICBXZWJJbnNwZWN0b3IuZG9tVHJl
ZU1hbmFnZXIucmVxdWVzdERvY3VtZW50KGZ1bmN0aW9uKGRvY3VtZW50Tm9kZSkgeworICAgICAg
ICBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUu
aWQsICIjdGVzdC1ub2RlIiwgZnVuY3Rpb24oY29udGVudE5vZGVJZCkgeworICAgICAgICAgICAg
aWYgKGNvbnRlbnROb2RlSWQpIHsKKyAgICAgICAgICAgICAgICBsZXQgZG9tTm9kZSA9IFdlYklu
c3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQoY29udGVudE5vZGVJZCk7CisgICAgICAg
ICAgICAgICAgbm9kZVN0eWxlcyA9IFdlYkluc3BlY3Rvci5jc3NTdHlsZU1hbmFnZXIuc3R5bGVz
Rm9yTm9kZShkb21Ob2RlKTsKKyAgICAgICAgICAgICAgICBpZiAobm9kZVN0eWxlcy5uZWVkc1Jl
ZnJlc2gpCisgICAgICAgICAgICAgICAgICAgIG5vZGVTdHlsZXMuc2luZ2xlRmlyZUV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMuRXZlbnQuUmVmcmVzaGVkLCB2YWxpZGF0
ZVNlbGVjdG9ycywgdGhpcyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICB2YWxpZGF0ZVNlbGVjdG9ycygpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiRE9NIG5vZGUgbm90IGZvdW5kLiIpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0pOworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdGluZyB0aGF0IGdlbmVyYXRlZCBDU1MgcnVsZSBzdHJp
bmdzIGhhdmUgcHJvcGVyIGZvcm1hdHRpbmcuPC9wPgorCisgICAgPGRpdiBpZD0idGVzdC1ub2Rl
IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmVkOyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>