<?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>159581</bug_id>
          
          <creation_ts>2016-07-08 13:53:50 -0700</creation_ts>
          <short_desc>Stop supporting compressed character sets BOCU-1 and SCSU</short_desc>
          <delta_ts>2016-07-26 10:38:52 -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>Text</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=159651</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=125219</see_also>
          <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="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1209263</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-08 13:53:50 -0700</bug_when>
    <thetext>WebKit still supports the compressed character sets BOCU-1 and SCSU whereas Chrome and Firefox don&apos;t. These old formats may pass server-side character filters while still rendering in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209274</commentid>
    <comment_count>1</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-08 14:55:34 -0700</bug_when>
    <thetext>We shouldn&apos;t remove support for this without knowing the impact of which/how many sites will break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209318</commentid>
    <comment_count>2</comment_count>
      <attachid>283218</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-08 16:36:59 -0700</bug_when>
    <thetext>Created attachment 283218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209324</commentid>
    <comment_count>3</comment_count>
      <attachid>283218</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-08 16:40:37 -0700</bug_when>
    <thetext>Comment on attachment 283218
Patch

webkit-patch complained about the characters in one of the test file&apos;s names and so I changed it but didn&apos;t add it back in. New patch coming up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209325</commentid>
    <comment_count>4</comment_count>
      <attachid>283221</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-08 16:42:12 -0700</bug_when>
    <thetext>Created attachment 283221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209326</commentid>
    <comment_count>5</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-08 16:44:49 -0700</bug_when>
    <thetext>Subversion decided to fiddle with the test file. I might have to pull it down in whatever format it is and see that it tests the right thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209346</commentid>
    <comment_count>6</comment_count>
      <attachid>283221</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-08 17:15:35 -0700</bug_when>
    <thetext>Comment on attachment 283221
Patch

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

&gt; LayoutTests/ChangeLog:17
&gt; +        * http/tests/misc/resources/scsu-moscow.html: Added.

A binary file wouldn&apos;t be scanned for a &lt;meta&gt;. Do you need the charset to be defined by HTTP Content-Type for this test?

&gt; LayoutTests/http/tests/misc/resources/bocu-1.html:7
&gt; +%8C%C3%B3%C2%B9%C0%C4%8E%B1%BC%B5%C2%C4x%81y%8C%7F%C3%B3%C2%B9%C0%C4%8E

When I open this file in shipping Safari, I get some garbage text. What is it expected to be?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209664</commentid>
    <comment_count>7</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-11 08:51:23 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 283221 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=283221&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:17
&gt; &gt; +        * http/tests/misc/resources/scsu-moscow.html: Added.
&gt; 
&gt; A binary file wouldn&apos;t be scanned for a &lt;meta&gt;. Do you need the charset to
&gt; be defined by HTTP Content-Type for this test?
&gt; 
&gt; &gt; LayoutTests/http/tests/misc/resources/bocu-1.html:7
&gt; &gt; +%8C%C3%B3%C2%B9%C0%C4%8E%B1%BC%B5%C2%C4x%81y%8C%7F%C3%B3%C2%B9%C0%C4%8E
&gt; 
&gt; When I open this file in shipping Safari, I get some garbage text. What is
&gt; it expected to be?

It was an attempt to use a PoC string for BOCU-1 but I decided to not spend more time on it. Without support for BOCU-1 you will see the actual characters (%8C…).

But you are right, either both test cases should show something readable if the charsets *are* supported or if they are *not* supported. Not a mix as it is now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209667</commentid>
    <comment_count>8</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-11 08:56:32 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 283221 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=283221&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:17
&gt; &gt; +        * http/tests/misc/resources/scsu-moscow.html: Added.
&gt; 
&gt; A binary file wouldn&apos;t be scanned for a &lt;meta&gt;. Do you need the charset to
&gt; be defined by HTTP Content-Type for this test?

Sorry, should reply to this too. It might be that I have to set the charset to something to get it to pick up the meta charset. That is the behavior I saw – a HTTP Content-Type &quot;text/html; charset=bogus&quot; plus a &lt;meta charset=SCSU&gt;. I will switch to a PHP test case and do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209668</commentid>
    <comment_count>9</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-11 09:00:50 -0700</bug_when>
    <thetext>I will add a reference to the HTML spec in the new patch. It explicitly says we should not support BOCU-1 nor SCSU:

&quot;The above prohibits supporting, for example, CESU-8, UTF-7, BOCU-1, SCSU, EBCDIC, and UTF-32.&quot;
https://html.spec.whatwg.org/#character-encodings

We support a bunch of EBCDIC charsets, CESU-8, and UTF-32 too. Either we open a new bug for those or bundle into this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209686</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-11 09:55:11 -0700</bug_when>
    <thetext>Better to do multiple patches - it&apos;s easier to find site compatibility regression culprits when changes aren&apos;t bundled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209802</commentid>
    <comment_count>11</comment_count>
      <attachid>283341</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-11 14:12:41 -0700</bug_when>
    <thetext>Created attachment 283341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209850</commentid>
    <comment_count>12</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-11 16:00:31 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Better to do multiple patches - it&apos;s easier to find site compatibility
&gt; regression culprits when changes aren&apos;t bundled.

Filed https://bugs.webkit.org/show_bug.cgi?id=159651.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214377</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-25 16:26:49 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; We shouldn&apos;t remove support for this without knowing the impact of which/how
&gt; many sites will break.

Given that:
(1) Chrome and Firefox already block these characters sets
(2) The HTML spec explicitly prohibits these character sets

... why are we concerned there is a compatibility issue here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214379</commentid>
    <comment_count>14</comment_count>
      <attachid>283341</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-25 16:29:08 -0700</bug_when>
    <thetext>Comment on attachment 283341
Patch

r=me. Do you plan on adding the other &quot;forbidden&quot; character sets in a future patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214399</commentid>
    <comment_count>15</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2016-07-25 16:58:42 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Comment on attachment 283341 [details]
&gt; Patch
&gt; 
&gt; r=me. Do you plan on adding the other &quot;forbidden&quot; character sets in a future
&gt; patch?

Yes, https://bugs.webkit.org/show_bug.cgi?id=159651.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214424</commentid>
    <comment_count>16</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-25 17:54:04 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #1)
&gt; &gt; We shouldn&apos;t remove support for this without knowing the impact of which/how
&gt; &gt; many sites will break.
&gt; 
&gt; Given that:
&gt; (1) Chrome and Firefox already block these characters sets

Historically, this has been an imperfect signal for these kinds of decisions. I know at least one case where we refuse to break sites which all the other browsers break.

&gt; (2) The HTML spec explicitly prohibits these character sets

The spec is a poor signal for compatibility.

&gt; 
&gt; ... why are we concerned there is a compatibility issue here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214443</commentid>
    <comment_count>17</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-25 19:48:16 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #13)
&gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; We shouldn&apos;t remove support for this without knowing the impact of which/how
&gt; &gt; &gt; many sites will break.
&gt; &gt; 
&gt; &gt; Given that:
&gt; &gt; (1) Chrome and Firefox already block these characters sets
&gt; 
&gt; Historically, this has been an imperfect signal for these kinds of
&gt; decisions. I know at least one case where we refuse to break sites which all
&gt; the other

Can you identify any websites that require these character sets? Who would we break with this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214452</commentid>
    <comment_count>18</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-25 21:59:13 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #13)
&gt; &gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; &gt; We shouldn&apos;t remove support for this without knowing the impact of which/how
&gt; &gt; &gt; &gt; many sites will break.
&gt; &gt; &gt; 
&gt; &gt; &gt; Given that:
&gt; &gt; &gt; (1) Chrome and Firefox already block these characters sets
&gt; &gt; 
&gt; &gt; Historically, this has been an imperfect signal for these kinds of
&gt; &gt; decisions. I know at least one case where we refuse to break sites which all
&gt; &gt; the other
&gt; 
&gt; Can you identify any websites that require these character sets? Who would
&gt; we break with this change?

This is exactly the question I asked way above (in the second comment).

The burden of proof should be on the one removing functionality, not the other way around.

It seems to me we shouldn&apos;t remove functionality if we have no idea what will break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214453</commentid>
    <comment_count>19</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-25 22:03:39 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (In reply to comment #16)
&gt; &gt; &gt; (In reply to comment #13)
&gt; &gt; &gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; &gt; &gt; We shouldn&apos;t remove support for this without knowing the impact of which/how
&gt; &gt; &gt; &gt; &gt; many sites will break.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Given that:
&gt; &gt; &gt; &gt; (1) Chrome and Firefox already block these characters sets
&gt; &gt; &gt; 
&gt; &gt; &gt; Historically, this has been an imperfect signal for these kinds of
&gt; &gt; &gt; decisions. I know at least one case where we refuse to break sites which all
&gt; &gt; &gt; the other
&gt; &gt; 
&gt; &gt; Can you identify any websites that require these character sets? Who would
&gt; &gt; we break with this change?
&gt; 
&gt; This is exactly the question I asked way above (in the second comment).
&gt; 
&gt; The burden of proof should be on the one removing functionality, not the
&gt; other way around.
&gt; 
&gt; It seems to me we shouldn&apos;t remove functionality if we have no idea what
&gt; will break.

I should probably clarify this:
Removing functionality might have a very serious impact, or maybe none at all. Improving security will have a valuable benefit. Without knowing more information, it seems difficult to perform the calculus of whether or not this change should be committed.

I&apos;m not against the change - I am definitely pro-security! I just hesitate when we are considering willingly breaking an unknown number of websites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214468</commentid>
    <comment_count>20</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-25 23:28:37 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; 
&gt; I&apos;m not against the change - I am definitely pro-security! I just hesitate
&gt; when we are considering willingly breaking an unknown number of websites.

The problem here is that we could imagine any number of changes that could possibly break a website. We need to weigh the security benefits against the risk of causing harm.

As I see it, we have a change that:
1. Closes a known security hole.
2. Brings us into compatibility with how the other major browsers work.
3. Brings us into agreement with the specification.

Those seem like three significant reasons to make this change.

On the other side, we have the hypothetical risk of breaking websites that rely on these disallowed character sets. As far as I know, we are unaware of any such sites existing, nor is there compelling reason that someone would choose to implement a site relying on them.

I also do not see a way to know whether websites will break with this change, since there is no catalog of websites using particular character sets. I think the right choice here is to land the change, and let users of Safari Technology Preview or the Gtk-based browsers report any problems they encounter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214475</commentid>
    <comment_count>21</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-26 00:32:16 -0700</bug_when>
    <thetext>&gt; I also do not see a way to know whether websites will break with this
&gt; change

We need a way to know the ramifications of our changes without breaking the product for our users.

If such a mechanism does not exist right now, then all we can do is commit and cross our fingers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214569</commentid>
    <comment_count>22</comment_count>
      <attachid>283341</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-26 09:58:35 -0700</bug_when>
    <thetext>Comment on attachment 283341
Patch

Clearing flags on attachment: 283341

Committed r203725: &lt;http://trac.webkit.org/changeset/203725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214570</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-26 09:58:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214582</commentid>
    <comment_count>24</comment_count>
      <attachid>283341</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-26 10:38:52 -0700</bug_when>
    <thetext>Comment on attachment 283341
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        The HTML specification says &quot;The above prohibits supporting, for example,
&gt; +        CESU-8, UTF-7, BOCU-1, SCSU, EBCDIC, and UTF-32.&quot;

Could we please add tests that cover these other examples of prohibited character encodings, even the ones that are not explicitly included in the list? Maybe we could find a way to write a single test that iterates a list of encoding names and checks that each is not supported; then we can add names for all sorts of character sets that we should not support.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283218</attachid>
            <date>2016-07-08 16:36:59 -0700</date>
            <delta_ts>2016-07-08 16:40:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159581-20160708163623.patch</filename>
            <type>text/plain</type>
            <size>7108</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzAwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA3LTA4ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3Agc3VwcG9ydGluZyBj
b21wcmVzc2VkIGNoYXJhY3RlciBzZXRzIEJPQ1UtMSBhbmQgU0NTVQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTgxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBub3Qgc3VwcG9y
dCB0aGUgY29tcHJlc3NlZCBjaGFyYWN0ZXIgc2V0cyBCT0NVLTEgYW5kIFNDU1UuCisgICAgICAg
IENocm9tZSBhbmQgRmlyZWZveCBkb24ndCBhbmQgdGhlc2Ugb2xkIGZvcm1hdHMgbWF5IHBhc3Mg
c2VydmVyLXNpZGUgY2hhcmFjdGVyCisgICAgICAgIGZpbHRlcnMgd2hpbGUgc3RpbGwgcmVuZGVy
aW5nIGluIFdlYktpdC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9taXNjL2NoYXItZW5j
b2RpbmctYm9jdS0xLWJsYWNrbGlzdGVkLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
bWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQuaHRtbAorCisgICAgICAgICogcGxh
dGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHA6CisgICAgICAgICAgICBCbGFja2xp
c3RlZCBCT0NVLTEgYW5kIFNDU1UgY2hhcmFjdGVyIHNldHMuCisKIDIwMTYtMDctMDggIEplcmVt
eSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIFByZXZlbnQgZnVsbHNjcmVl
biB2aWRlbyBkaW1lbnNpb24gc3RhdGUgZnJvbSBiZWluZyByZXNldCBhZnRlciBjb25maWd1cmlu
Zy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0
cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVu
Y29kaW5nUmVnaXN0cnkuY3BwCShyZXZpc2lvbiAyMDI5MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTE2LDcgKzExNiw3IEBAIHN0YXRpYyBib29sIGRpZEV4dGVuZFRleHRDb2RlY01hcHM7CiBzdGF0
aWMgSGFzaFNldDxjb25zdCBjaGFyKj4qIGphcGFuZXNlRW5jb2RpbmdzOwogc3RhdGljIEhhc2hT
ZXQ8Y29uc3QgY2hhcio+KiBub25CYWNrc2xhc2hFbmNvZGluZ3M7CiAKLXN0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCB0ZXh0RW5jb2RpbmdOYW1lQmxhY2tsaXN0W10gPSB7ICJVVEYtNyIgfTsKK3N0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCB0ZXh0RW5jb2RpbmdOYW1lQmxhY2tsaXN0W10gPSB7ICJV
VEYtNyIsICJCT0NVLTEiLCAiU0NTVSIgfTsKIAogI2lmIEVSUk9SX0RJU0FCTEVECiAKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDIwMjkzNikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA3LTA4ICBKb2huIFdpbGFuZGVyICA8d2lsYW5k
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3Agc3VwcG9ydGluZyBjb21wcmVzc2VkIGNoYXJh
Y3RlciBzZXRzIEJPQ1UtMSBhbmQgU0NTVQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBub3Qgc3VwcG9ydCB0aGUgY29tcHJlc3Nl
ZCBjaGFyYWN0ZXIgc2V0cyBCT0NVLTEgYW5kIFNDU1UuCisgICAgICAgIENocm9tZSBhbmQgRmly
ZWZveCBkb24ndCBhbmQgdGhlc2Ugb2xkIGZvcm1hdHMgbWF5IHBhc3Mgc2VydmVyLXNpZGUgY2hh
cmFjdGVyCisgICAgICAgIGZpbHRlcnMgd2hpbGUgc3RpbGwgcmVuZGVyaW5nIGluIFdlYktpdC4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWJvY3UtMS1ibGFja2xp
c3RlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9jaGFy
LWVuY29kaW5nLWJvY3UtMS1ibGFja2xpc3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1zY3N1LWJsYWNrbGlzdGVkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2NoYXItZW5jb2Rpbmctc2NzdS1ibGFj
a2xpc3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3VyY2Vz
L2JvY3UtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3VyY2Vz
L3Njc3UtbW9zY293Lmh0bWw6IEFkZGVkLgorCiAyMDE2LTA3LTA3ICBCcmFkeSBFaWRzb24gIDxi
ZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBXaGVuIElEQkRhdGFiYXNl
IG9iamVjdHMgYXJlIGdhcmJhZ2UgY29sbGVjdGVkLCB0aGV5IGRvbid0IGNsb3NlIHRoZWlyIHNl
cnZlciBjb25uZWN0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2NoYXIt
ZW5jb2RpbmctYm9jdS0xLWJsYWNrbGlzdGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1ib2N1LTEtYmxhY2tsaXN0
ZWQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9jaGFyLWVuY29kaW5nLWJvY3UtMS1ibGFja2xpc3RlZC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB0aGF0IGNoYXJhY3RlciBzZXQgQk9DVS0x
IGlzIG5vdCBzdXBwb3J0ZWQgYW5kIHdlIGRlZmF1bHQgYmFjayB0byB0aGUgdG9wIGZyYW1lJ3Mg
Y2hhcmFjdGVyIHNldC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY2hh
cnNldCBpcyBVVEYtOAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5n
LWJvY3UtMS1ibGFja2xpc3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWJvY3UtMS1ibGFja2xpc3RlZC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWJvY3Ut
MS1ibGFja2xpc3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgorICAgIDx0aXRsZT5CT0NVLTEgY2hhcmFjdGVyIHNldCBibGFja2xpc3RlZDwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhh
dCBjaGFyYWN0ZXIgc2V0IEJPQ1UtMSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3ZSBkZWZhdWx0IGJh
Y2sgdG8gdGhlIHRvcCBmcmFtZSdzIGNoYXJhY3RlciBzZXQuIik7CisgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisgICAgZnVuY3Rpb24gcnVuKCkgewor
ICAgICAgICB2YXIgYm9jdTFGcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2N1MUZy
YW1lIik7CisgICAgICAgIGlmIChib2N1MUZyYW1lLmNvbnRlbnREb2N1bWVudC5jaGFyc2V0ID09
ICJVVEYtOCIpIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoImNoYXJzZXQgaXMgVVRGLTgiKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoImNoYXJzZXQgaXMgIiAr
IGJvY3UxRnJhbWUuY29udGVudERvY3VtZW50LmNoYXJzZXQpOworICAgICAgICB9CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPGlmcmFtZSBpZD0iYm9jdTFGcmFt
ZSIgc3JjPSJyZXNvdXJjZXMvYm9jdS0xLmh0bWwiIG9ubG9hZD0icnVuKCkiPjwvaWZyYW1lPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVu
Y29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBj
aGFyYWN0ZXIgc2V0IFNDU1UgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2UgZGVmYXVsdCBiYWNrIHRv
IHRoZSB0b3AgZnJhbWUncyBjaGFyYWN0ZXIgc2V0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBjaGFyc2V0IGlzIFVURi04CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
aXNjL2NoYXItZW5jb2Rpbmctc2NzdS1ibGFja2xpc3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY2hhci1l
bmNvZGluZy1zY3N1LWJsYWNrbGlzdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlNDU1UgY2hhcmFjdGVyIHNldCBibGFja2xp
c3RlZDwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24o
IlRlc3QgdGhhdCBjaGFyYWN0ZXIgc2V0IFNDU1UgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2UgZGVm
YXVsdCBiYWNrIHRvIHRoZSB0b3AgZnJhbWUncyBjaGFyYWN0ZXIgc2V0LiIpOworICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgIGZ1bmN0aW9uIHJ1
bigpIHsKKyAgICAgICAgdmFyIHNjc3VGcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
Y3N1RnJhbWUiKTsKKyAgICAgICAgaWYgKHNjc3VGcmFtZS5jb250ZW50RG9jdW1lbnQuY2hhcnNl
dCA9PT0gIlVURi04IikgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgiY2hhcnNldCBpcyBVVEYt
OCIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiY2hhcnNldCBp
cyAiICsgc2NzdUZyYW1lLmNvbnRlbnREb2N1bWVudC5jaGFyc2V0KTsKKyAgICAgICAgfQorICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxpZnJhbWUgaWQ9InNjc3VG
cmFtZSIgc3JjPSJyZXNvdXJjZXMvc2NzdS1tb3Njb3cuaHRtbCIgb25sb2FkPSJydW4oKSI+PC9p
ZnJhbWU+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mv
cmVzb3VyY2VzL2JvY3UtMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWlzYy9yZXNvdXJjZXMvYm9jdS0xLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9ib2N1LTEuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0
YSBjaGFyc2V0PUJPQ1UtMT4KKzwvaGVhZD4KKzxib2R5PgorJThDJUMzJUIzJUMyJUI5JUMwJUM0
JThFJUIxJUJDJUI1JUMyJUM0eCU4MXklOEMlN0YlQzMlQjMlQzIlQjklQzAlQzQlOEUKKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283221</attachid>
            <date>2016-07-08 16:42:12 -0700</date>
            <delta_ts>2016-07-11 14:12:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159581-20160708164136.patch</filename>
            <type>text/plain</type>
            <size>7948</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzAwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA3LTA4ICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3Agc3VwcG9ydGluZyBj
b21wcmVzc2VkIGNoYXJhY3RlciBzZXRzIEJPQ1UtMSBhbmQgU0NTVQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTgxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBub3Qgc3VwcG9y
dCB0aGUgY29tcHJlc3NlZCBjaGFyYWN0ZXIgc2V0cyBCT0NVLTEgYW5kIFNDU1UuCisgICAgICAg
IENocm9tZSBhbmQgRmlyZWZveCBkb24ndCBhbmQgdGhlc2Ugb2xkIGZvcm1hdHMgbWF5IHBhc3Mg
c2VydmVyLXNpZGUgY2hhcmFjdGVyCisgICAgICAgIGZpbHRlcnMgd2hpbGUgc3RpbGwgcmVuZGVy
aW5nIGluIFdlYktpdC4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9taXNjL2NoYXItZW5j
b2RpbmctYm9jdS0xLWJsYWNrbGlzdGVkLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
bWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQuaHRtbAorCisgICAgICAgICogcGxh
dGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHA6CisgICAgICAgICAgICBCbGFja2xp
c3RlZCBCT0NVLTEgYW5kIFNDU1UgY2hhcmFjdGVyIHNldHMuCisKIDIwMTYtMDctMDggIEplcmVt
eSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAgIFByZXZlbnQgZnVsbHNjcmVl
biB2aWRlbyBkaW1lbnNpb24gc3RhdGUgZnJvbSBiZWluZyByZXNldCBhZnRlciBjb25maWd1cmlu
Zy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0
cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVu
Y29kaW5nUmVnaXN0cnkuY3BwCShyZXZpc2lvbiAyMDI5MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTE2LDcgKzExNiw3IEBAIHN0YXRpYyBib29sIGRpZEV4dGVuZFRleHRDb2RlY01hcHM7CiBzdGF0
aWMgSGFzaFNldDxjb25zdCBjaGFyKj4qIGphcGFuZXNlRW5jb2RpbmdzOwogc3RhdGljIEhhc2hT
ZXQ8Y29uc3QgY2hhcio+KiBub25CYWNrc2xhc2hFbmNvZGluZ3M7CiAKLXN0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCB0ZXh0RW5jb2RpbmdOYW1lQmxhY2tsaXN0W10gPSB7ICJVVEYtNyIgfTsKK3N0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCB0ZXh0RW5jb2RpbmdOYW1lQmxhY2tsaXN0W10gPSB7ICJV
VEYtNyIsICJCT0NVLTEiLCAiU0NTVSIgfTsKIAogI2lmIEVSUk9SX0RJU0FCTEVECiAKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDIwMjkzNikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA3LTA4ICBKb2huIFdpbGFuZGVyICA8d2lsYW5k
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3Agc3VwcG9ydGluZyBjb21wcmVzc2VkIGNoYXJh
Y3RlciBzZXRzIEJPQ1UtMSBhbmQgU0NTVQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBub3Qgc3VwcG9ydCB0aGUgY29tcHJlc3Nl
ZCBjaGFyYWN0ZXIgc2V0cyBCT0NVLTEgYW5kIFNDU1UuCisgICAgICAgIENocm9tZSBhbmQgRmly
ZWZveCBkb24ndCBhbmQgdGhlc2Ugb2xkIGZvcm1hdHMgbWF5IHBhc3Mgc2VydmVyLXNpZGUgY2hh
cmFjdGVyCisgICAgICAgIGZpbHRlcnMgd2hpbGUgc3RpbGwgcmVuZGVyaW5nIGluIFdlYktpdC4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWJvY3UtMS1ibGFja2xp
c3RlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9jaGFy
LWVuY29kaW5nLWJvY3UtMS1ibGFja2xpc3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1zY3N1LWJsYWNrbGlzdGVkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2NoYXItZW5jb2Rpbmctc2NzdS1ibGFj
a2xpc3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3VyY2Vz
L2JvY3UtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3VyY2Vz
L3Njc3UtbW9zY293Lmh0bWw6IEFkZGVkLgorCiAyMDE2LTA3LTA3ICBCcmFkeSBFaWRzb24gIDxi
ZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm4gSURCOiBXaGVuIElEQkRhdGFiYXNl
IG9iamVjdHMgYXJlIGdhcmJhZ2UgY29sbGVjdGVkLCB0aGV5IGRvbid0IGNsb3NlIHRoZWlyIHNl
cnZlciBjb25uZWN0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2NoYXIt
ZW5jb2RpbmctYm9jdS0xLWJsYWNrbGlzdGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1ib2N1LTEtYmxhY2tsaXN0
ZWQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9jaGFyLWVuY29kaW5nLWJvY3UtMS1ibGFja2xpc3RlZC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAorVGVzdCB0aGF0IGNoYXJhY3RlciBzZXQgQk9DVS0x
IGlzIG5vdCBzdXBwb3J0ZWQgYW5kIHdlIGRlZmF1bHQgYmFjayB0byB0aGUgdG9wIGZyYW1lJ3Mg
Y2hhcmFjdGVyIHNldC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY2hh
cnNldCBpcyBVVEYtOAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5n
LWJvY3UtMS1ibGFja2xpc3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWJvY3UtMS1ibGFja2xpc3RlZC5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLWJvY3Ut
MS1ibGFja2xpc3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0i
VVRGLTgiPgorICAgIDx0aXRsZT5CT0NVLTEgY2hhcmFjdGVyIHNldCBibGFja2xpc3RlZDwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhh
dCBjaGFyYWN0ZXIgc2V0IEJPQ1UtMSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3ZSBkZWZhdWx0IGJh
Y2sgdG8gdGhlIHRvcCBmcmFtZSdzIGNoYXJhY3RlciBzZXQuIik7CisgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisgICAgZnVuY3Rpb24gcnVuKCkgewor
ICAgICAgICB2YXIgYm9jdTFGcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib2N1MUZy
YW1lIik7CisgICAgICAgIGlmIChib2N1MUZyYW1lLmNvbnRlbnREb2N1bWVudC5jaGFyc2V0ID09
ICJVVEYtOCIpIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoImNoYXJzZXQgaXMgVVRGLTgiKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoImNoYXJzZXQgaXMgIiAr
IGJvY3UxRnJhbWUuY29udGVudERvY3VtZW50LmNoYXJzZXQpOworICAgICAgICB9CisgICAgICAg
IGZpbmlzaEpTVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPGlmcmFtZSBpZD0iYm9jdTFGcmFt
ZSIgc3JjPSJyZXNvdXJjZXMvYm9jdS0xLmh0bWwiIG9ubG9hZD0icnVuKCkiPjwvaWZyYW1lPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVu
Y29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBj
aGFyYWN0ZXIgc2V0IFNDU1UgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2UgZGVmYXVsdCBiYWNrIHRv
IHRoZSB0b3AgZnJhbWUncyBjaGFyYWN0ZXIgc2V0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBjaGFyc2V0IGlzIFVURi04CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
aXNjL2NoYXItZW5jb2Rpbmctc2NzdS1ibGFja2xpc3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQu
aHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY2hhci1l
bmNvZGluZy1zY3N1LWJsYWNrbGlzdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0
YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlNDU1UgY2hhcmFjdGVyIHNldCBibGFja2xp
c3RlZDwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24o
IlRlc3QgdGhhdCBjaGFyYWN0ZXIgc2V0IFNDU1UgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2UgZGVm
YXVsdCBiYWNrIHRvIHRoZSB0b3AgZnJhbWUncyBjaGFyYWN0ZXIgc2V0LiIpOworICAgIHdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgIGZ1bmN0aW9uIHJ1
bigpIHsKKyAgICAgICAgdmFyIHNjc3VGcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
Y3N1RnJhbWUiKTsKKyAgICAgICAgaWYgKHNjc3VGcmFtZS5jb250ZW50RG9jdW1lbnQuY2hhcnNl
dCA9PT0gIlVURi04IikgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgiY2hhcnNldCBpcyBVVEYt
OCIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiY2hhcnNldCBp
cyAiICsgc2NzdUZyYW1lLmNvbnRlbnREb2N1bWVudC5jaGFyc2V0KTsKKyAgICAgICAgfQorICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxpZnJhbWUgaWQ9InNjc3VG
cmFtZSIgc3JjPSJyZXNvdXJjZXMvc2NzdS1tb3Njb3cuaHRtbCIgb25sb2FkPSJydW4oKSI+PC9p
ZnJhbWU+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2Mv
cmVzb3VyY2VzL2JvY3UtMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWlzYy9yZXNvdXJjZXMvYm9jdS0xLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9ib2N1LTEuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0
YSBjaGFyc2V0PUJPQ1UtMT4KKzwvaGVhZD4KKzxib2R5PgorJThDJUMzJUIzJUMyJUI5JUMwJUM0
JThFJUIxJUJDJUI1JUMyJUM0eCU4MXklOEMlN0YlQzMlQjMlQzIlQjklQzAlQzQlOEUKKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3Njc3UtbW9zY293Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD
YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw
ZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9taXNjL3Jlc291cmNlcy9zY3N1LW1vc2Nvdy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvc2NzdS1tb3Njb3cuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3Njc3UtbW9zY293
Lmh0bWwJKHdvcmtpbmcgY29weSkKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvc2NzdS1tb3Njb3cuaHRtbApfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVk
OiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CgpQQ0ZFVDBOVVdWQkZJR2gwYld3K0NqeG9k
RzFzUGdvOGFHVmhaRDRLSUNBZ0lEeHRaWFJoSUdOb1lYSnpaWFE5VTBOVFZUNEtQQzlvClpXRmtQ
Z284WW05a2VUNEtFcHkrd2JxeXNBbz0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283341</attachid>
            <date>2016-07-11 14:12:41 -0700</date>
            <delta_ts>2016-07-26 09:58:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159581-20160711141159.patch</filename>
            <type>text/plain</type>
            <size>8564</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMzA4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA3LTExICBKb2huIFdp
bGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3Agc3VwcG9ydGluZyBj
b21wcmVzc2VkIGNoYXJhY3RlciBzZXRzIEJPQ1UtMSBhbmQgU0NTVQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NTgxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBub3Qgc3VwcG9y
dCB0aGUgY29tcHJlc3NlZCBjaGFyYWN0ZXIgc2V0cyBCT0NVLTEgYW5kIFNDU1UuCisgICAgICAg
IENocm9tZSBhbmQgRmlyZWZveCBkb24ndCBhbmQgdGhlc2Ugb2xkIGZvcm1hdHMgbWF5IHBhc3Mg
c2VydmVyLXNpZGUgY2hhcmFjdGVyCisgICAgICAgIGZpbHRlcnMgd2hpbGUgc3RpbGwgcmVuZGVy
aW5nIGluIFdlYktpdC4KKworICAgICAgICBUaGUgSFRNTCBzcGVjaWZpY2F0aW9uIHNheXMgIlRo
ZSBhYm92ZSBwcm9oaWJpdHMgc3VwcG9ydGluZywgZm9yIGV4YW1wbGUsCisgICAgICAgIENFU1Ut
OCwgVVRGLTcsIEJPQ1UtMSwgU0NTVSwgRUJDRElDLCBhbmQgVVRGLTMyLiIKKyAgICAgICAgaHR0
cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY2hhcmFjdGVyLWVuY29kaW5ncworCisgICAgICAg
IFRlc3RzOiBodHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1ib2N1LTEtYmxhY2tsaXN0ZWQu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9taXNjL2NoYXItZW5jb2Rpbmctc2NzdS1i
bGFja2xpc3RlZC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1Jl
Z2lzdHJ5LmNwcDoKKyAgICAgICAgICAgIEJsYWNrbGlzdGVkIEJPQ1UtMSBhbmQgU0NTVSBjaGFy
YWN0ZXIgc2V0cy4KKwogMjAxNi0wNy0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIFBvc3NpYmxlIG51bGwgZGVyZWZlcmVuY2UgdW5kZXIgRXZlbnRIYW5kbGVy
OjpkaXNwYXRjaE1vdXNlRXZlbnQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAJKHJldmlzaW9uIDIwMzA3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIGJvb2wgZGlkRXh0ZW5k
VGV4dENvZGVjTWFwczsKIHN0YXRpYyBIYXNoU2V0PGNvbnN0IGNoYXIqPiogamFwYW5lc2VFbmNv
ZGluZ3M7CiBzdGF0aWMgSGFzaFNldDxjb25zdCBjaGFyKj4qIG5vbkJhY2tzbGFzaEVuY29kaW5n
czsKIAotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRleHRFbmNvZGluZ05hbWVCbGFja2xpc3Rb
XSA9IHsgIlVURi03IiB9Oworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRleHRFbmNvZGluZ05h
bWVCbGFja2xpc3RbXSA9IHsgIlVURi03IiwgIkJPQ1UtMSIsICJTQ1NVIiB9OwogCiAjaWYgRVJS
T1JfRElTQUJMRUQKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzMDgxKQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTYtMDctMTEgIEpv
aG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCBzdXBwb3J0
aW5nIGNvbXByZXNzZWQgY2hhcmFjdGVyIHNldHMgQk9DVS0xIGFuZCBTQ1NVCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk1ODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQgc2hvdWxkIG5vdCBz
dXBwb3J0IHRoZSBjb21wcmVzc2VkIGNoYXJhY3RlciBzZXRzIEJPQ1UtMSBhbmQgU0NTVS4KKyAg
ICAgICAgQ2hyb21lIGFuZCBGaXJlZm94IGRvbid0IGFuZCB0aGVzZSBvbGQgZm9ybWF0cyBtYXkg
cGFzcyBzZXJ2ZXItc2lkZSBjaGFyYWN0ZXIKKyAgICAgICAgZmlsdGVycyB3aGlsZSBzdGlsbCBy
ZW5kZXJpbmcgaW4gV2ViS2l0LgorCisgICAgICAgIFRoZSBIVE1MIHNwZWNpZmljYXRpb24gc2F5
cyAiVGhlIGFib3ZlIHByb2hpYml0cyBzdXBwb3J0aW5nLCBmb3IgZXhhbXBsZSwKKyAgICAgICAg
Q0VTVS04LCBVVEYtNywgQk9DVS0xLCBTQ1NVLCBFQkNESUMsIGFuZCBVVEYtMzIuIgorICAgICAg
ICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNjaGFyYWN0ZXItZW5jb2RpbmdzCisKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1ib2N1LTEtYmxhY2tsaXN0ZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvY2hhci1lbmNv
ZGluZy1ib2N1LTEtYmxhY2tsaXN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9taXNjL2NoYXItZW5jb2Rpbmctc2NzdS1ibGFja2xpc3RlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9ib2N1
LTEtY3lyaWxsaWMucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcmVzb3Vy
Y2VzL3Njc3UtY3lyaWxsaWMucGhwOiBBZGRlZC4KKwogMjAxNi0wNy0xMSAgQnJlbnQgRnVsZ2hh
bSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR0xdIENoZWNrIGZvciBleGlz
dGluZyBidWZmZXIgZXhpc3RzIGZvciBlbmFibGVkIHZlcnRleCBhcnJheSBhdHRyaWJ1dGVzIGJl
Zm9yZSBwZXJtaXR0aW5nIGdsRHJhd0FycmF5cyB0byBleGVjdXRlCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1ib2N1LTEtYmxhY2tsaXN0ZWQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVu
Y29kaW5nLWJvY3UtMS1ibGFja2xpc3RlZC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2NoYXItZW5jb2RpbmctYm9jdS0xLWJsYWNrbGlz
dGVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitUZXN0IHRo
YXQgY2hhcmFjdGVyIHNldCBCT0NVLTEgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2UgZGVmYXVsdCB0
byBJU08tODg1OS0xLiBXaXRoIHN1cHBvcnQgZm9yIEJPQ1UtMSB0aGUgaWZyYW1lIHJlbmRlcnMg
YSBDeXJpbGxpYyBzdHJpbmcuIFdpdGhvdXQgaXQgcmVuZGVycyBnYXJiYWdlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjaGFyc2V0IGlzIElTTy04ODU5LTEKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1ib2N1LTEtYmxhY2tsaXN0ZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY2hhci1lbmNv
ZGluZy1ib2N1LTEtYmxhY2tsaXN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1ib2N1LTEtYmxhY2tsaXN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxh
bmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+
Qk9DVS0xIGNoYXJhY3RlciBzZXQgYmxhY2tsaXN0ZWQ8L3RpdGxlPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUZXN0IHRoYXQgY2hhcmFjdGVyIHNldCBCT0NV
LTEgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2UgZGVmYXVsdCB0byBJU08tODg1OS0xLiBXaXRoIHN1
cHBvcnQgZm9yIEJPQ1UtMSB0aGUgaWZyYW1lIHJlbmRlcnMgYSBDeXJpbGxpYyBzdHJpbmcuIFdp
dGhvdXQgaXQgcmVuZGVycyBnYXJiYWdlLiIpOworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgIGZ1bmN0aW9uIHJ1bigpIHsKKyAgICAgICAgdmFy
IGJvY3UxRnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9jdTFGcmFtZSIpOworICAg
ICAgICBpZiAoYm9jdTFGcmFtZS5jb250ZW50RG9jdW1lbnQuY2hhcnNldCA9PSAiSVNPLTg4NTkt
MSIpIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoImNoYXJzZXQgaXMgSVNPLTg4NTktMSIpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgiY2hhcnNldCBpcyAiICsg
Ym9jdTFGcmFtZS5jb250ZW50RG9jdW1lbnQuY2hhcnNldCk7CisgICAgICAgIH0KKyAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgfQorPC9zY3JpcHQ+Cis8aWZyYW1lIGlkPSJib2N1MUZyYW1l
IiBzcmM9InJlc291cmNlcy9ib2N1LTEtY3lyaWxsaWMucGhwIiBvbmxvYWQ9InJ1bigpIj48L2lm
cmFtZT4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9j
aGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0
ZWQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgdGhhdCBjaGFyYWN0ZXIgc2V0IFNDU1UgaXMg
bm90IHN1cHBvcnRlZCBhbmQgd2UgZGVmYXVsdCB0byBJU08tODg1OS0xLiBXaXRoIHN1cHBvcnQg
Zm9yIFNDU1UgdGhlIGlmcmFtZSByZW5kZXJzIGEgQ3lyaWxsaWMgc3RyaW5nLiBXaXRob3V0IGl0
IHJlbmRlcnMgZ2FyYmFnZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
Y2hhcnNldCBpcyBJU08tODg1OS0xCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2NoYXIt
ZW5jb2Rpbmctc2NzdS1ibGFja2xpc3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWlzYy9jaGFyLWVuY29kaW5nLXNjc3UtYmxhY2tsaXN0ZWQuaHRtbAkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvY2hhci1lbmNvZGluZy1z
Y3N1LWJsYWNrbGlzdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0
PSJVVEYtOCI+CisgICAgPHRpdGxlPlNDU1UgY2hhcmFjdGVyIHNldCBibGFja2xpc3RlZDwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhh
dCBjaGFyYWN0ZXIgc2V0IFNDU1UgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2UgZGVmYXVsdCB0byBJ
U08tODg1OS0xLiBXaXRoIHN1cHBvcnQgZm9yIFNDU1UgdGhlIGlmcmFtZSByZW5kZXJzIGEgQ3ly
aWxsaWMgc3RyaW5nLiBXaXRob3V0IGl0IHJlbmRlcnMgZ2FyYmFnZS4iKTsKKyAgICB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICBmdW5jdGlvbiBydW4o
KSB7CisgICAgICAgIHZhciBzY3N1RnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Nz
dUZyYW1lIik7CisgICAgICAgIGlmIChzY3N1RnJhbWUuY29udGVudERvY3VtZW50LmNoYXJzZXQg
PT09ICJJU08tODg1OS0xIikgeworICAgICAgICAgICAgdGVzdFBhc3NlZCgiY2hhcnNldCBpcyBJ
U08tODg1OS0xIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCJj
aGFyc2V0IGlzICIgKyBzY3N1RnJhbWUuY29udGVudERvY3VtZW50LmNoYXJzZXQpOworICAgICAg
ICB9CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKzwvc2NyaXB0PgorPGlmcmFtZSBp
ZD0ic2NzdUZyYW1lIiBzcmM9InJlc291cmNlcy9zY3N1LWN5cmlsbGljLnBocCIgb25sb2FkPSJy
dW4oKSI+PC9pZnJhbWU+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21pc2MvcmVzb3VyY2VzL2JvY3UtMS1jeXJpbGxpYy5waHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL3Jlc291cmNlcy9ib2N1LTEtY3lyaWxsaWMucGhwCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvYm9j
dS0xLWN5cmlsbGljLnBocAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKzw/cGhwCito
ZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PUJPQ1UtMScpOworPz4KK56K
09OTj4qIjQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvc2NzdS1jeXJpbGxpYy5waHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5u
b3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9
IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9t
aXNjL3Jlc291cmNlcy9zY3N1LWN5cmlsbGljLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL3Njc3UtY3lyaWxsaWMucGhwCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvc2NzdS1jeXJpbGxp
Yy5waHAJKHdvcmtpbmcgY29weSkKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvc2NzdS1jeXJpbGxpYy5waHAKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCithcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQoKUEQ5d2FIQUthR1ZoWkdWeUtDZERiMjUw
Wlc1MExWUjVjR1U2SUhSbGVIUXZhSFJ0YkRzZ1kyaGhjbk5sZEQxVFExTlZKeWs3Q2o4KwpDazQ2
RXAvRHY3cTR2UT09Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>