<?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>92675</bug_id>
          
          <creation_ts>2012-07-30 13:49:50 -0700</creation_ts>
          <short_desc>CSP should correctly block plugin resources rendered in PluginDocuments.</short_desc>
          <delta_ts>2012-08-01 14:34:34 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>bauerb</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>682349</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-30 13:49:50 -0700</bug_when>
    <thetext>For whatever reason, `&lt;object data=&quot;/plugins/resources/mock-plugin.pl&quot;&gt;&lt;/object&gt;` renders very differently from `&lt;object data=&quot;data:application/x-webkit-test-netscape,whatever&quot;&gt;&lt;/object&gt;`. Because the former renders inside a PluginDocument, CSP isn&apos;t applied, and it breezes right through `object-src &apos;none&apos;`. We should fix this.

I&apos;ll put up a patch in a bit that&apos;s the first thing that comes to mind. Hopefully one of you three can tell me how it should actually be fixed. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682404</commentid>
    <comment_count>1</comment_count>
      <attachid>155367</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-30 14:36:10 -0700</bug_when>
    <thetext>Created attachment 155367
WIP: Not for review.

This looks like it has different behavior on Mac. I can replicate the failure here at home, but it never touches SubframeLoader::requestPlugin or SubframeLoader::loadPlugin (at least, none of my cleverly placed `addConsoleMessage` calls does anything useful). Bleh.

I&apos;ll fiddle with it more tomorrow back on linux. Just throwing a patch here so I know what I was trying and failing to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682405</commentid>
    <comment_count>2</comment_count>
      <attachid>155367</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-30 14:37:45 -0700</bug_when>
    <thetext>Comment on attachment 155367
WIP: Not for review.

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

&gt; Source/WebCore/loader/SubframeLoader.cpp:115
&gt; +      message = makeString(&quot;I&apos;m a plugin document! Owner: &quot;, m_frame-&gt;document()-&gt;ownerElement()-&gt;document()-&gt;url().string(), &quot;, Type: &quot;,  m_frame-&gt;document()-&gt;ownerElement()-&gt;fastGetAttribute(HTMLNames::typeAttr));

four-space indent :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682406</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-30 14:38:05 -0700</bug_when>
    <thetext>Perhaps an easier solution is to have a plugin document inherit the parent&apos;s CSP policy like we do for srcdoc documents?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682410</commentid>
    <comment_count>4</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-30 14:45:01 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Perhaps an easier solution is to have a plugin document inherit the parent&apos;s CSP policy like we do for srcdoc documents?

I do think that&apos;s the right answer. This just seemed simpler. If it had worked, I&apos;d have had a patch up an hour ago! :)

Ah well. I&apos;ll get a debugger set up tomorrow to track down the plugin document&apos;s instantiation, and pass over the CSP. Then I&apos;ll cross my fingers and hope it works cross-platform. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682750</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-30 23:15:06 -0700</bug_when>
    <thetext>Ok, the cross-platform issue wasn&apos;t a cross-platform issue. It was me being unable to copy and paste correctly. :)

And, I now recall why I preferred this approach last night: CSP isn&apos;t the only check made against the document. In requestPlugin, we check the sandbox status, and in loadPlugin we check `securityOrigin-&gt;canDisplay`. I&apos;m not sure either of those are set correctly for the PluginDocument, and I don&apos;t see any tests either way. :/

I&apos;ll try to write some today. If they work correctly, great, I&apos;ll try to inject the CSP into the plugin document. If not, walking up the document&apos;s ownerElement as done in this patch might be a better approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682953</commentid>
    <comment_count>6</comment_count>
      <attachid>155508</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-31 05:41:53 -0700</bug_when>
    <thetext>Created attachment 155508
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682956</commentid>
    <comment_count>7</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-31 05:47:37 -0700</bug_when>
    <thetext>After a bit of research, here&apos;s an implementation that I think works. I&apos;ve reverted to Adam&apos;s idea of populating the PluginDocument with the parent&apos;s CSP after taking a look at the code that actually does this work (`DocumentWriter::begin`)

1. Sandboxing is dealt with correctly by creating a `SinkDocument` that ignores plugins.
2. The security origin is correctly brought over.

The only bit missing is the CSP, which this patch populates.

I don&apos;t completely understand how DocumentWriter works, however. An `ownerDocument` can be passed in, but hasn&apos;t been populated in any case I&apos;ve seen. I&apos;m using `m_frame-&gt;ownerElement()-&gt;document()` instead, which seems correct, but I&apos;m not sure.

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682957</commentid>
    <comment_count>8</comment_count>
      <attachid>155509</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-07-31 05:50:45 -0700</bug_when>
    <thetext>Created attachment 155509
Dropping FIXME comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683943</commentid>
    <comment_count>9</comment_count>
      <attachid>155509</attachid>
    <who name="">jochen</who>
    <bug_when>2012-08-01 00:50:48 -0700</bug_when>
    <thetext>Comment on attachment 155509
Dropping FIXME comment.

I&apos;m unsure about whether m_frame-&gt;ownerElement-&gt;document is the right thing, so I&apos;m deferring to Adam


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

&gt; LayoutTests/ChangeLog:10
&gt; +            `Content-Type application/x-webkit-test-netscape` header.

backticks look just wrong :)

&gt; LayoutTests/http/tests/plugins/resources/mock-plugin.pl:5
&gt; +my $cgi = new CGI;

not required (incl. use CGI)?

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/object-src-url-allowed.html:6
&gt; +  testRunner.dumpAsText();

4 spaces

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/object-src-url-blocked.html:6
&gt; +  testRunner.dumpAsText();

4 spaces

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-object-data.pl:15
&gt; +print &quot;        log=\&quot;&quot;.$cgi-&gt;param(&apos;log&apos;).&quot;\&quot;\n&quot; if $cgi-&gt;param(&apos;log&apos;);

how does this change relate to the rest of the change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683950</commentid>
    <comment_count>10</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-01 00:57:43 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 155509 [details])
&gt; I&apos;m unsure about whether m_frame-&gt;ownerElement-&gt;document is the right thing, so I&apos;m deferring to Adam
&gt; 
&gt; 
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155509&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:10
&gt; &gt; +            `Content-Type application/x-webkit-test-netscape` header.
&gt; 
&gt; backticks look just wrong :)

Markdown, baby!

&gt; &gt; LayoutTests/http/tests/plugins/resources/mock-plugin.pl:5
&gt; &gt; +my $cgi = new CGI;
&gt; 
&gt; not required (incl. use CGI)?

This is copy/pasted from other Perl scripts I&apos;ve seen. Can you point me at one that does it the way you&apos;d like? It&apos;s been a loooong time since I knew what I was doing in Perl. :)

&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/object-src-url-allowed.html:6
&gt; &gt; +  testRunner.dumpAsText();
&gt; 
&gt; 4 spaces
&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/object-src-url-blocked.html:6
&gt; &gt; +  testRunner.dumpAsText();
&gt; 
&gt; 4 spaces

Arg.

&gt; 
&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/resources/echo-object-data.pl:15
&gt; &gt; +print &quot;        log=\&quot;&quot;.$cgi-&gt;param(&apos;log&apos;).&quot;\&quot;\n&quot; if $cgi-&gt;param(&apos;log&apos;);
&gt; 
&gt; how does this change relate to the rest of the change?

It&apos;s unrelated cleanup. I&apos;m happy to move it to a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683970</commentid>
    <comment_count>11</comment_count>
      <attachid>155746</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-01 01:15:28 -0700</bug_when>
    <thetext>Created attachment 155746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684344</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-01 11:14:23 -0700</bug_when>
    <thetext>&gt; I don&apos;t completely understand how DocumentWriter works, however. An `ownerDocument` can be passed in, but hasn&apos;t been populated in any case I&apos;ve seen.

That happens when one document calls document.open() on another document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684347</commentid>
    <comment_count>13</comment_count>
      <attachid>155746</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-01 11:18:47 -0700</bug_when>
    <thetext>Comment on attachment 155746
Patch

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

&gt; Source/WebCore/loader/DocumentWriter.cpp:145
&gt; +    if (document-&gt;isPluginDocument() &amp;&amp; m_frame-&gt;ownerElement())
&gt; +        document-&gt;contentSecurityPolicy()-&gt;copyStateFrom(m_frame-&gt;ownerElement()-&gt;document()-&gt;contentSecurityPolicy());

I wonder if we should do this work in Document::initContentSecurityPolicy.  We could check for isPluginDocument() there and centralize the logic for copying the CSP policy from our parent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684374</commentid>
    <comment_count>14</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-01 11:35:07 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 155746 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155746&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/DocumentWriter.cpp:145
&gt; &gt; +    if (document-&gt;isPluginDocument() &amp;&amp; m_frame-&gt;ownerElement())
&gt; &gt; +        document-&gt;contentSecurityPolicy()-&gt;copyStateFrom(m_frame-&gt;ownerElement()-&gt;document()-&gt;contentSecurityPolicy());
&gt; 
&gt; I wonder if we should do this work in Document::initContentSecurityPolicy.  We could check for isPluginDocument() there and centralize the logic for copying the CSP policy from our parent.

Sounds reasonable enough, and means we won&apos;t have to include those extra headers in DocumentWriter. I&apos;ll throw a new patch up shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684383</commentid>
    <comment_count>15</comment_count>
      <attachid>155848</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-01 11:40:05 -0700</bug_when>
    <thetext>Created attachment 155848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684414</commentid>
    <comment_count>16</comment_count>
      <attachid>155848</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-01 11:55:28 -0700</bug_when>
    <thetext>Comment on attachment 155848
Patch

Thanks, this looks a bit cleaner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684416</commentid>
    <comment_count>17</comment_count>
      <attachid>155848</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-01 11:56:50 -0700</bug_when>
    <thetext>Comment on attachment 155848
Patch

Cool. In that case, CQ? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684591</commentid>
    <comment_count>18</comment_count>
      <attachid>155848</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-01 14:34:29 -0700</bug_when>
    <thetext>Comment on attachment 155848
Patch

Clearing flags on attachment: 155848

Committed r124371: &lt;http://trac.webkit.org/changeset/124371&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684592</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-01 14:34:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155367</attachid>
            <date>2012-07-30 14:36:10 -0700</date>
            <delta_ts>2012-07-31 05:41:47 -0700</delta_ts>
            <desc>WIP: Not for review.</desc>
            <filename>WIP</filename>
            <type>text/plain</type>
            <size>7794</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvbW9j
ay1wbHVnaW4ucGwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL21v
Y2stcGx1Z2luLnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQzMDRkMmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BsdWdpbnMvcmVzb3Vy
Y2VzL21vY2stcGx1Z2luLnBsCkBAIC0wLDAgKzEsOCBAQAorIyEvdXNyL2Jpbi9wZXJsIC13VAor
I3VzZSBzdHJpY3Q7CisjdXNlIENHSTsKKworbXkgJGNnaSA9IG5ldyBDR0k7CisKK3ByaW50ICJD
b250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGVcblxuIjsKK3By
aW50ICJUaGlzIGlzIGEgbW9jayBwbHVnaW4uIEl0IGRvZXMgcHJldHR5IG11Y2ggbm90aGluZy4i
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3Jj
LXVybC1hbGxvd2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4xZjAyYTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYWxsb3dlZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBu
byBjb25zb2xlIG1lc3NhZ2Ugc2F5aW5nIHRoZSBwbHVnaW4gd2FzIGJsb2NrZWQuIAorCistLS0t
LS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0t
CisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4vPCEt
LWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi40ZTc0ZTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYWxs
b3dlZC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5v
IGNvbnNvbGUgbWVzc2FnZSBzYXlpbmcgdGhlIHBsdWdpbiB3YXMgYmxvY2tlZC4KKyAgPGlmcmFt
ZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvcmVzb3VyY2VzL2VjaG8tb2JqZWN0LWRhdGEucGw/cT0vcGx1Z2lucy9yZXNvdXJjZXMvbW9j
ay1wbHVnaW4ucGwmbG9nPVBBU1MmY3NwPW9iamVjdC1zcmMlMjAnc2VsZiciPjwvaWZyYW1lPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi40MGY2NGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11
cmwtYmxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCisKKy0tLS0tLS0tCitG
cmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KKworCist
LS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi88IS0tZnJhbWUw
LS0+LS0+JworLS0tLS0tLS0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
b2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmZhYTFkODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLmh0
bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
Cis8L3NjcmlwdD4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0ib2Jq
ZWN0LXNyYyAnbm9uZSciPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgcGFzc2VzIGlmIHRo
ZXJlIGlzIGEgY29uc29sZSBtZXNzYWdlIHNheWluZyB0aGUgcGx1Z2luIHdhcyBibG9ja2VkLgor
PG9iamVjdCBkYXRhPSIvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGwiPjwvb2JqZWN0
PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvZWNoby1vYmplY3QtZGF0
YS5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3Jlc291cmNlcy9lY2hvLW9iamVjdC1kYXRhLnBsCmluZGV4IDE5ZDIzMzIuLmEyYmVhY2Eg
MTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3Jlc291cmNlcy9lY2hvLW9iamVjdC1kYXRhLnBsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9lY2hv
LW9iamVjdC1kYXRhLnBsCkBAIC0xMSw2ICsxMSw5IEBAIHByaW50ICI8IURPQ1RZUEUgaHRtbD5c
biI7CiBwcmludCAiPGh0bWw+XG4iOwogcHJpbnQgIjxib2R5PlxuIjsKIHByaW50ICI8c2NyaXB0
IHNyYz1cIi9wbHVnaW5zL3Jlc291cmNlcy9tb2NrLXBsdWdpbi1sb2dnZXIuanNcIj48L3Njcmlw
dD5cbiI7Ci1wcmludCAiPG9iamVjdCBkYXRhPVwiIi4kY2dpLT5wYXJhbSgncScpLiJcIiBsb2c9
XCIiLiRjZ2ktPnBhcmFtKCdsb2cnKS4iXCI+PC9vYmplY3Q+XG4iOworcHJpbnQgIjxvYmplY3Qg
ZGF0YT1cIiIuJGNnaS0+cGFyYW0oJ3EnKS4iXCJcbiI7CitwcmludCAiICAgICAgICBsb2c9XCIi
LiRjZ2ktPnBhcmFtKCdsb2cnKS4iXCJcbiIgaWYgJGNnaS0+cGFyYW0oJ2xvZycpOworcHJpbnQg
IiAgICAgICAgdHlwZT1cIiIuJGNnaS0+cGFyYW0oJ3R5cGUnKS4iXCJcbiIgaWYgJGNnaS0+cGFy
YW0oJ3R5cGUnKTsKK3ByaW50ICI+PC9vYmplY3Q+XG4iOwogcHJpbnQgIjwvYm9keT5cbiI7CiBw
cmludCAiPC9odG1sPlxuIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJm
cmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDYzY2ZiM2IuLjVjZjk3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1l
TG9hZGVyLmNwcApAQCAtMTA2LDYgKzEwNiwxNiBAQCBib29sIFN1YmZyYW1lTG9hZGVyOjpyZXNv
dXJjZVdpbGxVc2VQbHVnaW4oY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZQog
CiBib29sIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0UGx1Z2luKEhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQqIG93bmVyRWxlbWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBl
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4m
IHBhcmFtVmFsdWVzLCBib29sIHVzZUZhbGxiYWNrKQogeworICAgIFN0cmluZyBtZXNzYWdlID0g
bWFrZVN0cmluZygiZG9jdW1lbnQoKS0+Q1NQLT5pc0FjdGl2ZT8gIiwgZG9jdW1lbnQoKS0+Y29u
dGVudFNlY3VyaXR5UG9saWN5KCktPmlzQWN0aXZlKCkgPyAiVHJ1ZSIgOiAiRmFsc2UiLCAiLCBV
Ukw6IGAiLCBkb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSwgImAuXG4iKTsKKyAgICBkb2N1bWVu
dCgpLT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBF
cnJvck1lc3NhZ2VMZXZlbCwgbWVzc2FnZSk7CisgICAgbWVzc2FnZSA9IG1ha2VTdHJpbmcoIm1f
ZnJhbWUtPmRvY3VtZW50KCktPkNTUC0+aXNBY3RpdmU/ICIsIG1fZnJhbWUtPmRvY3VtZW50KCkt
PmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5pc0FjdGl2ZSgpID8gIlRydWUiIDogIkZhbHNlIiwg
IiwgVVJMOiBgIiwgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCksICJgLlxuIik7
CisgICAgZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dN
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworCisgICAgaWYgKG1fZnJh
bWUtPmRvY3VtZW50KCkgJiYgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+aXNQbHVnaW5Eb2N1bWVudCgp
KSB7CisgICAgICBtZXNzYWdlID0gbWFrZVN0cmluZygiSSdtIGEgcGx1Z2luIGRvY3VtZW50ISBP
d25lcjogIiwgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+b3duZXJFbGVtZW50KCktPmRvY3VtZW50KCkt
PnVybCgpLnN0cmluZygpLCAiLCBUeXBlOiAiLCAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+b3duZXJF
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjp0eXBlQXR0cikpOworICAgICAg
ZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdl
VHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworICAgIH0KKwogICAgIFNldHRpbmdz
KiBzZXR0aW5ncyA9IG1fZnJhbWUtPnNldHRpbmdzKCk7CiAgICAgaWYgKCFzZXR0aW5ncykKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTI0LDkgKzEzNCwxNSBAQCBib29sIFN1YmZyYW1lTG9h
ZGVyOjpyZXF1ZXN0UGx1Z2luKEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqIG93bmVyRWxlbWVudCwg
Y29uc3QgSwogICAgIH0KIAogICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpKSB7Ci0gICAgICAg
IGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94UGx1Z2lucykpCisg
ICAgICAgIERvY3VtZW50KiB0b3BEb2N1bWVudCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7CisgICAg
ICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVz
c2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtYWtlU3RyaW5nKCJkb2MhICIsIHRvcERvY3Vt
ZW50LT51cmwoKS5zdHJpbmcoKSkpOworICAgICAgICB3aGlsZSAodG9wRG9jdW1lbnQtPmlzUGx1
Z2luRG9jdW1lbnQoKSAmJiB0b3BEb2N1bWVudC0+b3duZXJFbGVtZW50KCkpIHsKKyAgICAgICAg
ICAgIHRvcERvY3VtZW50LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01l
c3NhZ2VUeXBlLCBFcnJvck1lc3NhZ2VMZXZlbCwgbWFrZVN0cmluZygiUGx1Z2luIGRvYyEgIiwg
dG9wRG9jdW1lbnQtPnVybCgpLnN0cmluZygpKSk7CisgICAgICAgICAgICB0b3BEb2N1bWVudCA9
IHRvcERvY3VtZW50LT5vd25lckVsZW1lbnQoKS0+ZG9jdW1lbnQoKTsKKyAgICAgICAgfQorICAg
ICAgICBpZiAodG9wRG9jdW1lbnQtPmlzU2FuZGJveGVkKFNhbmRib3hQbHVnaW5zKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKCFtX2ZyYW1lLT5kb2N1bWVudCgpLT5j
b250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dPYmplY3RGcm9tU291cmNlKHVybCkpCisgICAg
ICAgIGlmICghdG9wRG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd09iamVj
dEZyb21Tb3VyY2UodXJsKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAg
LTM3OSwxMiArMzk1LDIwIEBAIERvY3VtZW50KiBTdWJmcmFtZUxvYWRlcjo6ZG9jdW1lbnQoKSBj
b25zdAogYm9vbCBTdWJmcmFtZUxvYWRlcjo6bG9hZFBsdWdpbihIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50KiBwbHVnaW5FbGVtZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsCiAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBwYXJhbVZhbHVlcywgYm9vbCB1c2VGYWxsYmFjaykKIHsKKyAgICBkb2N1bWVudCgp
LT5hZGRDb25zb2xlTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBFcnJv
ck1lc3NhZ2VMZXZlbCwgbWFrZVN0cmluZygibG9hZFBsdWdpbjogIiwgZG9jdW1lbnQoKS0+dXJs
KCkuc3RyaW5nKCkpKTsKICAgICBSZW5kZXJFbWJlZGRlZE9iamVjdCogcmVuZGVyZXIgPSBwbHVn
aW5FbGVtZW50LT5yZW5kZXJFbWJlZGRlZE9iamVjdCgpOwogCiAgICAgLy8gRklYTUU6IFRoaXMg
Y29kZSBzaG91bGQgbm90IGRlcGVuZCBvbiByZW5kZXJlciEKICAgICBpZiAoIXJlbmRlcmVyIHx8
IHVzZUZhbGxiYWNrKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBEb2N1bWVudCogdG9w
RG9jdW1lbnQgPSBkb2N1bWVudCgpOworICAgIGRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdl
KEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIEVycm9yTWVzc2FnZUxldmVsLCBtYWtl
U3RyaW5nKCJkb2MhICIsIHRvcERvY3VtZW50LT51cmwoKS5zdHJpbmcoKSkpOworICAgIHdoaWxl
ICh0b3BEb2N1bWVudC0+aXNQbHVnaW5Eb2N1bWVudCgpICYmIHRvcERvY3VtZW50LT5vd25lckVs
ZW1lbnQoKSkgeworICAgICAgICB0b3BEb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoSlNNZXNz
YWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1ha2VTdHJpbmco
IlBsdWdpbiBkb2MhICIsIHRvcERvY3VtZW50LT51cmwoKS5zdHJpbmcoKSkpOworICAgICAgICB0
b3BEb2N1bWVudCA9IHRvcERvY3VtZW50LT5vd25lckVsZW1lbnQoKS0+ZG9jdW1lbnQoKTsKKyAg
ICB9CisKICAgICBpZiAoIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkRpc3BsYXko
dXJsKSkgewogICAgICAgICBGcmFtZUxvYWRlcjo6cmVwb3J0TG9jYWxMb2FkRmFpbGVkKG1fZnJh
bWUsIHVybC5zdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155508</attachid>
            <date>2012-07-31 05:41:53 -0700</date>
            <delta_ts>2012-07-31 05:50:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92675-20120731144136.patch</filename>
            <type>text/plain</type>
            <size>8461</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODgzY2IyNWU5NTA2NmM4
M2Y4YWNjZjk0YzBkNWI2NzZjYWM4YTY1MC4uMjE3N2VmY2JmYmIxYTgzNzZhMWQwZmYxYWJiN2U4
ODY4ODljY2M0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA3LTMxICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIHNob3VsZCBjb3JyZWN0
bHkgYmxvY2sgcGx1Z2luIHJlc291cmNlcyByZW5kZXJlZCBpbiBQbHVnaW5Eb2N1bWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjY3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNlcnRhaW4g
Y2FzZXMsIHBsdWdpbnMgYXJlbid0IGxvYWRlZCBkaXJlY3RseSwgYnV0IGFyZSBzdHVmZmVkIGlu
dG8gYQorICAgICAgICBuZXdseS1jcmVhdGVkIFBsdWdpbkRvY3VtZW50IGJlZm9yZSByZW5kZXJp
bmcuIFdoaWxlIHdlIHdlcmUgYWxyZWFkeQorICAgICAgICBjb3JyZWN0bHkgcG9wdWxhdGluZyBp
bmZvcm1hdGlvbiB0aGF0IGFsbG93ZWQgdXMgdG8gbWFrZSBkZWNpc2lvbnMgYWJvdXQKKyAgICAg
ICAgdGhhdCBkb2N1bWVudCdzIHNlY3VyaXR5IG9yaWdpbiwgYW5kIGFscmVhZHkgZGVhbGluZyB3
aXRoIHNhbmRib3gKKyAgICAgICAgc3RhdHVzIGJ5IGNyZWF0aW5nIGEgYFNpbmtEb2N1bWVudGAg
dGhhdCBpZ25vcmVkIHBsdWdpbiBkYXRhLCB3ZSB3ZXJlbid0CisgICAgICAgIGNvcnJlY3RseSBp
bmhlcml0aW5nIHRoZSBwYXJlbnQgZnJhbWUncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4gVGhp
cworICAgICAgICBwYXRjaCBjaGFuZ2VzIHRoYXQgdG8gY29ycmVjdGx5IGJsb2NrIG9yIGFsbG93
IHRoZSBwbHVnaW4gYWNjb3JkaW5nIHRvCisgICAgICAgIHRoZSBwb2xpY3kgb2YgdGhlIHByb3Rl
Y3RlZCByZXNvdXJjZSBpbiB3aGljaCB0aGUgUGx1Z2luRG9jdW1lbnQgaXMKKyAgICAgICAgZW1i
ZWRkZWQuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxv
Y2tlZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRXcml0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRXcml0ZXI6OmJlZ2luKToKKyAgICAgICAgICAgIFBvcHVsYXRl
IGEgY3JlYXRlZCBQbHVnaW5Eb2N1bWVudCB3aXRoIGl0cyBmcmFtZSdzIHBhcmVudCdzIENvbnRl
bnQKKyAgICAgICAgICAgIFNlY3VyaXR5IFBvbGljeS4KKwogMjAxMi0wNy0yOSAgVnNldm9sb2Qg
Vmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBS
ZXNvdXJjZSBhZ2VudCdzIHJlZmVyZW5jZSB0byBjYWNoZWQgcmVzb3VyY2VzIHNob3VsZCBiZSB3
ZWFrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAKaW5kZXggMzE3NGFm
YzQwNDUyYzU5OGVhOTBkOWE5NGYwNzRiNGU3ZGM0MWE5OS4uZDI5MDUxYmQ2MTY3MWYyMjFlNTAx
ZTUwYmJjYjFiM2I3YWZmMjE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50V3JpdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0
ZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnRXcml0ZXIuaCIKIAorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgog
I2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKQEAgLTM2LDYgKzM3LDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgiCiAjaW5jbHVk
ZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiUGxhY2Vob2xkZXJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiUmF3RGF0YURvY3VtZW50UGFyc2VyLmgiCkBAIC0xNDEsNiArMTQzLDkgQEAg
dm9pZCBEb2N1bWVudFdyaXRlcjo6YmVnaW4oY29uc3QgS1VSTCYgdXJsUmVmZXJlbmNlLCBib29s
IGRpc3BhdGNoLCBEb2N1bWVudCogb3cKICAgICAgICAgZG9jdW1lbnQtPnNldFNlY3VyaXR5T3Jp
Z2luKG93bmVyRG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpOwogICAgIH0KIAorICAgIGlmIChk
b2N1bWVudC0+aXNQbHVnaW5Eb2N1bWVudCgpICYmIG1fZnJhbWUtPm93bmVyRWxlbWVudCgpKQor
ICAgICAgICBkb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmNvcHlTdGF0ZUZyb20o
bV9mcmFtZS0+b3duZXJFbGVtZW50KCktPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpKTsKKwogICAgIG1fZnJhbWUtPmRvbVdpbmRvdygpLT5zZXRVUkwoZG9jdW1lbnQtPnVybCgp
KTsKICAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+c2V0U2VjdXJpdHlPcmlnaW4oZG9jdW1lbnQt
PnNlY3VyaXR5T3JpZ2luKCkpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZThhMTQ2MGM0ZmY2NzQ5NjcxZjkwMjU0MzJm
OWZmZGM3NGFjMWRiZi4uZTZjZDJmYTNmMWVkMTNiNTI1YTBhMDFhYzZhMzdiOTE1ZTg3YTljNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA3LTMxICBNaWtlIFdlc3QgIDxta3dzdEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIHNob3VsZCBjb3JyZWN0bHkgYmxvY2sgcGx1Z2luIHJl
c291cmNlcyByZW5kZXJlZCBpbiBQbHVnaW5Eb2N1bWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wbHVnaW5zL3Jlc291cmNl
cy9tb2NrLXBsdWdpbi5wbDogQWRkZWQuCisgICAgICAgICAgICBUaGlzIGxvdmVseSBwZXJsIHNj
cmlwdCBtb2NrcyBhIHBsdWdpbiBieSBzZW5kaW5nIGEKKyAgICAgICAgICAgIGBDb250ZW50LVR5
cGUgYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZWAgaGVhZGVyLgorICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJs
LWFsbG93ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1hbGxvd2VkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L29iamVjdC1zcmMtdXJsLWJsb2NrZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1i
bG9ja2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgVGVzdCB0aGF0IG5vbi1gZGF0YTpgIFVS
THMgdGhhdCBlbmQgdXAgaW4gUGx1Z2luRG9jdW1lbnRzIGFyZSBhbHNvCisgICAgICAgICAgICBk
ZWFsdCB3aXRoIGNvcnJlY3RseSBieSBDU1AuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL2VjaG8tb2JqZWN0LWRhdGEucGw6CisK
IDIwMTItMDctMjkgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3VyY2UgYWdlbnQncyByZWZlcmVuY2UgdG8gY2FjaGVk
IHJlc291cmNlcyBzaG91bGQgYmUgd2Vhay4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL21vY2stcGx1Z2luLnBsCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1Nzhh
OTRmYTliOTEwMDU2NTE5YzA4MzI0NjQyYzdmMmM5ZjlhZjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL21vY2stcGx1Z2luLnBsCkBA
IC0wLDAgKzEsOCBAQAorIyEvdXNyL2Jpbi9wZXJsIC13VAordXNlIHN0cmljdDsKK3VzZSBDR0k7
CisKK215ICRjZ2kgPSBuZXcgQ0dJOworCitwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlv
bi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlXG5cbiI7CitwcmludCAiVGhpcyBpcyBhIG1vY2sgcGx1
Z2luLiBJdCBkb2VzIHByZXR0eSBtdWNoIG5vdGhpbmcuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMt
dXJsLWFsbG93ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYWxsb3dlZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDE5ZTAxN2RhYmI5OGJhYjJkYTY1ZGZkNzM5ZTNhNjUwNTEyMWJiYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEgQEAKK1RoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gY29uc29sZSBtZXNzYWdl
IHNheWluZyB0aGUgcGx1Z2luIHdhcyBibG9ja2VkLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJs
LWFsbG93ZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGQx
OWQzYjQzMTdiNmFlZDMwNjk5ZGE0OTAwNzdkZmE0NjY5OGZjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2Jq
ZWN0LXNyYy11cmwtYWxsb3dlZC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVdl
YktpdC1DU1AiIGNvbnRlbnQ9Im9iamVjdC1zcmMgJ3NlbGYnIj4KKzwvaGVhZD4KKzxib2R5Pgor
VGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBubyBjb25zb2xlIG1lc3NhZ2Ugc2F5aW5nIHRo
ZSBwbHVnaW4gd2FzIGJsb2NrZWQuCis8b2JqZWN0IGRhdGE9Ii9wbHVnaW5zL3Jlc291cmNlcy9t
b2NrLXBsdWdpbi5wbCI+PC9vYmplY3Q+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29i
amVjdC1zcmMtdXJsLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRkZjVjOWVkMzcxY2FkYTY3NzY1NjE5YjhmOTllNTJj
MjQ0ZmY3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWJsb2NrZWQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgdGhl
IG9iamVjdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3BsdWdpbnMvcmVzb3VyY2VzL21vY2stcGx1
Z2luLnBsJyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgZGlyZWN0aXZlOiAib2JqZWN0LXNyYyAnbm9uZSciLgorCitUaGlzIHRlc3QgcGFz
c2VzIGlmIHRoZXJlIGlzIGEgY29uc29sZSBtZXNzYWdlIHNheWluZyB0aGUgcGx1Z2luIHdhcyBi
bG9ja2VkLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWJsb2NrZWQuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMt
dXJsLWJsb2NrZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYWExZDg5NmFjNDRjMzEyNGNkOWE3Mzk5OTA1
NTNmNzY1NzY1ZjNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1s
CkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
PC9zY3JpcHQ+Cis8bWV0YSBodHRwLWVxdWl2PSJYLVdlYktpdC1DU1AiIGNvbnRlbnQ9Im9iamVj
dC1zcmMgJ25vbmUnIj4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGVy
ZSBpcyBhIGNvbnNvbGUgbWVzc2FnZSBzYXlpbmcgdGhlIHBsdWdpbiB3YXMgYmxvY2tlZC4KKzxv
YmplY3QgZGF0YT0iL3BsdWdpbnMvcmVzb3VyY2VzL21vY2stcGx1Z2luLnBsIj48L29iamVjdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL2VjaG8tb2JqZWN0LWRhdGEu
cGwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9yZXNvdXJjZXMvZWNoby1vYmplY3QtZGF0YS5wbAppbmRleCAxOWQyMzMyNGZiMjI5MWQ0YjQx
YjczOTJhZGNkNGM5YTQ0YWJiNTQwLi5hMmJlYWNhZjFlOTk5ZjY3MDY2YTU3YmYwYWE1YWUzZWI1
Y2VkMWVmIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvZWNoby1vYmplY3QtZGF0YS5wbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJj
ZXMvZWNoby1vYmplY3QtZGF0YS5wbApAQCAtMTEsNiArMTEsOSBAQCBwcmludCAiPCFET0NUWVBF
IGh0bWw+XG4iOwogcHJpbnQgIjxodG1sPlxuIjsKIHByaW50ICI8Ym9keT5cbiI7CiBwcmludCAi
PHNjcmlwdCBzcmM9XCIvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4tbG9nZ2VyLmpzXCI+
PC9zY3JpcHQ+XG4iOwotcHJpbnQgIjxvYmplY3QgZGF0YT1cIiIuJGNnaS0+cGFyYW0oJ3EnKS4i
XCIgbG9nPVwiIi4kY2dpLT5wYXJhbSgnbG9nJykuIlwiPjwvb2JqZWN0PlxuIjsKK3ByaW50ICI8
b2JqZWN0IGRhdGE9XCIiLiRjZ2ktPnBhcmFtKCdxJykuIlwiXG4iOworcHJpbnQgIiAgICAgICAg
bG9nPVwiIi4kY2dpLT5wYXJhbSgnbG9nJykuIlwiXG4iIGlmICRjZ2ktPnBhcmFtKCdsb2cnKTsK
K3ByaW50ICIgICAgICAgIHR5cGU9XCIiLiRjZ2ktPnBhcmFtKCd0eXBlJykuIlwiXG4iIGlmICRj
Z2ktPnBhcmFtKCd0eXBlJyk7CitwcmludCAiPjwvb2JqZWN0PlxuIjsKIHByaW50ICI8L2JvZHk+
XG4iOwogcHJpbnQgIjwvaHRtbD5cbiI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155509</attachid>
            <date>2012-07-31 05:50:45 -0700</date>
            <delta_ts>2012-08-01 01:15:23 -0700</delta_ts>
            <desc>Dropping FIXME comment.</desc>
            <filename>bug-92675-20120731145028.patch</filename>
            <type>text/plain</type>
            <size>9404</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODgzY2IyNWU5NTA2NmM4
M2Y4YWNjZjk0YzBkNWI2NzZjYWM4YTY1MC4uMjE3N2VmY2JmYmIxYTgzNzZhMWQwZmYxYWJiN2U4
ODY4ODljY2M0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA3LTMxICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIHNob3VsZCBjb3JyZWN0
bHkgYmxvY2sgcGx1Z2luIHJlc291cmNlcyByZW5kZXJlZCBpbiBQbHVnaW5Eb2N1bWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjY3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNlcnRhaW4g
Y2FzZXMsIHBsdWdpbnMgYXJlbid0IGxvYWRlZCBkaXJlY3RseSwgYnV0IGFyZSBzdHVmZmVkIGlu
dG8gYQorICAgICAgICBuZXdseS1jcmVhdGVkIFBsdWdpbkRvY3VtZW50IGJlZm9yZSByZW5kZXJp
bmcuIFdoaWxlIHdlIHdlcmUgYWxyZWFkeQorICAgICAgICBjb3JyZWN0bHkgcG9wdWxhdGluZyBp
bmZvcm1hdGlvbiB0aGF0IGFsbG93ZWQgdXMgdG8gbWFrZSBkZWNpc2lvbnMgYWJvdXQKKyAgICAg
ICAgdGhhdCBkb2N1bWVudCdzIHNlY3VyaXR5IG9yaWdpbiwgYW5kIGFscmVhZHkgZGVhbGluZyB3
aXRoIHNhbmRib3gKKyAgICAgICAgc3RhdHVzIGJ5IGNyZWF0aW5nIGEgYFNpbmtEb2N1bWVudGAg
dGhhdCBpZ25vcmVkIHBsdWdpbiBkYXRhLCB3ZSB3ZXJlbid0CisgICAgICAgIGNvcnJlY3RseSBp
bmhlcml0aW5nIHRoZSBwYXJlbnQgZnJhbWUncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4gVGhp
cworICAgICAgICBwYXRjaCBjaGFuZ2VzIHRoYXQgdG8gY29ycmVjdGx5IGJsb2NrIG9yIGFsbG93
IHRoZSBwbHVnaW4gYWNjb3JkaW5nIHRvCisgICAgICAgIHRoZSBwb2xpY3kgb2YgdGhlIHByb3Rl
Y3RlZCByZXNvdXJjZSBpbiB3aGljaCB0aGUgUGx1Z2luRG9jdW1lbnQgaXMKKyAgICAgICAgZW1i
ZWRkZWQuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxv
Y2tlZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRXcml0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRXcml0ZXI6OmJlZ2luKToKKyAgICAgICAgICAgIFBvcHVsYXRl
IGEgY3JlYXRlZCBQbHVnaW5Eb2N1bWVudCB3aXRoIGl0cyBmcmFtZSdzIHBhcmVudCdzIENvbnRl
bnQKKyAgICAgICAgICAgIFNlY3VyaXR5IFBvbGljeS4KKwogMjAxMi0wNy0yOSAgVnNldm9sb2Qg
Vmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBS
ZXNvdXJjZSBhZ2VudCdzIHJlZmVyZW5jZSB0byBjYWNoZWQgcmVzb3VyY2VzIHNob3VsZCBiZSB3
ZWFrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAKaW5kZXggMzE3NGFm
YzQwNDUyYzU5OGVhOTBkOWE5NGYwNzRiNGU3ZGM0MWE5OS4uYTgxZGJhOWFmMzY2MTI3YjgwZDM0
YjMzOTlhYzNkNGFmOTYzYWNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50V3JpdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0
ZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnRXcml0ZXIuaCIKIAorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgog
I2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKQEAgLTM2LDYgKzM3LDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgiCiAjaW5jbHVk
ZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiUGxhY2Vob2xkZXJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiUmF3RGF0YURvY3VtZW50UGFyc2VyLmgiCkBAIC0xMTcsMTQgKzExOSwxMiBA
QCB2b2lkIERvY3VtZW50V3JpdGVyOjpiZWdpbihjb25zdCBLVVJMJiB1cmxSZWZlcmVuY2UsIGJv
b2wgZGlzcGF0Y2gsIERvY3VtZW50KiBvdwogICAgIC8vIENyZWF0ZSBhIG5ldyBkb2N1bWVudCBi
ZWZvcmUgY2xlYXJpbmcgdGhlIGZyYW1lLCBiZWNhdXNlIGl0IG1heSBuZWVkIHRvCiAgICAgLy8g
aW5oZXJpdCBhbiBhbGlhc2VkIHNlY3VyaXR5IGNvbnRleHQuCiAgICAgUmVmUHRyPERvY3VtZW50
PiBkb2N1bWVudCA9IGNyZWF0ZURvY3VtZW50KHVybCk7Ci0gICAgCisKICAgICAvLyBJZiB0aGUg
bmV3IGRvY3VtZW50IGlzIGZvciBhIFBsdWdpbiBidXQgd2UncmUgc3VwcG9zZWQgdG8gYmUgc2Fu
ZGJveGVkIGZyb20gUGx1Z2lucywKICAgICAvLyB0aGVuIHJlcGxhY2UgdGhlIGRvY3VtZW50IHdp
dGggb25lIHdob3NlIHBhcnNlciB3aWxsIGlnbm9yZSB0aGUgaW5jb21pbmcgZGF0YSAoYnVnIDM5
MzIzKQogICAgIGlmIChkb2N1bWVudC0+aXNQbHVnaW5Eb2N1bWVudCgpICYmIGRvY3VtZW50LT5p
c1NhbmRib3hlZChTYW5kYm94UGx1Z2lucykpCiAgICAgICAgIGRvY3VtZW50ID0gU2lua0RvY3Vt
ZW50OjpjcmVhdGUobV9mcmFtZSwgdXJsKTsKIAotICAgIC8vIEZJWE1FOiBEbyB3ZSBuZWVkIHRv
IGNvbnN1bHQgdGhlIGNvbnRlbnQgc2VjdXJpdHkgcG9saWN5IGhlcmUgYWJvdXQgYmxvY2tlZCBw
bHVnLWlucz8KLQogICAgIGJvb2wgcmVzZXRTY3JpcHRpbmcgPSAhKG1fZnJhbWUtPmxvYWRlcigp
LT5zdGF0ZU1hY2hpbmUoKS0+aXNEaXNwbGF5aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQoKSAmJiBt
X2ZyYW1lLT5kb2N1bWVudCgpLT5pc1NlY3VyZVRyYW5zaXRpb25Ubyh1cmwpKTsKICAgICBtX2Zy
YW1lLT5sb2FkZXIoKS0+Y2xlYXIocmVzZXRTY3JpcHRpbmcsIHJlc2V0U2NyaXB0aW5nKTsKICAg
ICBjbGVhcigpOwpAQCAtMTQxLDYgKzE0MSw5IEBAIHZvaWQgRG9jdW1lbnRXcml0ZXI6OmJlZ2lu
KGNvbnN0IEtVUkwmIHVybFJlZmVyZW5jZSwgYm9vbCBkaXNwYXRjaCwgRG9jdW1lbnQqIG93CiAg
ICAgICAgIGRvY3VtZW50LT5zZXRTZWN1cml0eU9yaWdpbihvd25lckRvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpKTsKICAgICB9CiAKKyAgICBpZiAoZG9jdW1lbnQtPmlzUGx1Z2luRG9jdW1lbnQo
KSAmJiBtX2ZyYW1lLT5vd25lckVsZW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPmNvbnRlbnRT
ZWN1cml0eVBvbGljeSgpLT5jb3B5U3RhdGVGcm9tKG1fZnJhbWUtPm93bmVyRWxlbWVudCgpLT5k
b2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CisKICAgICBtX2ZyYW1lLT5kb21X
aW5kb3coKS0+c2V0VVJMKGRvY3VtZW50LT51cmwoKSk7CiAgICAgbV9mcmFtZS0+ZG9tV2luZG93
KCktPnNldFNlY3VyaXR5T3JpZ2luKGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGU4YTE0NjBjNGZmNjc0OTY3MWY5MDI1NDMyZjlmZmRjNzRhYzFkYmYuLmU2Y2QyZmEzZjFl
ZDEzYjUyNWEwYTAxYWM2YTM3YjkxNWU4N2E5YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAx
Mi0wNy0zMSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUCBz
aG91bGQgY29ycmVjdGx5IGJsb2NrIHBsdWdpbiByZXNvdXJjZXMgcmVuZGVyZWQgaW4gUGx1Z2lu
RG9jdW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTI2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGw6IEFkZGVkLgor
ICAgICAgICAgICAgVGhpcyBsb3ZlbHkgcGVybCBzY3JpcHQgbW9ja3MgYSBwbHVnaW4gYnkgc2Vu
ZGluZyBhCisgICAgICAgICAgICBgQ29udGVudC1UeXBlIGFwcGxpY2F0aW9uL3gtd2Via2l0LXRl
c3QtbmV0c2NhcGVgIGhlYWRlci4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1hbGxvd2VkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
b2JqZWN0LXNyYy11cmwtYWxsb3dlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgICAgIFRlc3QgdGhhdCBub24tYGRhdGE6YCBVUkxzIHRoYXQgZW5kIHVwIGluIFBsdWdpbkRv
Y3VtZW50cyBhcmUgYWxzbworICAgICAgICAgICAgZGVhbHQgd2l0aCBjb3JyZWN0bHkgYnkgQ1NQ
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jl
c291cmNlcy9lY2hvLW9iamVjdC1kYXRhLnBsOgorCiAyMDEyLTA3LTI5ICBWc2V2b2xvZCBWbGFz
b3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlc291
cmNlIGFnZW50J3MgcmVmZXJlbmNlIHRvIGNhY2hlZCByZXNvdXJjZXMgc2hvdWxkIGJlIHdlYWsu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BsdWdpbnMvcmVzb3VyY2VzL21v
Y2stcGx1Z2luLnBsIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wbHVnaW5zL3Jlc291cmNlcy9t
b2NrLXBsdWdpbi5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTc4YTk0ZmE5YjkxMDA1NjUxOWMwODMyNDY0MmM3
ZjJjOWY5YWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wbHVn
aW5zL3Jlc291cmNlcy9tb2NrLXBsdWdpbi5wbApAQCAtMCwwICsxLDggQEAKKyMhL3Vzci9iaW4v
cGVybCAtd1QKK3VzZSBzdHJpY3Q7Cit1c2UgQ0dJOworCitteSAkY2dpID0gbmV3IENHSTsKKwor
cHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZVxu
XG4iOworcHJpbnQgIlRoaXMgaXMgYSBtb2NrIHBsdWdpbi4gSXQgZG9lcyBwcmV0dHkgbXVjaCBu
b3RoaW5nLiI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1hbGxvd2VkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29i
amVjdC1zcmMtdXJsLWFsbG93ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxOWUwMTdkYWJi
OThiYWIyZGE2NWRmZDczOWUzYTY1MDUxMjFiYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3Jj
LXVybC1hbGxvd2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUaGlzIHRlc3QgcGFzc2Vz
IGlmIHRoZXJlIGlzIG5vIGNvbnNvbGUgbWVzc2FnZSBzYXlpbmcgdGhlIHBsdWdpbiB3YXMgYmxv
Y2tlZC4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1hbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVy
bC1hbGxvd2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRkMTlkM2I0MzE3YjZhZWQzMDY5OWRhNDkwMDc3
ZGZhNDY2OThmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbApA
QCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwv
c2NyaXB0PgorPG1ldGEgaHR0cC1lcXVpdj0iWC1XZWJLaXQtQ1NQIiBjb250ZW50PSJvYmplY3Qt
c3JjICdzZWxmJyI+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUg
aXMgbm8gY29uc29sZSBtZXNzYWdlIHNheWluZyB0aGUgcGx1Z2luIHdhcyBibG9ja2VkLgorPG9i
amVjdCBkYXRhPSIvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGwiPjwvb2JqZWN0Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L29iamVjdC1zcmMtdXJsLWJsb2NrZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJk
ZGY1YzllZDM3MWNhZGE2Nzc2NTYxOWI4Zjk5ZTUyYzI0NGZmNzQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9v
YmplY3Qtc3JjLXVybC1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNP
TEUgTUVTU0FHRTogUmVmdXNlZCB0byBsb2FkIHRoZSBvYmplY3QgJ2h0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9wbHVnaW5zL3Jlc291cmNlcy9tb2NrLXBsdWdpbi5wbCcgYmVjYXVzZSBpdCB2aW9sYXRl
cyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIm9iamVj
dC1zcmMgJ25vbmUnIi4KKworVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGNvbnNvbGUg
bWVzc2FnZSBzYXlpbmcgdGhlIHBsdWdpbiB3YXMgYmxvY2tlZC4gCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qt
c3JjLXVybC1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmFhMWQ4OTZhYzQ0YzMxMjRjZDlhNzM5OTkwNTUzZjc2NTc2NWYzZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L29iamVjdC1zcmMtdXJsLWJsb2NrZWQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPG1ldGEgaHR0cC1lcXVp
dj0iWC1XZWJLaXQtQ1NQIiBjb250ZW50PSJvYmplY3Qtc3JjICdub25lJyI+Cis8L2hlYWQ+Cis8
Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBjb25zb2xlIG1lc3NhZ2Ugc2F5
aW5nIHRoZSBwbHVnaW4gd2FzIGJsb2NrZWQuCis8b2JqZWN0IGRhdGE9Ii9wbHVnaW5zL3Jlc291
cmNlcy9tb2NrLXBsdWdpbi5wbCI+PC9vYmplY3Q+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3Jlc291cmNlcy9lY2hvLW9iamVjdC1kYXRhLnBsIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL2VjaG8tb2JqZWN0LWRh
dGEucGwKaW5kZXggMTlkMjMzMjRmYjIyOTFkNGI0MWI3MzkyYWRjZDRjOWE0NGFiYjU0MC4uYTJi
ZWFjYWYxZTk5OWY2NzA2NmE1N2JmMGFhNWFlM2ViNWNlZDFlZiAxMDA3NTUKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2Vz
L2VjaG8tb2JqZWN0LWRhdGEucGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL2VjaG8tb2JqZWN0LWRhdGEucGwKQEAg
LTExLDYgKzExLDkgQEAgcHJpbnQgIjwhRE9DVFlQRSBodG1sPlxuIjsKIHByaW50ICI8aHRtbD5c
biI7CiBwcmludCAiPGJvZHk+XG4iOwogcHJpbnQgIjxzY3JpcHQgc3JjPVwiL3BsdWdpbnMvcmVz
b3VyY2VzL21vY2stcGx1Z2luLWxvZ2dlci5qc1wiPjwvc2NyaXB0PlxuIjsKLXByaW50ICI8b2Jq
ZWN0IGRhdGE9XCIiLiRjZ2ktPnBhcmFtKCdxJykuIlwiIGxvZz1cIiIuJGNnaS0+cGFyYW0oJ2xv
ZycpLiJcIj48L29iamVjdD5cbiI7CitwcmludCAiPG9iamVjdCBkYXRhPVwiIi4kY2dpLT5wYXJh
bSgncScpLiJcIlxuIjsKK3ByaW50ICIgICAgICAgIGxvZz1cIiIuJGNnaS0+cGFyYW0oJ2xvZycp
LiJcIlxuIiBpZiAkY2dpLT5wYXJhbSgnbG9nJyk7CitwcmludCAiICAgICAgICB0eXBlPVwiIi4k
Y2dpLT5wYXJhbSgndHlwZScpLiJcIlxuIiBpZiAkY2dpLT5wYXJhbSgndHlwZScpOworcHJpbnQg
Ij48L29iamVjdD5cbiI7CiBwcmludCAiPC9ib2R5PlxuIjsKIHByaW50ICI8L2h0bWw+XG4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155746</attachid>
            <date>2012-08-01 01:15:28 -0700</date>
            <delta_ts>2012-08-01 11:39:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92675-20120801101510.patch</filename>
            <type>text/plain</type>
            <size>8343</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQxMTAyNDFkNWMxMTgy
YWYzMTUwM2ZhNmFiOTlmNTI4OTU1ZTE4Ny4uYjE1NGIxMzlmMDdjMGY5ZjI3ZjA4ZTI4ODY3NzY4
NWIzYzFjMmI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA3LTMxICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIHNob3VsZCBjb3JyZWN0
bHkgYmxvY2sgcGx1Z2luIHJlc291cmNlcyByZW5kZXJlZCBpbiBQbHVnaW5Eb2N1bWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjY3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNlcnRhaW4g
Y2FzZXMsIHBsdWdpbnMgYXJlbid0IGxvYWRlZCBkaXJlY3RseSwgYnV0IGFyZSBzdHVmZmVkIGlu
dG8gYQorICAgICAgICBuZXdseS1jcmVhdGVkIFBsdWdpbkRvY3VtZW50IGJlZm9yZSByZW5kZXJp
bmcuIFdoaWxlIHdlIHdlcmUgYWxyZWFkeQorICAgICAgICBjb3JyZWN0bHkgcG9wdWxhdGluZyBp
bmZvcm1hdGlvbiB0aGF0IGFsbG93ZWQgdXMgdG8gbWFrZSBkZWNpc2lvbnMgYWJvdXQKKyAgICAg
ICAgdGhhdCBkb2N1bWVudCdzIHNlY3VyaXR5IG9yaWdpbiwgYW5kIGFscmVhZHkgZGVhbGluZyB3
aXRoIHNhbmRib3gKKyAgICAgICAgc3RhdHVzIGJ5IGNyZWF0aW5nIGEgJ1NpbmtEb2N1bWVudCcg
dGhhdCBpZ25vcmVkIHBsdWdpbiBkYXRhLCB3ZSB3ZXJlbid0CisgICAgICAgIGNvcnJlY3RseSBp
bmhlcml0aW5nIHRoZSBwYXJlbnQgZnJhbWUncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4gVGhp
cworICAgICAgICBwYXRjaCBjaGFuZ2VzIHRoYXQgdG8gY29ycmVjdGx5IGJsb2NrIG9yIGFsbG93
IHRoZSBwbHVnaW4gYWNjb3JkaW5nIHRvCisgICAgICAgIHRoZSBwb2xpY3kgb2YgdGhlIHByb3Rl
Y3RlZCByZXNvdXJjZSBpbiB3aGljaCB0aGUgUGx1Z2luRG9jdW1lbnQgaXMKKyAgICAgICAgZW1i
ZWRkZWQuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxv
Y2tlZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRXcml0ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRXcml0ZXI6OmJlZ2luKToKKyAgICAgICAgICAgIFBvcHVsYXRl
IGEgY3JlYXRlZCBQbHVnaW5Eb2N1bWVudCB3aXRoIGl0cyBmcmFtZSdzIHBhcmVudCdzIENvbnRl
bnQKKyAgICAgICAgICAgIFNlY3VyaXR5IFBvbGljeS4KKwogMjAxMi0wNy0zMSAgQWxleGVpIEZp
bGlwcG92ICA8YWxleGVpZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
dGFrZSBpbnRvIGFjY291bnQgdGhlIHdob2xlIHNlY3VyaXR5IG9yaWdpbiBpbnN0ZWFkIG9mIGp1
c3QgaG9zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5jcHAKaW5kZXggMzE3
NGFmYzQwNDUyYzU5OGVhOTBkOWE5NGYwNzRiNGU3ZGM0MWE5OS4uYTgxZGJhOWFmMzY2MTI3Yjgw
ZDM0YjMzOTlhYzNkNGFmOTYzYWNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRX
cml0ZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRXcml0ZXIuaCIKIAorI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5o
IgogI2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93Lmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTM2LDYgKzM3LDcgQEAKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAj
aW5jbHVkZSAiUGxhY2Vob2xkZXJEb2N1bWVudC5oIgogI2luY2x1ZGUgIlBsdWdpbkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiUmF3RGF0YURvY3VtZW50UGFyc2VyLmgiCkBAIC0xMTcsMTQgKzExOSwx
MiBAQCB2b2lkIERvY3VtZW50V3JpdGVyOjpiZWdpbihjb25zdCBLVVJMJiB1cmxSZWZlcmVuY2Us
IGJvb2wgZGlzcGF0Y2gsIERvY3VtZW50KiBvdwogICAgIC8vIENyZWF0ZSBhIG5ldyBkb2N1bWVu
dCBiZWZvcmUgY2xlYXJpbmcgdGhlIGZyYW1lLCBiZWNhdXNlIGl0IG1heSBuZWVkIHRvCiAgICAg
Ly8gaW5oZXJpdCBhbiBhbGlhc2VkIHNlY3VyaXR5IGNvbnRleHQuCiAgICAgUmVmUHRyPERvY3Vt
ZW50PiBkb2N1bWVudCA9IGNyZWF0ZURvY3VtZW50KHVybCk7Ci0gICAgCisKICAgICAvLyBJZiB0
aGUgbmV3IGRvY3VtZW50IGlzIGZvciBhIFBsdWdpbiBidXQgd2UncmUgc3VwcG9zZWQgdG8gYmUg
c2FuZGJveGVkIGZyb20gUGx1Z2lucywKICAgICAvLyB0aGVuIHJlcGxhY2UgdGhlIGRvY3VtZW50
IHdpdGggb25lIHdob3NlIHBhcnNlciB3aWxsIGlnbm9yZSB0aGUgaW5jb21pbmcgZGF0YSAoYnVn
IDM5MzIzKQogICAgIGlmIChkb2N1bWVudC0+aXNQbHVnaW5Eb2N1bWVudCgpICYmIGRvY3VtZW50
LT5pc1NhbmRib3hlZChTYW5kYm94UGx1Z2lucykpCiAgICAgICAgIGRvY3VtZW50ID0gU2lua0Rv
Y3VtZW50OjpjcmVhdGUobV9mcmFtZSwgdXJsKTsKIAotICAgIC8vIEZJWE1FOiBEbyB3ZSBuZWVk
IHRvIGNvbnN1bHQgdGhlIGNvbnRlbnQgc2VjdXJpdHkgcG9saWN5IGhlcmUgYWJvdXQgYmxvY2tl
ZCBwbHVnLWlucz8KLQogICAgIGJvb2wgcmVzZXRTY3JpcHRpbmcgPSAhKG1fZnJhbWUtPmxvYWRl
cigpLT5zdGF0ZU1hY2hpbmUoKS0+aXNEaXNwbGF5aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQoKSAm
JiBtX2ZyYW1lLT5kb2N1bWVudCgpLT5pc1NlY3VyZVRyYW5zaXRpb25Ubyh1cmwpKTsKICAgICBt
X2ZyYW1lLT5sb2FkZXIoKS0+Y2xlYXIocmVzZXRTY3JpcHRpbmcsIHJlc2V0U2NyaXB0aW5nKTsK
ICAgICBjbGVhcigpOwpAQCAtMTQxLDYgKzE0MSw5IEBAIHZvaWQgRG9jdW1lbnRXcml0ZXI6OmJl
Z2luKGNvbnN0IEtVUkwmIHVybFJlZmVyZW5jZSwgYm9vbCBkaXNwYXRjaCwgRG9jdW1lbnQqIG93
CiAgICAgICAgIGRvY3VtZW50LT5zZXRTZWN1cml0eU9yaWdpbihvd25lckRvY3VtZW50LT5zZWN1
cml0eU9yaWdpbigpKTsKICAgICB9CiAKKyAgICBpZiAoZG9jdW1lbnQtPmlzUGx1Z2luRG9jdW1l
bnQoKSAmJiBtX2ZyYW1lLT5vd25lckVsZW1lbnQoKSkKKyAgICAgICAgZG9jdW1lbnQtPmNvbnRl
bnRTZWN1cml0eVBvbGljeSgpLT5jb3B5U3RhdGVGcm9tKG1fZnJhbWUtPm93bmVyRWxlbWVudCgp
LT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CisKICAgICBtX2ZyYW1lLT5k
b21XaW5kb3coKS0+c2V0VVJMKGRvY3VtZW50LT51cmwoKSk7CiAgICAgbV9mcmFtZS0+ZG9tV2lu
ZG93KCktPnNldFNlY3VyaXR5T3JpZ2luKGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDg4YTMwNDU3YWE2ZTIxNWFmYWM5YzU2MzJlY2RiMWIyNmU2MGQ2Y2QuLmNiNTc5MjVj
M2FmZDk5MjFkODI0NmU4MzFiZjM1ZjFiNDQ3MjZiOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAor
MjAxMi0wNy0zMSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENT
UCBzaG91bGQgY29ycmVjdGx5IGJsb2NrIHBsdWdpbiByZXNvdXJjZXMgcmVuZGVyZWQgaW4gUGx1
Z2luRG9jdW1lbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTI2NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGw6IEFkZGVk
LgorICAgICAgICAgICAgVGhpcyBsb3ZlbHkgcGVybCBzY3JpcHQgbW9ja3MgYSBwbHVnaW4gYnkg
c2VuZGluZyBhCisgICAgICAgICAgICAnQ29udGVudC1UeXBlIGFwcGxpY2F0aW9uL3gtd2Via2l0
LXRlc3QtbmV0c2NhcGUnIGhlYWRlci4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1hbGxvd2VkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvb2JqZWN0LXNyYy11cmwtYWxsb3dlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2Vk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgICAgIFRlc3QgdGhhdCBub24tJ2RhdGE6JyBVUkxzIHRoYXQgZW5kIHVwIGluIFBsdWdp
bkRvY3VtZW50cyBhcmUgYWxzbworICAgICAgICAgICAgZGVhbHQgd2l0aCBjb3JyZWN0bHkgYnkg
Q1NQLgorCiAyMDEyLTA3LTMxICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1F0XVtXSzJdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBTa2lwIGZhaWxpbmcg
dGVzdHMgYW5kIHJlbW92ZSB1bm5lY2Vzc2FyeSBleHBlY3RlZCBmaWxlcy4gKGJ1Zzg1MjAzKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wbHVnaW5zL3Jlc291cmNlcy9tb2Nr
LXBsdWdpbi5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvbW9j
ay1wbHVnaW4ucGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI0MWM4Y2YxYjQ4MTkxN2UzOTkyMDc1NDU1ZTViZTY5
MjI4NDA5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGx1Z2lu
cy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGwKQEAgLTAsMCArMSw1IEBACisjIS91c3IvYmluL3Bl
cmwgLXdUCit1c2Ugc3RyaWN0OworCitwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94
LXdlYmtpdC10ZXN0LW5ldHNjYXBlXG5cbiI7CitwcmludCAiVGhpcyBpcyBhIG1vY2sgcGx1Z2lu
LiBJdCBkb2VzIHByZXR0eSBtdWNoIG5vdGhpbmcuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJs
LWFsbG93ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYWxsb3dlZC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDE5ZTAxN2RhYmI5OGJhYjJkYTY1ZGZkNzM5ZTNhNjUwNTEyMWJiYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEgQEAKK1RoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gY29uc29sZSBtZXNzYWdlIHNh
eWluZyB0aGUgcGx1Z2luIHdhcyBibG9ja2VkLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFs
bG93ZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzQwMWIz
N2NmYjFlNjcwNWRhMmM5OWJkNDI2MGRlZDgzNDcxODg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0
LXNyYy11cmwtYWxsb3dlZC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtV2Vi
S2l0LUNTUCIgY29udGVudD0ib2JqZWN0LXNyYyAnc2VsZiciPgorPC9oZWFkPgorPGJvZHk+CitU
aGlzIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGNvbnNvbGUgbWVzc2FnZSBzYXlpbmcgdGhl
IHBsdWdpbiB3YXMgYmxvY2tlZC4KKzxvYmplY3QgZGF0YT0iL3BsdWdpbnMvcmVzb3VyY2VzL21v
Y2stcGx1Z2luLnBsIj48L29iamVjdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2Jq
ZWN0LXNyYy11cmwtYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGRmNWM5ZWQzNzFjYWRhNjc3NjU2MTliOGY5OWU1MmMy
NDRmZjc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCB0aGUg
b2JqZWN0ICdodHRwOi8vMTI3LjAuMC4xOjgwMDAvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVn
aW4ucGwnIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSBkaXJlY3RpdmU6ICJvYmplY3Qtc3JjICdub25lJyIuCisKK1RoaXMgdGVzdCBwYXNz
ZXMgaWYgdGhlcmUgaXMgYSBjb25zb2xlIG1lc3NhZ2Ugc2F5aW5nIHRoZSBwbHVnaW4gd2FzIGJs
b2NrZWQuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11
cmwtYmxvY2tlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5YjljYjk2MzQwYWMwZWZhNDRjNzgwYjQ4Zjc2
ODQ4MzY5YzNmNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLmh0bWwK
QEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
Kzwvc2NyaXB0PgorPG1ldGEgaHR0cC1lcXVpdj0iWC1XZWJLaXQtQ1NQIiBjb250ZW50PSJvYmpl
Y3Qtc3JjICdub25lJyI+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgdGhl
cmUgaXMgYSBjb25zb2xlIG1lc3NhZ2Ugc2F5aW5nIHRoZSBwbHVnaW4gd2FzIGJsb2NrZWQuCis8
b2JqZWN0IGRhdGE9Ii9wbHVnaW5zL3Jlc291cmNlcy9tb2NrLXBsdWdpbi5wbCI+PC9vYmplY3Q+
Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155848</attachid>
            <date>2012-08-01 11:40:05 -0700</date>
            <delta_ts>2012-08-01 14:34:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92675-20120801203945.patch</filename>
            <type>text/plain</type>
            <size>6891</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWMxNzQ1Mzk2YjUzYjFm
YjU3YThiMzA1YWU5NzcwNDU2MjA0ZmVmYi4uNjFhMjE2NWQ5ZWMyMjY1MTdkZGZlZGUzMmI3MWJk
ZjZhYTk1MGRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA4LTAxICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIHNob3VsZCBjb3JyZWN0
bHkgYmxvY2sgcGx1Z2luIHJlc291cmNlcyByZW5kZXJlZCBpbiBQbHVnaW5Eb2N1bWVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjY3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNlcnRhaW4g
Y2FzZXMsIHBsdWdpbnMgYXJlbid0IGxvYWRlZCBkaXJlY3RseSwgYnV0IGFyZSBzdHVmZmVkIGlu
dG8gYQorICAgICAgICBuZXdseS1jcmVhdGVkIFBsdWdpbkRvY3VtZW50IGJlZm9yZSByZW5kZXJp
bmcuIFdoaWxlIHdlIHdlcmUgYWxyZWFkeQorICAgICAgICBjb3JyZWN0bHkgcG9wdWxhdGluZyBp
bmZvcm1hdGlvbiB0aGF0IGFsbG93ZWQgdXMgdG8gbWFrZSBkZWNpc2lvbnMgYWJvdXQKKyAgICAg
ICAgdGhhdCBkb2N1bWVudCdzIHNlY3VyaXR5IG9yaWdpbiwgYW5kIGFscmVhZHkgZGVhbGluZyB3
aXRoIHNhbmRib3gKKyAgICAgICAgc3RhdHVzIGJ5IGNyZWF0aW5nIGEgJ1NpbmtEb2N1bWVudCcg
dGhhdCBpZ25vcmVkIHBsdWdpbiBkYXRhLCB3ZSB3ZXJlbid0CisgICAgICAgIGNvcnJlY3RseSBp
bmhlcml0aW5nIHRoZSBwYXJlbnQgZnJhbWUncyBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4gVGhp
cworICAgICAgICBwYXRjaCBlbnN1cmVzIHRoYXQgUGx1Z2luRG9jdW1lbnRzIGNvcnJlY3RseSBp
bmhlcml0IHRoZWlyIHBhcmVudCdzCisgICAgICAgIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LCBt
ZWFuaW5nIHRoYXQgdGhlIHBsdWdpbiBpcyBibG9ja2VkIG9yIGFsbG93ZWQKKyAgICAgICAgYWNj
b3JkaW5nIHRvIHRoZSBwb2xpY3kgb2YgdGhlIHByb3RlY3RlZCByZXNvdXJjZSBpbiB3aGljaCB0
aGUKKyAgICAgICAgUGx1Z2luRG9jdW1lbnQgaXMgZW1iZWRkZWQuCisKKyAgICAgICAgVGVzdHM6
IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJs
LWFsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1sCisKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmluaXRDb250ZW50
U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAgICAgUG9wdWxhdGUgYSBjcmVhdGVkIFBsdWdpbkRv
Y3VtZW50IHdpdGggaXRzIGZyYW1lJ3MgcGFyZW50J3MgQ29udGVudAorICAgICAgICAgICAgU2Vj
dXJpdHkgUG9saWN5LgorCiAyMDEyLTA4LTAxICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENyYXNoZXMgaW4gTmV0d29ya1Jl
c291cmNlc0RhdGEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBiMjU3MzM5MjgzYjUxYTli
ZGUxNGY1MjVjMTYyZWIzZTYwZjQxM2ViLi42NGUwMzVkYzQwNTE1OGU4MTMxYTk4NzYzZjA3NWI5
MDFjZmU1NjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTUwNjMsOCArNTA2Myw5IEBA
IHZvaWQgRG9jdW1lbnQ6OmluaXRTZWN1cml0eUNvbnRleHQoKQogCiB2b2lkIERvY3VtZW50Ojpp
bml0Q29udGVudFNlY3VyaXR5UG9saWN5KCkKIHsKLSAgICBpZiAoIW1fZnJhbWUtPnRyZWUoKS0+
cGFyZW50KCkgfHwgIXNob3VsZEluaGVyaXRTZWN1cml0eU9yaWdpbkZyb21Pd25lcihtX3VybCkp
CisgICAgaWYgKCFtX2ZyYW1lLT50cmVlKCktPnBhcmVudCgpIHx8ICghc2hvdWxkSW5oZXJpdFNl
Y3VyaXR5T3JpZ2luRnJvbU93bmVyKG1fdXJsKSAmJiAhaXNQbHVnaW5Eb2N1bWVudCgpKSkKICAg
ICAgICAgcmV0dXJuOworCiAgICAgY29udGVudFNlY3VyaXR5UG9saWN5KCktPmNvcHlTdGF0ZUZy
b20obV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCkpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmI0MTY4OWQ0ZmNiZWYzNTNjYzM5MDQwMGE3NjEzYWVm
YjcxNTNiOS4uM2E5OGZiYjczZDk1N2IxNzc5ZWVmMjgyZjU3MzA1ZTE1ODE3OGMzMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDEyLTA4LTAxICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgQ1NQIHNob3VsZCBjb3JyZWN0bHkgYmxvY2sgcGx1Z2luIHJlc291cmNl
cyByZW5kZXJlZCBpbiBQbHVnaW5Eb2N1bWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wbHVnaW5zL3Jlc291cmNlcy9tb2Nr
LXBsdWdpbi5wbDogQWRkZWQuCisgICAgICAgICAgICBUaGlzIGxvdmVseSBwZXJsIHNjcmlwdCBt
b2NrcyBhIHBsdWdpbiBieSBzZW5kaW5nIGEKKyAgICAgICAgICAgICdDb250ZW50LVR5cGUgYXBw
bGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZScgaGVhZGVyLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1hbGxvd2VkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVj
dC1zcmMtdXJsLWJsb2NrZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2Vk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgVGVzdCB0aGF0IG5vbi0nZGF0YTonIFVSTHMgdGhh
dCBlbmQgdXAgaW4gUGx1Z2luRG9jdW1lbnRzIGFyZSBhbHNvCisgICAgICAgICAgICBkZWFsdCB3
aXRoIGNvcnJlY3RseSBieSBDU1AuCisKIDIwMTItMDgtMDEgIFplbm8gQWxiaXNzZXIgIDx6ZW5v
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVJFR1JFU1NJT04ocjEyMzc4Nik6IEl0IG1hZGUg
MyBmYXN0L2FuaW1hdGlvbiB0ZXN0cyBmYWlsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wbHVnaW5zL3Jlc291cmNlcy9tb2NrLXBsdWdpbi5wbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGwKbmV3IGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI0
MWM4Y2YxYjQ4MTkxN2UzOTkyMDc1NDU1ZTViZTY5MjI4NDA5OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGwK
QEAgLTAsMCArMSw1IEBACisjIS91c3IvYmluL3BlcmwgLXdUCit1c2Ugc3RyaWN0OworCitwcmlu
dCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlXG5cbiI7
CitwcmludCAiVGhpcyBpcyBhIG1vY2sgcGx1Z2luLiBJdCBkb2VzIHByZXR0eSBtdWNoIG5vdGhp
bmcuIjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0
LXNyYy11cmwtYWxsb3dlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE5ZTAxN2RhYmI5OGJh
YjJkYTY1ZGZkNzM5ZTNhNjUwNTEyMWJiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJs
LWFsbG93ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdCBwYXNzZXMgaWYg
dGhlcmUgaXMgbm8gY29uc29sZSBtZXNzYWdlIHNheWluZyB0aGUgcGx1Z2luIHdhcyBibG9ja2Vk
LiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFsbG93ZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtdXJsLWFs
bG93ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzQwMWIzN2NmYjFlNjcwNWRhMmM5OWJkNDI2MGRlZDgz
NDcxODg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYWxsb3dlZC5odG1sCkBAIC0w
LDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3Nj
cmlwdD4KKzxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIgY29udGVudD0ib2JqZWN0LXNy
YyAnc2VsZiciPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlz
IG5vIGNvbnNvbGUgbWVzc2FnZSBzYXlpbmcgdGhlIHBsdWdpbiB3YXMgYmxvY2tlZC4KKzxvYmpl
Y3QgZGF0YT0iL3BsdWdpbnMvcmVzb3VyY2VzL21vY2stcGx1Z2luLnBsIj48L29iamVjdD4KKzwv
Ym9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGRm
NWM5ZWQzNzFjYWRhNjc3NjU2MTliOGY5OWU1MmMyNDRmZjc0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2Jq
ZWN0LXNyYy11cmwtYmxvY2tlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitDT05TT0xF
IE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCB0aGUgb2JqZWN0ICdodHRwOi8vMTI3LjAuMC4xOjgw
MDAvcGx1Z2lucy9yZXNvdXJjZXMvbW9jay1wbHVnaW4ucGwnIGJlY2F1c2UgaXQgdmlvbGF0ZXMg
dGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJvYmplY3Qt
c3JjICdub25lJyIuCisKK1RoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBjb25zb2xlIG1l
c3NhZ2Ugc2F5aW5nIHRoZSBwbHVnaW4gd2FzIGJsb2NrZWQuIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNy
Yy11cmwtYmxvY2tlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy11cmwtYmxvY2tlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ5YjljYjk2MzQwYWMwZWZhNDRjNzgwYjQ4Zjc2ODQ4MzY5YzNmNmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9vYmplY3Qtc3JjLXVybC1ibG9ja2VkLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPG1ldGEgaHR0cC1lcXVp
dj0iWC1XZWJLaXQtQ1NQIiBjb250ZW50PSJvYmplY3Qtc3JjICdub25lJyI+Cis8L2hlYWQ+Cis8
Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBjb25zb2xlIG1lc3NhZ2Ugc2F5
aW5nIHRoZSBwbHVnaW4gd2FzIGJsb2NrZWQuCis8b2JqZWN0IGRhdGE9Ii9wbHVnaW5zL3Jlc291
cmNlcy9tb2NrLXBsdWdpbi5wbCI+PC9vYmplY3Q+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>