<?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>84054</bug_id>
          
          <creation_ts>2012-04-16 11:01:58 -0700</creation_ts>
          <short_desc>webkitURL.createObjectURL uris generated from an SSL site are marked insecure</short_desc>
          <delta_ts>2012-06-10 09:17:45 -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>DOM</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="Charles Pritchard">chuck</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>mitz</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>603285</commentid>
    <comment_count>0</comment_count>
    <who name="Charles Pritchard">chuck</who>
    <bug_when>2012-04-16 11:01:58 -0700</bug_when>
    <thetext>Cross-posted from Chromium: http://code.google.com/p/chromium/issues/detail?id=112166

Using &lt;img src=&quot;webkitURL.createObjectURL(file)&quot; /&gt; will result in a warning that insecure resources are being loaded, though the blob uri is secure, looking like: &quot;blob:https://example.com/uuid&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642689</commentid>
    <comment_count>1</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 12:24:59 -0700</bug_when>
    <thetext>I&apos;ll take a quick look at this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642737</commentid>
    <comment_count>2</comment_count>
      <attachid>146095</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 13:17:22 -0700</bug_when>
    <thetext>Created attachment 146095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642739</commentid>
    <comment_count>3</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 13:19:34 -0700</bug_when>
    <thetext>This change adds schemes that SchemeRegistry::canDisplayOnlyIfCanRequest matches to the schemes that FrameLoader::isMixedContent treats as secure. What could go wrong?

Jochen, can you help me think through the security implications this change might have?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642757</commentid>
    <comment_count>4</comment_count>
      <attachid>146095</attachid>
    <who name="">jochen</who>
    <bug_when>2012-06-06 13:36:29 -0700</bug_when>
    <thetext>Comment on attachment 146095
Patch

Generally looks good

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        Test: http/tests/security/mixedContent/blob-url-in-iframe.html

can you add a test for the filesystem: case as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642773</commentid>
    <comment_count>5</comment_count>
      <attachid>146095</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-06 13:53:22 -0700</bug_when>
    <thetext>Comment on attachment 146095
Patch

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

I&apos;m sorry I don&apos;t have time at the moment to sort out the correct patch for this problem.

&gt; Source/WebCore/loader/FrameLoader.cpp:872
&gt; -    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()))
&gt; +    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()) || SchemeRegistry::canDisplayOnlyIfCanRequest(url.protocol()))

This is not correct.  The fact that you can only display the scheme if you can request it has no bearing on whether it&apos;s mixed content.  In particular, imagine a document with universal access.  It can request every URL, even insecure ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642790</commentid>
    <comment_count>6</comment_count>
      <attachid>146105</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 14:06:21 -0700</bug_when>
    <thetext>Created attachment 146105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642792</commentid>
    <comment_count>7</comment_count>
      <attachid>146105</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 14:07:37 -0700</bug_when>
    <thetext>Comment on attachment 146105
Patch

Just saw Adam&apos;s comment, removing r?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642833</commentid>
    <comment_count>8</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 14:48:01 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I&apos;m sorry I don&apos;t have time at the moment to sort out the correct patch for this problem.

Who would you suggest that I ask?

&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:872
&gt; &gt; -    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()))
&gt; &gt; +    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()) || SchemeRegistry::canDisplayOnlyIfCanRequest(url.protocol()))
&gt; 
&gt; This is not correct.  The fact that you can only display the scheme if you can request it has no bearing on whether it&apos;s mixed content.  In particular, imagine a document with universal access.  It can request every URL, even insecure ones.

Is your objection to the patch the general idea of considering blob: and filesystem: schemes secure for the purposes of resolving isMixedContent?

We treat data: as a secure scheme at the moment, as it isn&apos;t exposed to an active network attacker. It seems that the same holds true for blob: and filesystem: resources. I&apos;d hesitate to add them directly as secure schemes, but they certainly seem to fall into the same category as data:.

Perhaps this is a naming issue? My understanding is that the thrust of the method is to enumerate those schemes that can only be requested by specific origins. At the moment, the only schemes that return true for this method are `blob:` and `filesystem:`. If there was another method called something in the direction of &quot;SchemeRegistry::isOriginBoundScheme()&quot;, would you have the same objection?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642835</commentid>
    <comment_count>9</comment_count>
      <attachid>146105</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 14:48:51 -0700</bug_when>
    <thetext>Comment on attachment 146105
Patch

(sorry, actually removing r?, not setting r-. :/ )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642838</commentid>
    <comment_count>10</comment_count>
      <attachid>146105</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-06 14:51:13 -0700</bug_when>
    <thetext>Comment on attachment 146105
Patch

(Double sorry: I see that Adam set r-. I&apos;ll stop touching things now.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642849</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-06 14:57:07 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #5)
&gt; &gt; I&apos;m sorry I don&apos;t have time at the moment to sort out the correct patch for this problem.
&gt; 
&gt; Who would you suggest that I ask?
&gt; 
&gt; &gt; &gt; Source/WebCore/loader/FrameLoader.cpp:872
&gt; &gt; &gt; -    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()))
&gt; &gt; &gt; +    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()) || SchemeRegistry::canDisplayOnlyIfCanRequest(url.protocol()))
&gt; &gt; 
&gt; &gt; This is not correct.  The fact that you can only display the scheme if you can request it has no bearing on whether it&apos;s mixed content.  In particular, imagine a document with universal access.  It can request every URL, even insecure ones.
&gt; 
&gt; Is your objection to the patch the general idea of considering blob: and filesystem: schemes secure for the purposes of resolving isMixedContent?

Knowing that the scheme is blob or filesystem is insufficient for determining whether it&apos;s mixed content.

&gt; We treat data: as a secure scheme at the moment, as it isn&apos;t exposed to an active network attacker.

Knowing that the scheme is data is sufficient for determining whether it&apos;s mixed content.

&gt; It seems that the same holds true for blob: and filesystem: resources.

Except that it&apos;s not true in the case of a document with universal access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643341</commentid>
    <comment_count>12</comment_count>
      <attachid>146236</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-07 02:09:45 -0700</bug_when>
    <thetext>Created attachment 146236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643344</commentid>
    <comment_count>13</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-07 02:14:44 -0700</bug_when>
    <thetext>Does this look better, Adam/Jochen? SecurityOrigin understands the concept of a scheme whose &quot;inner URL&quot; ought to be used for evaluation of its secure status. Routing the KURL through SecurityOrigin in addition to checking its status directly seems to behave correctly, though I&apos;m not sure of its performance impact.

If that&apos;s a concern, an option would be to move `shouldUseInnerURL` to SecurityOrigin&apos;s public interface in order to check whether it&apos;s necessary to create a SecurityOrigin object.

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644006</commentid>
    <comment_count>14</comment_count>
      <attachid>146236</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-07 15:44:55 -0700</bug_when>
    <thetext>Comment on attachment 146236
Patch

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

&gt; Source/WebCore/loader/FrameLoader.cpp:876
&gt; +    RefPtr&lt;SecurityOrigin&gt; targetOrigin = SecurityOrigin::create(url);
&gt; +    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()) || SchemeRegistry::shouldTreatURLSchemeAsSecure(targetOrigin-&gt;protocol()))

I like this approach, but it might be kind of slow.  I wonder if we should add a static method SecurityOrigin::isSecure(url) and have it do the innerURL thing directly (avoiding a bunch of mallocs).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644449</commentid>
    <comment_count>15</comment_count>
      <attachid>146501</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-08 01:06:55 -0700</bug_when>
    <thetext>Created attachment 146501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644450</commentid>
    <comment_count>16</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-08 01:08:46 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 146236 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146236&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:876
&gt; &gt; +    RefPtr&lt;SecurityOrigin&gt; targetOrigin = SecurityOrigin::create(url);
&gt; &gt; +    if (!url.isValid() || SchemeRegistry::shouldTreatURLSchemeAsSecure(url.protocol()) || SchemeRegistry::shouldTreatURLSchemeAsSecure(targetOrigin-&gt;protocol()))
&gt; 
&gt; I like this approach, but it might be kind of slow.  I wonder if we should add a static method SecurityOrigin::isSecure(url) and have it do the innerURL thing directly (avoiding a bunch of mallocs).

This makes a lot of sense. It&apos;s cleaner than exposing the innerURL logic. Patch attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644851</commentid>
    <comment_count>17</comment_count>
      <attachid>146501</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-08 11:13:09 -0700</bug_when>
    <thetext>Comment on attachment 146501
Patch

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

This looks great.  Thanks for iterating on the patch.

&gt; Source/WebCore/page/SecurityOrigin.cpp:212
&gt; +// static

nit: We usually skip these comments in WebKit.  There might be some in this file already because I used to add them before I knew the right style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644880</commentid>
    <comment_count>18</comment_count>
      <attachid>146618</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-08 11:32:26 -0700</bug_when>
    <thetext>Created attachment 146618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644883</commentid>
    <comment_count>19</comment_count>
      <attachid>146618</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-06-08 11:34:06 -0700</bug_when>
    <thetext>Comment on attachment 146618
Patch

(In reply to comment #17)
&gt; (From update of attachment 146501 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146501&amp;action=review
&gt; 
&gt; This looks great.  Thanks for iterating on the patch.

Thanks for helping me make it better.

&gt; &gt; Source/WebCore/page/SecurityOrigin.cpp:212
&gt; &gt; +// static
&gt; 
&gt; nit: We usually skip these comments in WebKit.  There might be some in this file already because I used to add them before I knew the right style.

New patch attached. I checked the rest of the file, it&apos;s clean. I think I just added the comment out of habit, not because I saw you doing it elsewhere. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645193</commentid>
    <comment_count>20</comment_count>
      <attachid>146618</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-08 18:51:42 -0700</bug_when>
    <thetext>Comment on attachment 146618
Patch

Clearing flags on attachment: 146618

Committed r119883: &lt;http://trac.webkit.org/changeset/119883&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645194</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-08 18:51:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645542</commentid>
    <comment_count>22</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-06-10 09:06:38 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 146618 [details])
&gt; Clearing flags on attachment: 146618
&gt; 
&gt; Committed r119883: &lt;http://trac.webkit.org/changeset/119883&gt;

The tests added in this change have been failing ever since. See bug 88736.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645547</commentid>
    <comment_count>23</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-10 09:10:28 -0700</bug_when>
    <thetext>&gt; The tests added in this change have been failing ever since. See bug 88736.

I replied on that bug.  Looks like the tests are failing because they&apos;re testing features that aren&apos;t enabled for that port.  They should probably be skipped until you enable the tested features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645562</commentid>
    <comment_count>24</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-06-10 09:17:45 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; &gt; The tests added in this change have been failing ever since. See bug 88736.
&gt; 
&gt; I replied on that bug.  Looks like the tests are failing because they&apos;re testing features that aren&apos;t enabled for that port.  They should probably be skipped until you enable the tested features.

It seems unlikely that the LEGACY_WEBKIT_BLOB_BUILDER feature will ever be enabled in ports that don’t already have it enabled.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146095</attachid>
            <date>2012-06-06 13:17:22 -0700</date>
            <delta_ts>2012-06-06 14:06:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84054-20120606221722.patch</filename>
            <type>text/plain</type>
            <size>4594</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBiZTZmYmUwNzMwNTll
ZmFhOTJhOTI4NzIwM2MwYjYyYzQyYmQ4Ny4uNzhiODdiYmQ5MGEwY2Y0YmI0MjUwNWMzYzdhZGYx
ODRjYzk3MmNiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTA2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXhjbHVkaW5nIGJsb2I6IGFu
ZCBmaWxlc3lzdGVtOiBzY2hlbWVzIGZyb20gdGhlIG1peGVkIGNvbnRlbnQgY2hlY2suCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDA1NAorCisgICAg
ICAgIExvYWRpbmcgYSBibG9iOiBvciBmaWxlc3lzdGVtOiBVUkwgaW50byBhbiBpZnJhbWUgb3Ig
aW1hZ2UgdGhhdCdzCisgICAgICAgIGNvbnRhaW5lZCBvbiBhbiBIVFRQUyBwYWdlIHNob3VsZG4n
dCBnZW5lcmF0ZSBhIG1peGVkIGNvbnRlbnQgd2FybmluZy4KKyAgICAgICAgVGhpcyBjaGFuZ2Ug
YWRkcyBzY2hlbWVzIHRoYXQgU2NoZW1lUmVnaXN0cnk6OmNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1
ZXN0CisgICAgICAgIG1hdGNoZXMgdG8gdGhlIHNjaGVtZXMgdGhhdCBGcmFtZUxvYWRlcjo6aXNN
aXhlZENvbnRlbnQgdHJlYXRzIGFzCisgICAgICAgIHNlY3VyZS4gV2hhdCBjb3VsZCBnbyB3cm9u
Zz8KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUuaHRt
bAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjppc01peGVkQ29udGVudCk6CisKIDIwMTItMDYtMDUgIEVyaWsgQXJ2aWRz
c29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIEltcHJvdmUgdmFyaWFibGUg
cmVzb2x1dGlvbiBvcmRlciBvbiB3aW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCmluZGV4IGQzNmQxMTA0OWUyMGQ2MzlhZDQ0NmQ3YzYwNGFmMzY0ZTVhYmM4YzcuLjVlZDY3
ZTM2ZTRiNjMyZWFmZmI0OWZiNDZkNDJlODQxYmIwNzczMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcApAQCAtODY5LDcgKzg2OSw3IEBAIGJvb2wgRnJhbWVMb2FkZXI6Omlz
TWl4ZWRDb250ZW50KFNlY3VyaXR5T3JpZ2luKiBjb250ZXh0LCBjb25zdCBLVVJMJiB1cmwpCiAg
ICAgaWYgKGNvbnRleHQtPnByb3RvY29sKCkgIT0gImh0dHBzIikKICAgICAgICAgcmV0dXJuIGZh
bHNlOyAgLy8gV2Ugb25seSBjYXJlIGFib3V0IEhUVFBTIHNlY3VyaXR5IG9yaWdpbnMuCiAKLSAg
ICBpZiAoIXVybC5pc1ZhbGlkKCkgfHwgU2NoZW1lUmVnaXN0cnk6OnNob3VsZFRyZWF0VVJMU2No
ZW1lQXNTZWN1cmUodXJsLnByb3RvY29sKCkpKQorICAgIGlmICghdXJsLmlzVmFsaWQoKSB8fCBT
Y2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc1NlY3VyZSh1cmwucHJvdG9jb2wo
KSkgfHwgU2NoZW1lUmVnaXN0cnk6OmNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0KHVybC5wcm90
b2NvbCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOyAgLy8gTG9hZGluZyB0aGVzZSBwcm90b2Nv
bHMgaXMgc2VjdXJlLgogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2ZhMDU1ZmQ0MDM5OWUx
ZDczZDAxY2JkZTdlODQzNTQ2N2MyMzY3Yi4uMmY0YjljNTI5OWNjNDdkZDdkZDNmNTkzZmQ4MmI1
NDQ5N2NjOGJjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTA2ICBNaWtlIFdlc3Qg
IDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXhjbHVkaW5nIGJsb2I6IGFuZCBmaWxl
c3lzdGVtOiBzY2hlbWVzIGZyb20gdGhlIG1peGVkIGNvbnRlbnQgY2hlY2suCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDA1NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZy
YW1lLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA2LTA1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgogCiAgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIG9uIG1hYy1saW9uLXdr
MiBpbiBmYXN0L2hpZHBpL2RldmljZS1zY2FsZS1mYWN0b3ItcGFpbnQuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwt
aW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjJmMzhkMDVlMmNmZjllNjUyZWVmYWEyODliOTdiZDQzYjlmNTEyOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJs
LWluLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1RoaXMgdGVzdHMgdGhh
dCBibG9iIFVSTHMgY3JlYXRlZCBpbiBhIHNlY3VyZSBjb250ZXh0IGFyZSB0cmVhdGVkIGFzIHNl
Y3VyZSBvcmlnaW5zLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgcmVuZGVycyBQQVNT
IGNvcnJlY3RseSwgYW5kIG5vIGNvbnNvbGUgd2FybmluZyBhcHBlYXJzLgorCistLS0tLS0tLQor
RnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCitQQVNT
ICgxLzEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVk
Q29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmUzMGI5N2FhMmE2YmZlYzBjMWExM2FmYjIwYmE4NmFkM2MzNGUwMjEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVy
bC1pbi1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+Cis8aWZyYW1lPjwvaWZyYW1lPgorPHA+CisgIFRoaXMgdGVzdHMgdGhhdCBibG9i
IFVSTHMgY3JlYXRlZCBpbiBhIHNlY3VyZSBjb250ZXh0IGFyZSB0cmVhdGVkIGFzIHNlY3VyZQor
ICBvcmlnaW5zLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgcmVuZGVycyBQQVNTIGNv
cnJlY3RseSwgYW5kIG5vCisgIGNvbnNvbGUgd2FybmluZyBhcHBlYXJzLgorPC9wPgorCis8c2Ny
aXB0PgoraWYgKGxvY2F0aW9uLnByb3RvY29sICE9ICdodHRwczonKQorICAgIGxvY2F0aW9uID0g
J2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWlu
LWlmcmFtZS5odG1sJzsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Cit9Cit2YXIgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
aWZyYW1lJyk7Cit2YXIgYmIgPSBuZXcgV2ViS2l0QmxvYkJ1aWxkZXIoKTsgCitiYi5hcHBlbmQo
JzxoMT5QQVNTICgxLzEpPC9oMT4nKTsKK2JiLmdldEJsb2IoJ3RleHQvaHRtbCcpOworaWZyYW1l
Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9OworaWZy
YW1lLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwoYmIuZ2V0QmxvYigndGV4dC9odG1s
JykpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146105</attachid>
            <date>2012-06-06 14:06:21 -0700</date>
            <delta_ts>2012-06-07 02:09:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84054-20120606230620.patch</filename>
            <type>text/plain</type>
            <size>7391</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBiZTZmYmUwNzMwNTll
ZmFhOTJhOTI4NzIwM2MwYjYyYzQyYmQ4Ny4uMTVmYzk5YzFkZmY1ZDM0YTliYWE1OGQ1MjUzZTkx
NTEzMWYzODU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTA2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXhjbHVkaW5nIGJsb2I6IGFu
ZCBmaWxlc3lzdGVtOiBzY2hlbWVzIGZyb20gdGhlIG1peGVkIGNvbnRlbnQgY2hlY2suCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDA1NAorCisgICAg
ICAgIExvYWRpbmcgYSBibG9iOiBvciBmaWxlc3lzdGVtOiBVUkwgaW50byBhbiBpZnJhbWUgb3Ig
aW1hZ2UgdGhhdCdzCisgICAgICAgIGNvbnRhaW5lZCBvbiBhbiBIVFRQUyBwYWdlIHNob3VsZG4n
dCBnZW5lcmF0ZSBhIG1peGVkIGNvbnRlbnQgd2FybmluZy4KKyAgICAgICAgVGhpcyBjaGFuZ2Ug
YWRkcyBzY2hlbWVzIHRoYXQgU2NoZW1lUmVnaXN0cnk6OmNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1
ZXN0CisgICAgICAgIG1hdGNoZXMgdG8gdGhlIHNjaGVtZXMgdGhhdCBGcmFtZUxvYWRlcjo6aXNN
aXhlZENvbnRlbnQgdHJlYXRzIGFzCisgICAgICAgIHNlY3VyZS4gV2hhdCBjb3VsZCBnbyB3cm9u
Zz8KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUuaHRt
bAorICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxlc3lz
dGVtLXVybC1pbi1pZnJhbWUuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjppc01peGVkQ29udGVudCk6CisKIDIw
MTItMDYtMDUgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
VjhdIEltcHJvdmUgdmFyaWFibGUgcmVzb2x1dGlvbiBvcmRlciBvbiB3aW5kb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGQzNmQxMTA0OWUyMGQ2MzlhZDQ0NmQ3YzYw
NGFmMzY0ZTVhYmM4YzcuLjVlZDY3ZTM2ZTRiNjMyZWFmZmI0OWZiNDZkNDJlODQxYmIwNzczMzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODY5LDcgKzg2OSw3IEBA
IGJvb2wgRnJhbWVMb2FkZXI6OmlzTWl4ZWRDb250ZW50KFNlY3VyaXR5T3JpZ2luKiBjb250ZXh0
LCBjb25zdCBLVVJMJiB1cmwpCiAgICAgaWYgKGNvbnRleHQtPnByb3RvY29sKCkgIT0gImh0dHBz
IikKICAgICAgICAgcmV0dXJuIGZhbHNlOyAgLy8gV2Ugb25seSBjYXJlIGFib3V0IEhUVFBTIHNl
Y3VyaXR5IG9yaWdpbnMuCiAKLSAgICBpZiAoIXVybC5pc1ZhbGlkKCkgfHwgU2NoZW1lUmVnaXN0
cnk6OnNob3VsZFRyZWF0VVJMU2NoZW1lQXNTZWN1cmUodXJsLnByb3RvY29sKCkpKQorICAgIGlm
ICghdXJsLmlzVmFsaWQoKSB8fCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVB
c1NlY3VyZSh1cmwucHJvdG9jb2woKSkgfHwgU2NoZW1lUmVnaXN0cnk6OmNhbkRpc3BsYXlPbmx5
SWZDYW5SZXF1ZXN0KHVybC5wcm90b2NvbCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOyAgLy8g
TG9hZGluZyB0aGVzZSBwcm90b2NvbHMgaXMgc2VjdXJlLgogCiAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggY2ZhMDU1ZmQ0MDM5OWUxZDczZDAxY2JkZTdlODQzNTQ2N2MyMzY3Yi4uOTFkYTI0ZDVm
ZTQ0YTcxMDUyZDU3YTVjMDk2YTM4ZGY1OTVmYTY0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEyLTA2LTA2ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXhj
bHVkaW5nIGJsb2I6IGFuZCBmaWxlc3lzdGVtOiBzY2hlbWVzIGZyb20gdGhlIG1peGVkIGNvbnRl
bnQgY2hlY2suCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NDA1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFtZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50
L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFtZS5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0wNSAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBc3NlcnRpb24g
ZmFpbHVyZSBvbiBtYWMtbGlvbi13azIgaW4gZmFzdC9oaWRwaS9kZXZpY2Utc2NhbGUtZmFjdG9y
LXBhaW50Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyZjM4ZDA1ZTJjZmY5ZTY1MmVlZmFhMjg5Yjk3YmQ0M2I5
ZjUxMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorCitUaGlzIHRlc3RzIHRoYXQgYmxvYiBVUkxzIGNyZWF0ZWQgaW4gYSBzZWN1cmUgY29u
dGV4dCBhcmUgdHJlYXRlZCBhcyBzZWN1cmUgb3JpZ2lucy4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0
aGUgaWZyYW1lIHJlbmRlcnMgUEFTUyBjb3JyZWN0bHksIGFuZCBubyBjb25zb2xlIHdhcm5pbmcg
YXBwZWFycy4KKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAt
LT4tLT4nCistLS0tLS0tLQorUEFTUyAoMS8xKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1p
ZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzBiOTdhYTJhNmJmZWMwYzFhMTNhZmIyMGJhODZhZDNj
MzRlMDIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGlmcmFtZT48L2lmcmFtZT4KKzxwPgor
ICBUaGlzIHRlc3RzIHRoYXQgYmxvYiBVUkxzIGNyZWF0ZWQgaW4gYSBzZWN1cmUgY29udGV4dCBh
cmUgdHJlYXRlZCBhcyBzZWN1cmUKKyAgb3JpZ2lucy4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUg
aWZyYW1lIHJlbmRlcnMgUEFTUyBjb3JyZWN0bHksIGFuZCBubworICBjb25zb2xlIHdhcm5pbmcg
YXBwZWFycy4KKzwvcD4KKworPHNjcmlwdD4KK2lmIChsb2NhdGlvbi5wcm90b2NvbCAhPSAnaHR0
cHM6JykKKyAgICBsb2NhdGlvbiA9ICdodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUuaHRtbCc7CisKK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQordmFyIGlmcmFtZSA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOwordmFyIGJiID0gbmV3IFdlYktpdEJsb2JC
dWlsZGVyKCk7IAorYmIuYXBwZW5kKCc8aDE+UEFTUyAoMS8xKTwvaDE+Jyk7CitiYi5nZXRCbG9i
KCd0ZXh0L2h0bWwnKTsKK2lmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfTsKK2lmcmFtZS5zcmMgPSB3ZWJraXRVUkwuY3JlYXRlT2JqZWN0VVJM
KGJiLmdldEJsb2IoJ3RleHQvaHRtbCcpKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
ZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFtZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzYwNGRhODRkM2YwMzQxNTAyMTdlODVjODUzYTJhNDA5MzYx
OGE2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw4IEBACitBTEVSVDogUEFTUyAoMS8yKTogRmlsZSB3cml0dGVuCisKK1RoaXMgdGVzdHMg
dGhhdCBmaWxlc3lzdGVtIFVSTHMgY3JlYXRlZCBpbiBhIHNlY3VyZSBjb250ZXh0IGFyZSB0cmVh
dGVkIGFzIHNlY3VyZSBvcmlnaW5zLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgcmVu
ZGVycyBQQVNTIGNvcnJlY3RseSwgYW5kIG5vIGNvbnNvbGUgd2FybmluZyBhcHBlYXJzLgorCist
LS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0t
LS0tCitQQVNTICgyLzIpOiBGaWxlIGRpc3BsYXllZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvZmlsZXN5c3RlbS11cmwtaW4taWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxl
c3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2RiMjQxODFmYjhmNDc3MjBj
NDU4MmI4NTY0ODg2MjMwNWJhY2VhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLmh0
bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGlm
cmFtZT48L2lmcmFtZT4KKzxwPgorICBUaGlzIHRlc3RzIHRoYXQgZmlsZXN5c3RlbSBVUkxzIGNy
ZWF0ZWQgaW4gYSBzZWN1cmUgY29udGV4dCBhcmUgdHJlYXRlZCBhcworICBzZWN1cmUgb3JpZ2lu
cy4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIHJlbmRlcnMgUEFTUyBjb3JyZWN0bHks
IGFuZCBubworICBjb25zb2xlIHdhcm5pbmcgYXBwZWFycy4KKzwvcD4KKworPHNjcmlwdD4KK2lm
IChsb2NhdGlvbi5wcm90b2NvbCAhPSAnaHR0cHM6JykKKyAgICBsb2NhdGlvbiA9ICdodHRwczov
LzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1p
ZnJhbWUuaHRtbCc7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworfQorCit2YXIgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
aWZyYW1lJyk7CitpZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK307CisKKy8vIE9wZW5pbmcgYSBmaWxlIHN5c3RlbSB3aXRoIHRlbXBvcmFyeSBz
dG9yYWdlCit3aW5kb3cud2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oVEVNUE9SQVJZLCAxMDI0KjEw
MjQgLyoxTUIqLywgZnVuY3Rpb24oZnMpIHsKKyAgICBmcy5yb290LmdldEZpbGUoJ3Rlc3QuaHRt
bCcsIHtjcmVhdGU6IHRydWV9LCBmdW5jdGlvbihmaWxlRW50cnkpIHsKKyAgICAgICAgZmlsZUVu
dHJ5LmNyZWF0ZVdyaXRlcihmdW5jdGlvbihmaWxlV3JpdGVyKSB7CisgICAgICAgICAgICBmaWxl
V3JpdGVyLm9ud3JpdGVlbmQgPSBmdW5jdGlvbihlKSB7CisgICAgICAgICAgICAgICAgYWxlcnQo
J1BBU1MgKDEvMik6IEZpbGUgd3JpdHRlbicpOworICAgICAgICAgICAgICAgIGlmcmFtZS5zcmMg
PSBmaWxlRW50cnkudG9VUkwoJ3RleHQvaHRtbCcpOworICAgICAgICAgICAgfTsKKworICAgICAg
ICAgICAgLy8gQ3JlYXRlIGEgbmV3IEJsb2IgYW5kIHdyaXRlIGl0IHRvIGxvZy50eHQuCisgICAg
ICAgICAgICB2YXIgYmIgPSBuZXcgV2ViS2l0QmxvYkJ1aWxkZXIoKTsKKyAgICAgICAgICAgIGJi
LmFwcGVuZCgnUEFTUyAoMi8yKTogRmlsZSBkaXNwbGF5ZWQnKTsKKyAgICAgICAgICAgIGZpbGVX
cml0ZXIud3JpdGUoYmIuZ2V0QmxvYigndGV4dC9odG1sJykpOyAKKyAgICAgICAgfSk7CisgICAg
fSk7Cit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146236</attachid>
            <date>2012-06-07 02:09:45 -0700</date>
            <delta_ts>2012-06-08 01:06:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84054-20120607110942.patch</filename>
            <type>text/plain</type>
            <size>7657</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBiZTZmYmUwNzMwNTll
ZmFhOTJhOTI4NzIwM2MwYjYyYzQyYmQ4Ny4uNjY0NTQ5ZjUwM2QxM2I3Mzk4MzZkZTIwNWI5YTkw
MTNmMjM2NTAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTA2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRXhjbHVkaW5nIGJsb2I6IGFu
ZCBmaWxlc3lzdGVtOiBzY2hlbWVzIGZyb20gdGhlIG1peGVkIGNvbnRlbnQgY2hlY2suCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDA1NAorCisgICAg
ICAgIExvYWRpbmcgYSBibG9iOiBvciBmaWxlc3lzdGVtOiBVUkwgaW50byBhbiBpZnJhbWUgb3Ig
aW1hZ2UgdGhhdCdzCisgICAgICAgIGNvbnRhaW5lZCBvbiBhbiBIVFRQUyBwYWdlIHNob3VsZG4n
dCBnZW5lcmF0ZSBhIG1peGVkIGNvbnRlbnQgd2FybmluZy4KKyAgICAgICAgVGhpcyBjaGFuZ2Ug
YWRkcyBhIGNoZWNrIGFnYWluc3QgYSBVUkxzIFNlY3VyaXR5T3JpZ2luJ3Mgc2NoZW1lIHRvCisg
ICAgICAgIEZyYW1lTG9hZGVyOjppc01peGVkQ29udGVudC4gVGhpcyBzaG91bGQgcHJvcGVybHkg
Y2hlY2sgdGhhdCB0aGUKKyAgICAgICAgc28tY2FsbGVkICJpbm5lciBVUkwiJ3Mgc2NoZW1lIGlz
IHNlY3VyZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJh
bWUuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9m
aWxlc3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjppc01peGVkQ29udGVudCk6
CisKIDIwMTItMDYtMDUgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbVjhdIEltcHJvdmUgdmFyaWFibGUgcmVzb2x1dGlvbiBvcmRlciBvbiB3aW5kb3cKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGQzNmQxMTA0OWUyMGQ2MzlhZDQ0
NmQ3YzYwNGFmMzY0ZTVhYmM4YzcuLmIxNjU5OTBlN2IyYTI2NDEyNjg2NjRiYjg5YjQ1MThkMTA3
NTc3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODY5LDcgKzg2
OSwxMSBAQCBib29sIEZyYW1lTG9hZGVyOjppc01peGVkQ29udGVudChTZWN1cml0eU9yaWdpbiog
Y29udGV4dCwgY29uc3QgS1VSTCYgdXJsKQogICAgIGlmIChjb250ZXh0LT5wcm90b2NvbCgpICE9
ICJodHRwcyIpCiAgICAgICAgIHJldHVybiBmYWxzZTsgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBI
VFRQUyBzZWN1cml0eSBvcmlnaW5zLgogCi0gICAgaWYgKCF1cmwuaXNWYWxpZCgpIHx8IFNjaGVt
ZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzU2VjdXJlKHVybC5wcm90b2NvbCgpKSkK
KyAgICAvLyBTb21lIHByb3RvY29scyByZWx5IG9uIHRoZSBpbm5lciBVUkwgZm9yIHNlY3VyaXR5
OiBjcmVhdGUgYSBzZWN1cml0eQorICAgIC8vIG9yaWdpbiBhbmQgY2hlY2sgaXRzIHByb3RvY29s
IGFzIHdlbGwsIHJhdGhlciB0aGFuIHJlbHlpbmcgb25seSBvbiB0aGUKKyAgICAvLyBnaXZlbiBV
UkwuCisgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0YXJnZXRPcmlnaW4gPSBTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKHVybCk7CisgICAgaWYgKCF1cmwuaXNWYWxpZCgpIHx8IFNjaGVtZVJlZ2lz
dHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzU2VjdXJlKHVybC5wcm90b2NvbCgpKSB8fCBTY2hl
bWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc1NlY3VyZSh0YXJnZXRPcmlnaW4tPnBy
b3RvY29sKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7ICAvLyBMb2FkaW5nIHRoZXNlIHByb3Rv
Y29scyBpcyBzZWN1cmUuCiAKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZmEwNTVmZDQwMzk5
ZTFkNzNkMDFjYmRlN2U4NDM1NDY3YzIzNjdiLi45MWRhMjRkNWZlNDRhNzEwNTJkNTdhNWMwOTZh
MzhkZjU5NWZhNjQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDYtMDYgIE1pa2UgV2Vz
dCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBFeGNsdWRpbmcgYmxvYjogYW5kIGZp
bGVzeXN0ZW06IHNjaGVtZXMgZnJvbSB0aGUgbWl4ZWQgY29udGVudCBjaGVjay4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MDU0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1p
ZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENv
bnRlbnQvZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvZmlsZXN5c3RlbS11cmwtaW4t
aWZyYW1lLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA2LTA1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9o
b3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIG9uIG1hYy1saW9u
LXdrMiBpbiBmYXN0L2hpZHBpL2RldmljZS1zY2FsZS1mYWN0b3ItcGFpbnQuaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11
cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjJmMzhkMDVlMmNmZjllNjUyZWVmYWEyODliOTdiZDQzYjlmNTEyOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2It
dXJsLWluLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1RoaXMgdGVzdHMg
dGhhdCBibG9iIFVSTHMgY3JlYXRlZCBpbiBhIHNlY3VyZSBjb250ZXh0IGFyZSB0cmVhdGVkIGFz
IHNlY3VyZSBvcmlnaW5zLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgcmVuZGVycyBQ
QVNTIGNvcnJlY3RseSwgYW5kIG5vIGNvbnNvbGUgd2FybmluZyBhcHBlYXJzLgorCistLS0tLS0t
LQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCitQ
QVNTICgxLzEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUzMGI5N2FhMmE2YmZlYzBjMWExM2FmYjIwYmE4NmFkM2MzNGUwMjEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9i
LXVybC1pbi1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGJvZHk+Cis8aWZyYW1lPjwvaWZyYW1lPgorPHA+CisgIFRoaXMgdGVzdHMgdGhhdCBi
bG9iIFVSTHMgY3JlYXRlZCBpbiBhIHNlY3VyZSBjb250ZXh0IGFyZSB0cmVhdGVkIGFzIHNlY3Vy
ZQorICBvcmlnaW5zLiBUaGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgcmVuZGVycyBQQVNT
IGNvcnJlY3RseSwgYW5kIG5vCisgIGNvbnNvbGUgd2FybmluZyBhcHBlYXJzLgorPC9wPgorCis8
c2NyaXB0PgoraWYgKGxvY2F0aW9uLnByb3RvY29sICE9ICdodHRwczonKQorICAgIGxvY2F0aW9u
ID0gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJs
LWluLWlmcmFtZS5odG1sJzsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7Cit9Cit2YXIgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignaWZyYW1lJyk7Cit2YXIgYmIgPSBuZXcgV2ViS2l0QmxvYkJ1aWxkZXIoKTsgCitiYi5hcHBl
bmQoJzxoMT5QQVNTICgxLzEpPC9oMT4nKTsKK2JiLmdldEJsb2IoJ3RleHQvaHRtbCcpOworaWZy
YW1lLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Owor
aWZyYW1lLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwoYmIuZ2V0QmxvYigndGV4dC9o
dG1sJykpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1p
ZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhl
ZENvbnRlbnQvZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jNjA0ZGE4NGQzZjAzNDE1MDIxN2U4NWM4NTNhMmE0MDkzNjE4YTZkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvZmlsZXN5
c3RlbS11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0FMRVJUOiBQ
QVNTICgxLzIpOiBGaWxlIHdyaXR0ZW4KKworVGhpcyB0ZXN0cyB0aGF0IGZpbGVzeXN0ZW0gVVJM
cyBjcmVhdGVkIGluIGEgc2VjdXJlIGNvbnRleHQgYXJlIHRyZWF0ZWQgYXMgc2VjdXJlIG9yaWdp
bnMuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSByZW5kZXJzIFBBU1MgY29ycmVjdGx5
LCBhbmQgbm8gY29uc29sZSB3YXJuaW5nIGFwcGVhcnMuCisKKy0tLS0tLS0tCitGcmFtZTogJzwh
LS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1BBU1MgKDIvMik6IEZp
bGUgZGlzcGxheWVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFt
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjUzZGIyNDE4MWZiOGY0NzcyMGM0NTgyYjg1NjQ4ODYyMzA1YmFj
ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDQ1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8aWZyYW1lPjwvaWZyYW1lPgorPHA+
CisgIFRoaXMgdGVzdHMgdGhhdCBmaWxlc3lzdGVtIFVSTHMgY3JlYXRlZCBpbiBhIHNlY3VyZSBj
b250ZXh0IGFyZSB0cmVhdGVkIGFzCisgIHNlY3VyZSBvcmlnaW5zLiBUaGlzIHRlc3QgcGFzc2Vz
IGlmIHRoZSBpZnJhbWUgcmVuZGVycyBQQVNTIGNvcnJlY3RseSwgYW5kIG5vCisgIGNvbnNvbGUg
d2FybmluZyBhcHBlYXJzLgorPC9wPgorCis8c2NyaXB0PgoraWYgKGxvY2F0aW9uLnByb3RvY29s
ICE9ICdodHRwczonKQorICAgIGxvY2F0aW9uID0gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMvc2Vj
dXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFtZS5odG1sJzsKKworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRGcmFtZXNB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9CisK
K3ZhciBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKK2lmcmFtZS5v
bmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfTsKKworLy8g
T3BlbmluZyBhIGZpbGUgc3lzdGVtIHdpdGggdGVtcG9yYXJ5IHN0b3JhZ2UKK3dpbmRvdy53ZWJr
aXRSZXF1ZXN0RmlsZVN5c3RlbShURU1QT1JBUlksIDEwMjQqMTAyNCAvKjFNQiovLCBmdW5jdGlv
bihmcykgeworICAgIGZzLnJvb3QuZ2V0RmlsZSgndGVzdC5odG1sJywge2NyZWF0ZTogdHJ1ZX0s
IGZ1bmN0aW9uKGZpbGVFbnRyeSkgeworICAgICAgICBmaWxlRW50cnkuY3JlYXRlV3JpdGVyKGZ1
bmN0aW9uKGZpbGVXcml0ZXIpIHsKKyAgICAgICAgICAgIGZpbGVXcml0ZXIub253cml0ZWVuZCA9
IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgICAgICBhbGVydCgnUEFTUyAoMS8yKTogRmlsZSB3
cml0dGVuJyk7CisgICAgICAgICAgICAgICAgaWZyYW1lLnNyYyA9IGZpbGVFbnRyeS50b1VSTCgn
dGV4dC9odG1sJyk7CisgICAgICAgICAgICB9OworCisgICAgICAgICAgICAvLyBDcmVhdGUgYSBu
ZXcgQmxvYiBhbmQgd3JpdGUgaXQgdG8gbG9nLnR4dC4KKyAgICAgICAgICAgIHZhciBiYiA9IG5l
dyBXZWJLaXRCbG9iQnVpbGRlcigpOworICAgICAgICAgICAgYmIuYXBwZW5kKCdQQVNTICgyLzIp
OiBGaWxlIGRpc3BsYXllZCcpOworICAgICAgICAgICAgZmlsZVdyaXRlci53cml0ZShiYi5nZXRC
bG9iKCd0ZXh0L2h0bWwnKSk7IAorICAgICAgICB9KTsKKyAgICB9KTsKK30pOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146501</attachid>
            <date>2012-06-08 01:06:55 -0700</date>
            <delta_ts>2012-06-08 11:32:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84054-20120608100654.patch</filename>
            <type>text/plain</type>
            <size>9571</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ2M2VmZTdmZTQxMjQ1
OGVkYjg3ODRkZWJjYThmMWM3NzhkNDJkYi4uMzNmMTdkMDM3MzdmNDAwM2M1ZWFmZTkyNzBkNjZk
MTQ2NjJjZmI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTA4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVHJlYXQgYmxvYjogYW5kIGZp
bGVzeXN0ZW06IFVSTHMgZ2VuZXJhdGVkIHZpYSBzZWN1cmUgb3JpZ2lucyBhcyBzZWN1cmUuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDA1NAorCisg
ICAgICAgIExvYWRpbmcgYSBibG9iOiBvciBmaWxlc3lzdGVtOiBVUkwgaW50byBhbiBpZnJhbWUg
b3IgaW1hZ2UgdGhhdCdzCisgICAgICAgIGNvbnRhaW5lZCBvbiBhbiBIVFRQUyBwYWdlIHNob3Vs
ZG4ndCBnZW5lcmF0ZSBhIG1peGVkIGNvbnRlbnQgd2FybmluZy4KKyAgICAgICAgVGhpcyBjaGFu
Z2UgYWRkcyBhIFNlY3VyaXR5T3JpZ2luOjppc1NlY3VyZSB0byBjaGVjayBib3RoIGFnYWluc3Qg
YQorICAgICAgICBVUkxzIHByb3RvY29sLCBhbmQgdGhlIHByb3RvY29sIG9mIGl0J3Mgc28tY2Fs
bGVkICJpbm5lciBVUkwiIGlmIGl0J3MKKyAgICAgICAgdGhlIHR5cGUgb2YgVVJMIHRoYXQgaGFz
IHN1Y2ggYSB0aGluZy4gVGhlc2Ugc29ydHMgb2YgVVJMcyB3aGljaCBhcmUKKyAgICAgICAgZ2Vu
ZXJhdGVkIGZyb20gc2VjdXJlIHNvdXJjZXMgd2lsbCB0aGVtc2VsdmVzIGJlIHRyZWF0ZWQgYXMg
c2VjdXJlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RzOiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJh
bWUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
ZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLmh0bWwKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6aXNNaXhlZENvbnRlbnQp
OgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6aXNTZWN1cmUpOgorICAgICAgICAq
IHBhZ2UvU2VjdXJpdHlPcmlnaW4uaDoKKyAgICAgICAgKFNlY3VyaXR5T3JpZ2luKToKKwogMjAx
Mi0wNi0wNyAgVGFrYXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+CiAKICAgICAgICAg
U2hhZG93Um9vdCBuZWVkcyByZXNldFN0eWxlSW5oZXJpdGFuY2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCmluZGV4IGQzNmQxMTA0OWUyMGQ2MzlhZDQ0NmQ3YzYwNGFmMzY0ZTVh
YmM4YzcuLjJlNTAzNTJlNTRkNTZkMGI4YmZmZTc0NmViNDUyYmY5NDIxYjMxODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODY5LDEwICs4NjksOCBAQCBib29sIEZy
YW1lTG9hZGVyOjppc01peGVkQ29udGVudChTZWN1cml0eU9yaWdpbiogY29udGV4dCwgY29uc3Qg
S1VSTCYgdXJsKQogICAgIGlmIChjb250ZXh0LT5wcm90b2NvbCgpICE9ICJodHRwcyIpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBIVFRQUyBzZWN1cml0eSBv
cmlnaW5zLgogCi0gICAgaWYgKCF1cmwuaXNWYWxpZCgpIHx8IFNjaGVtZVJlZ2lzdHJ5OjpzaG91
bGRUcmVhdFVSTFNjaGVtZUFzU2VjdXJlKHVybC5wcm90b2NvbCgpKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOyAgLy8gTG9hZGluZyB0aGVzZSBwcm90b2NvbHMgaXMgc2VjdXJlLgotCi0gICAgcmV0
dXJuIHRydWU7CisgICAgLy8gV2UncmUgaW4gYSBzZWN1cmUgY29udGV4dCwgc28gfHVybHwgaXMg
bWl4ZWQgY29udGVudCBpZiBpdCdzIGluc2VjdXJlLgorICAgIHJldHVybiAhU2VjdXJpdHlPcmln
aW46OmlzU2VjdXJlKHVybCk7CiB9CiAKIGJvb2wgRnJhbWVMb2FkZXI6OmNoZWNrSWZEaXNwbGF5
SW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiBjb250ZXh0LCBjb25zdCBLVVJMJiB1cmwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwCmluZGV4IGY1YThmOTJjZjAyOTNm
ZDcyMmVkZjllZGM1Y2NjMzg2YWQ1MmJmODIuLjdhNjIzYmQwZmQyY2UxZGQ4ZjNjZGI4YmYyOGQy
MjZiZmM0Yjk4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmln
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwCkBAIC0y
MDksNiArMjA5LDIwIEBAIHZvaWQgU2VjdXJpdHlPcmlnaW46OnNldERvbWFpbkZyb21ET00oY29u
c3QgU3RyaW5nJiBuZXdEb21haW4pCiAgICAgbV9kb21haW4gPSBuZXdEb21haW4ubG93ZXIoKTsK
IH0KIAorLy8gc3RhdGljCitib29sIFNlY3VyaXR5T3JpZ2luOjppc1NlY3VyZShjb25zdCBLVVJM
JiB1cmwpCit7CisgICAgLy8gSW52YWxpZCBVUkxzIGFyZSBzZWN1cmUsIGFzIGFyZSBVUkxzIHdo
aWNoIGhhdmUgYSBzZWN1cmUgcHJvdG9jb2wuCisgICAgaWYgKCF1cmwuaXNWYWxpZCgpIHx8IFNj
aGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzU2VjdXJlKHVybC5wcm90b2NvbCgp
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBVUkxzIHRoYXQgd3JhcCBpbm5lciBV
UkxzIGFyZSBzZWN1cmUgaWYgdGhvc2UgaW5uZXIgVVJMcyBhcmUgc2VjdXJlLgorICAgIGlmIChz
aG91bGRVc2VJbm5lclVSTCh1cmwpICYmIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNj
aGVtZUFzU2VjdXJlKGV4dHJhY3RJbm5lclVSTCh1cmwpLnByb3RvY29sKCkpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBTZWN1cml0eU9yaWdp
bjo6Y2FuQWNjZXNzKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiBvdGhlcikgY29uc3QKIHsKICAgICBp
ZiAobV91bml2ZXJzYWxBY2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
Y3VyaXR5T3JpZ2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKaW5k
ZXggZDdiOWFhNGQ5N2Q4ZWY1ZWRkNDNkZWM4YjMyMzIwNTdmZGFiMjZhNS4uMmE1MGJhN2UzZWVj
ZTZhYTRlNzE3YjRjMzE3MjU2OGUyNjIyOTNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZWN1cml0eU9yaWdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlP
cmlnaW4uaApAQCAtNjcsNiArNjcsMTEgQEAgcHVibGljOgogICAgIFN0cmluZyBkb21haW4oKSBj
b25zdCB7IHJldHVybiBtX2RvbWFpbjsgfQogICAgIHVuc2lnbmVkIHNob3J0IHBvcnQoKSBjb25z
dCB7IHJldHVybiBtX3BvcnQ7IH0KIAorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhIGdpdmVuIFVS
TCBpcyBzZWN1cmUsIGJhc2VkIGVpdGhlciBkaXJlY3RseSBvbiBpdHMKKyAgICAvLyBvd24gcHJv
dG9jb2wsIG9yLCB3aGVuIHJlbGV2YW50LCBvbiB0aGUgcHJvdG9jb2wgb2YgaXRzICJpbm5lciBV
UkwiCisgICAgLy8gUHJvdG9jb2xzIGxpa2UgYmxvYjogYW5kIGZpbGVzeXN0ZW06IGZhbGwgaW50
byB0aGlzIGxhdHRlciBjYXRlZ29yeS4KKyAgICBzdGF0aWMgYm9vbCBpc1NlY3VyZShjb25zdCBL
VVJMJik7CisKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBTZWN1cml0eU9yaWdpbiBjYW4g
c2NyaXB0IG9iamVjdHMgaW4gdGhlIGdpdmVuCiAgICAgLy8gU2VjdXJpdHlPcmlnaW4uIEZvciBl
eGFtcGxlLCBjYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIGFsbG93aW5nCiAgICAgLy8gc2NyaXB0
IGZyb20gb25lIHNlY3VyaXR5IG9yaWdpbiB0byByZWFkIG9yIHdyaXRlIG9iamVjdHMgZnJvbQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGVkMmIwMzYxNTEyYjUxZTU5YTQzYWVjMmQ2MTQwYjQxM2YzNDA3NWQuLmRiMTcyODhh
ZDRhNzFmYzFhNGRlOWRmOTUzNmMyOWNkMTdiOTgwODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMi0wNi0wOCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEV4
Y2x1ZGluZyBibG9iOiBhbmQgZmlsZXN5c3RlbTogc2NoZW1lcyBmcm9tIHRoZSBtaXhlZCBjb250
ZW50IGNoZWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODQwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1pZnJhbWUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVu
dC9maWxlc3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMDcgIFRh
a2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFNoYWRvd1Jvb3Qg
bmVlZHMgcmVzZXRTdHlsZUluaGVyaXRhbmNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11
cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMmYzOGQwNWUyY2ZmOWU2NTJl
ZWZhYTI4OWI5N2JkNDNiOWY1MTI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKKworVGhpcyB0ZXN0cyB0aGF0IGJsb2IgVVJMcyBjcmVhdGVk
IGluIGEgc2VjdXJlIGNvbnRleHQgYXJlIHRyZWF0ZWQgYXMgc2VjdXJlIG9yaWdpbnMuIFRoaXMg
dGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSByZW5kZXJzIFBBU1MgY29ycmVjdGx5LCBhbmQgbm8g
Y29uc29sZSB3YXJuaW5nIGFwcGVhcnMuCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBh
dGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1BBU1MgKDEvMSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWlu
LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRl
bnQvYmxvYi11cmwtaW4taWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ4NDU3ZWIwNzEzZGExYTQy
Mzc4MTlmODMzOTUwMzMwN2Y0NTVjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS5odG1sCkBA
IC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxpZnJhbWU+
PC9pZnJhbWU+Cis8cD4KKyAgVGhpcyB0ZXN0cyB0aGF0IGJsb2IgVVJMcyBjcmVhdGVkIGluIGEg
c2VjdXJlIGNvbnRleHQgYXJlIHRyZWF0ZWQgYXMgc2VjdXJlCisgIG9yaWdpbnMuIFRoaXMgdGVz
dCBwYXNzZXMgaWYgdGhlIGlmcmFtZSByZW5kZXJzIFBBU1MgY29ycmVjdGx5LCBhbmQgbm8KKyAg
Y29uc29sZSB3YXJuaW5nIGFwcGVhcnMuCis8L3A+CisKKzxzY3JpcHQ+CitpZiAobG9jYXRpb24u
cHJvdG9jb2wgIT0gJ2h0dHBzOicpCisgICAgbG9jYXRpb24gPSAnaHR0cHM6Ly8xMjcuMC4wLjE6
ODQ0My9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLmh0bWwnOworCitp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDaGlsZEZyYW1l
c0FzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30K
K3ZhciBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKK3ZhciBiYiA9
IG5ldyBXZWJLaXRCbG9iQnVpbGRlcigpOworYmIuYXBwZW5kKCc8aDE+UEFTUyAoMS8xKTwvaDE+
Jyk7CitiYi5nZXRCbG9iKCd0ZXh0L2h0bWwnKTsKK2lmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAo
KSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfTsKK2lmcmFtZS5zcmMgPSB3ZWJraXRVUkwu
Y3JlYXRlT2JqZWN0VVJMKGJiLmdldEJsb2IoJ3RleHQvaHRtbCcpKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJs
LWluLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzYwNGRhODRkM2YwMzQxNTAyMTdl
ODVjODUzYTJhNDA5MzYxOGE2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFtZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitBTEVSVDogUEFTUyAoMS8yKTogRmlsZSB3cml0dGVu
CisKK1RoaXMgdGVzdHMgdGhhdCBmaWxlc3lzdGVtIFVSTHMgY3JlYXRlZCBpbiBhIHNlY3VyZSBj
b250ZXh0IGFyZSB0cmVhdGVkIGFzIHNlY3VyZSBvcmlnaW5zLiBUaGlzIHRlc3QgcGFzc2VzIGlm
IHRoZSBpZnJhbWUgcmVuZGVycyBQQVNTIGNvcnJlY3RseSwgYW5kIG5vIGNvbnNvbGUgd2Fybmlu
ZyBhcHBlYXJzLgorCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1l
MC0tPi0tPicKKy0tLS0tLS0tCitQQVNTICgyLzIpOiBGaWxlIGRpc3BsYXllZApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvZmlsZXN5c3Rl
bS11cmwtaW4taWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzFl
NjlkZGJhZjg1OTIwMzIxODZhNTk3NGYzZDI1YzM0M2UxYmNkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvZmlsZXN5c3RlbS11
cmwtaW4taWZyYW1lLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxib2R5PgorPGlmcmFtZT48L2lmcmFtZT4KKzxwPgorICBUaGlzIHRlc3RzIHRoYXQgZmls
ZXN5c3RlbSBVUkxzIGNyZWF0ZWQgaW4gYSBzZWN1cmUgY29udGV4dCBhcmUgdHJlYXRlZCBhcwor
ICBzZWN1cmUgb3JpZ2lucy4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZyYW1lIHJlbmRlcnMg
UEFTUyBjb3JyZWN0bHksIGFuZCBubworICBjb25zb2xlIHdhcm5pbmcgYXBwZWFycy4KKzwvcD4K
KworPHNjcmlwdD4KK2lmIChsb2NhdGlvbi5wcm90b2NvbCAhPSAnaHR0cHM6JykKKyAgICBsb2Nh
dGlvbiA9ICdodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxl
c3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbCc7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorCit2YXIgaWZyYW1lID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignaWZyYW1lJyk7CitpZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkgewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKK307CisKKy8vIE9wZW5pbmcgYSBmaWxlIHN5c3RlbSB3
aXRoIHRlbXBvcmFyeSBzdG9yYWdlCit3aW5kb3cud2Via2l0UmVxdWVzdEZpbGVTeXN0ZW0oVEVN
UE9SQVJZLCAxMDI0KjEwMjQgLyoxTUIqLywgZnVuY3Rpb24oZnMpIHsKKyAgICBmcy5yb290Lmdl
dEZpbGUoJ3Rlc3QuaHRtbCcsIHtjcmVhdGU6IHRydWV9LCBmdW5jdGlvbihmaWxlRW50cnkpIHsK
KyAgICAgICAgZmlsZUVudHJ5LmNyZWF0ZVdyaXRlcihmdW5jdGlvbihmaWxlV3JpdGVyKSB7Cisg
ICAgICAgICAgICBmaWxlV3JpdGVyLm9ud3JpdGVlbmQgPSBmdW5jdGlvbihlKSB7CisgICAgICAg
ICAgICAgICAgYWxlcnQoJ1BBU1MgKDEvMik6IEZpbGUgd3JpdHRlbicpOworICAgICAgICAgICAg
ICAgIGlmcmFtZS5zcmMgPSBmaWxlRW50cnkudG9VUkwoJ3RleHQvaHRtbCcpOworICAgICAgICAg
ICAgfTsKKworICAgICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IEJsb2IgYW5kIHdyaXRlIGl0IHRv
IGxvZy50eHQuCisgICAgICAgICAgICB2YXIgYmIgPSBuZXcgV2ViS2l0QmxvYkJ1aWxkZXIoKTsK
KyAgICAgICAgICAgIGJiLmFwcGVuZCgnUEFTUyAoMi8yKTogRmlsZSBkaXNwbGF5ZWQnKTsKKyAg
ICAgICAgICAgIGZpbGVXcml0ZXIud3JpdGUoYmIuZ2V0QmxvYigndGV4dC9odG1sJykpOworICAg
ICAgICB9KTsKKyAgICB9KTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146618</attachid>
            <date>2012-06-08 11:32:26 -0700</date>
            <delta_ts>2012-06-08 18:51:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84054-20120608203223.patch</filename>
            <type>text/plain</type>
            <size>9552</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQ2M2VmZTdmZTQxMjQ1
OGVkYjg3ODRkZWJjYThmMWM3NzhkNDJkYi4uNzY4NDNiMDNkY2UxNmFjNWQ2MjJjNTM5ODM3MjJl
MGY2NjVjZGJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTA4ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVHJlYXQgYmxvYjogYW5kIGZp
bGVzeXN0ZW06IFVSTHMgZ2VuZXJhdGVkIHZpYSBzZWN1cmUgb3JpZ2lucyBhcyBzZWN1cmUuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDA1NAorCisg
ICAgICAgIExvYWRpbmcgYSBibG9iOiBvciBmaWxlc3lzdGVtOiBVUkwgaW50byBhbiBpZnJhbWUg
b3IgaW1hZ2UgdGhhdCdzCisgICAgICAgIGNvbnRhaW5lZCBvbiBhbiBIVFRQUyBwYWdlIHNob3Vs
ZG4ndCBnZW5lcmF0ZSBhIG1peGVkIGNvbnRlbnQgd2FybmluZy4KKyAgICAgICAgVGhpcyBjaGFu
Z2UgYWRkcyBhIFNlY3VyaXR5T3JpZ2luOjppc1NlY3VyZSB0byBjaGVjayBib3RoIGFnYWluc3Qg
YQorICAgICAgICBVUkxzIHByb3RvY29sLCBhbmQgdGhlIHByb3RvY29sIG9mIGl0J3Mgc28tY2Fs
bGVkICJpbm5lciBVUkwiIGlmIGl0J3MKKyAgICAgICAgdGhlIHR5cGUgb2YgVVJMIHRoYXQgaGFz
IHN1Y2ggYSB0aGluZy4gVGhlc2Ugc29ydHMgb2YgVVJMcyB3aGljaCBhcmUKKyAgICAgICAgZ2Vu
ZXJhdGVkIGZyb20gc2VjdXJlIHNvdXJjZXMgd2lsbCB0aGVtc2VsdmVzIGJlIHRyZWF0ZWQgYXMg
c2VjdXJlLgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgVGVz
dHM6IGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS5o
dG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxl
c3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjppc01peGVkQ29udGVudCk6Cisg
ICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjppc1NlY3VyZSk6CisgICAgICAgICogcGFn
ZS9TZWN1cml0eU9yaWdpbi5oOgorICAgICAgICAoU2VjdXJpdHlPcmlnaW4pOgorCiAyMDEyLTA2
LTA3ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBTaGFk
b3dSb290IG5lZWRzIHJlc2V0U3R5bGVJbmhlcml0YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAKaW5kZXggZDM2ZDExMDQ5ZTIwZDYzOWFkNDQ2ZDdjNjA0YWYzNjRlNWFiYzhj
Ny4uMmU1MDM1MmU1NGQ1NmQwYjhiZmZlNzQ2ZWI0NTJiZjk0MjFiMzE4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC04NjksMTAgKzg2OSw4IEBAIGJvb2wgRnJhbWVM
b2FkZXI6OmlzTWl4ZWRDb250ZW50KFNlY3VyaXR5T3JpZ2luKiBjb250ZXh0LCBjb25zdCBLVVJM
JiB1cmwpCiAgICAgaWYgKGNvbnRleHQtPnByb3RvY29sKCkgIT0gImh0dHBzIikKICAgICAgICAg
cmV0dXJuIGZhbHNlOyAgLy8gV2Ugb25seSBjYXJlIGFib3V0IEhUVFBTIHNlY3VyaXR5IG9yaWdp
bnMuCiAKLSAgICBpZiAoIXVybC5pc1ZhbGlkKCkgfHwgU2NoZW1lUmVnaXN0cnk6OnNob3VsZFRy
ZWF0VVJMU2NoZW1lQXNTZWN1cmUodXJsLnByb3RvY29sKCkpKQotICAgICAgICByZXR1cm4gZmFs
c2U7ICAvLyBMb2FkaW5nIHRoZXNlIHByb3RvY29scyBpcyBzZWN1cmUuCi0KLSAgICByZXR1cm4g
dHJ1ZTsKKyAgICAvLyBXZSdyZSBpbiBhIHNlY3VyZSBjb250ZXh0LCBzbyB8dXJsfCBpcyBtaXhl
ZCBjb250ZW50IGlmIGl0J3MgaW5zZWN1cmUuCisgICAgcmV0dXJuICFTZWN1cml0eU9yaWdpbjo6
aXNTZWN1cmUodXJsKTsKIH0KIAogYm9vbCBGcmFtZUxvYWRlcjo6Y2hlY2tJZkRpc3BsYXlJbnNl
Y3VyZUNvbnRlbnQoU2VjdXJpdHlPcmlnaW4qIGNvbnRleHQsIGNvbnN0IEtVUkwmIHVybCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAKaW5kZXggZjVhOGY5MmNmMDI5M2ZkNzIy
ZWRmOWVkYzVjY2MzODZhZDUyYmY4Mi4uMjViYWUwMjg0OWExYmJhMTg1NzhiZmIwMjIzYWMyZDQ0
M2UyZjRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAKQEAgLTIwOSw2
ICsyMDksMTkgQEAgdm9pZCBTZWN1cml0eU9yaWdpbjo6c2V0RG9tYWluRnJvbURPTShjb25zdCBT
dHJpbmcmIG5ld0RvbWFpbikKICAgICBtX2RvbWFpbiA9IG5ld0RvbWFpbi5sb3dlcigpOwogfQog
Citib29sIFNlY3VyaXR5T3JpZ2luOjppc1NlY3VyZShjb25zdCBLVVJMJiB1cmwpCit7CisgICAg
Ly8gSW52YWxpZCBVUkxzIGFyZSBzZWN1cmUsIGFzIGFyZSBVUkxzIHdoaWNoIGhhdmUgYSBzZWN1
cmUgcHJvdG9jb2wuCisgICAgaWYgKCF1cmwuaXNWYWxpZCgpIHx8IFNjaGVtZVJlZ2lzdHJ5Ojpz
aG91bGRUcmVhdFVSTFNjaGVtZUFzU2VjdXJlKHVybC5wcm90b2NvbCgpKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisKKyAgICAvLyBVUkxzIHRoYXQgd3JhcCBpbm5lciBVUkxzIGFyZSBzZWN1cmUg
aWYgdGhvc2UgaW5uZXIgVVJMcyBhcmUgc2VjdXJlLgorICAgIGlmIChzaG91bGRVc2VJbm5lclVS
TCh1cmwpICYmIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzU2VjdXJlKGV4
dHJhY3RJbm5lclVSTCh1cmwpLnByb3RvY29sKCkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBTZWN1cml0eU9yaWdpbjo6Y2FuQWNjZXNzKGNv
bnN0IFNlY3VyaXR5T3JpZ2luKiBvdGhlcikgY29uc3QKIHsKICAgICBpZiAobV91bml2ZXJzYWxB
Y2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKaW5kZXggZDdiOWFhNGQ5N2Q4
ZWY1ZWRkNDNkZWM4YjMyMzIwNTdmZGFiMjZhNS4uMmE1MGJhN2UzZWVjZTZhYTRlNzE3YjRjMzE3
MjU2OGUyNjIyOTNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9y
aWdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaApAQCAtNjcs
NiArNjcsMTEgQEAgcHVibGljOgogICAgIFN0cmluZyBkb21haW4oKSBjb25zdCB7IHJldHVybiBt
X2RvbWFpbjsgfQogICAgIHVuc2lnbmVkIHNob3J0IHBvcnQoKSBjb25zdCB7IHJldHVybiBtX3Bv
cnQ7IH0KIAorICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBhIGdpdmVuIFVSTCBpcyBzZWN1cmUsIGJh
c2VkIGVpdGhlciBkaXJlY3RseSBvbiBpdHMKKyAgICAvLyBvd24gcHJvdG9jb2wsIG9yLCB3aGVu
IHJlbGV2YW50LCBvbiB0aGUgcHJvdG9jb2wgb2YgaXRzICJpbm5lciBVUkwiCisgICAgLy8gUHJv
dG9jb2xzIGxpa2UgYmxvYjogYW5kIGZpbGVzeXN0ZW06IGZhbGwgaW50byB0aGlzIGxhdHRlciBj
YXRlZ29yeS4KKyAgICBzdGF0aWMgYm9vbCBpc1NlY3VyZShjb25zdCBLVVJMJik7CisKICAgICAv
LyBSZXR1cm5zIHRydWUgaWYgdGhpcyBTZWN1cml0eU9yaWdpbiBjYW4gc2NyaXB0IG9iamVjdHMg
aW4gdGhlIGdpdmVuCiAgICAgLy8gU2VjdXJpdHlPcmlnaW4uIEZvciBleGFtcGxlLCBjYWxsIHRo
aXMgZnVuY3Rpb24gYmVmb3JlIGFsbG93aW5nCiAgICAgLy8gc2NyaXB0IGZyb20gb25lIHNlY3Vy
aXR5IG9yaWdpbiB0byByZWFkIG9yIHdyaXRlIG9iamVjdHMgZnJvbQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVkMmIwMzYx
NTEyYjUxZTU5YTQzYWVjMmQ2MTQwYjQxM2YzNDA3NWQuLjAyNGNhOWY0ZGQzNmI2ZmRkOGQzNjZi
ZTgzOWRkZjI3ZjBhMTBkY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wNi0wOCAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEV4Y2x1ZGluZyBibG9iOiBh
bmQgZmlsZXN5c3RlbTogc2NoZW1lcyBmcm9tIHRoZSBtaXhlZCBjb250ZW50IGNoZWNrLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQwNTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4t
aWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRD
b250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWlu
LWlmcmFtZS5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0wNyAgVGFrYXNoaSBTYWthbW90byAgPHRh
c2FrQGdvb2dsZS5jb20+CiAKICAgICAgICAgU2hhZG93Um9vdCBuZWVkcyByZXNldFN0eWxlSW5o
ZXJpdGFuY2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4
ZWRDb250ZW50L2Jsb2ItdXJsLWluLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYyZjM4ZDA1ZTJjZmY5ZTY1MmVlZmFhMjg5Yjk3YmQ0M2I5ZjUx
MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBA
QAorCitUaGlzIHRlc3RzIHRoYXQgYmxvYiBVUkxzIGNyZWF0ZWQgaW4gYSBzZWN1cmUgY29udGV4
dCBhcmUgdHJlYXRlZCBhcyBzZWN1cmUgb3JpZ2lucy4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUg
aWZyYW1lIHJlbmRlcnMgUEFTUyBjb3JyZWN0bHksIGFuZCBubyBjb25zb2xlIHdhcm5pbmcgYXBw
ZWFycy4KKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4t
LT4nCistLS0tLS0tLQorUEFTUyAoMS8xKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9ibG9iLXVybC1pbi1pZnJh
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg0NTdlYjA3MTNkYTFhNDIzNzgxOWY4MzM5NTAzMzA3ZjQ1
NWM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9t
aXhlZENvbnRlbnQvYmxvYi11cmwtaW4taWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPGlmcmFtZT48L2lmcmFtZT4KKzxwPgorICBU
aGlzIHRlc3RzIHRoYXQgYmxvYiBVUkxzIGNyZWF0ZWQgaW4gYSBzZWN1cmUgY29udGV4dCBhcmUg
dHJlYXRlZCBhcyBzZWN1cmUKKyAgb3JpZ2lucy4gVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGUgaWZy
YW1lIHJlbmRlcnMgUEFTUyBjb3JyZWN0bHksIGFuZCBubworICBjb25zb2xlIHdhcm5pbmcgYXBw
ZWFycy4KKzwvcD4KKworPHNjcmlwdD4KK2lmIChsb2NhdGlvbi5wcm90b2NvbCAhPSAnaHR0cHM6
JykKKyAgICBsb2NhdGlvbiA9ICdodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVk
Q29udGVudC9ibG9iLXVybC1pbi1pZnJhbWUuaHRtbCc7CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQordmFyIGlmcmFtZSA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOwordmFyIGJiID0gbmV3IFdlYktpdEJsb2JCdWls
ZGVyKCk7CitiYi5hcHBlbmQoJzxoMT5QQVNTICgxLzEpPC9oMT4nKTsKK2JiLmdldEJsb2IoJ3Rl
eHQvaHRtbCcpOworaWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Cit9OworaWZyYW1lLnNyYyA9IHdlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwoYmIu
Z2V0QmxvYigndGV4dC9odG1sJykpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxl
c3lzdGVtLXVybC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jNjA0ZGE4NGQzZjAzNDE1MDIxN2U4NWM4NTNhMmE0MDkzNjE4YTZk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhl
ZENvbnRlbnQvZmlsZXN5c3RlbS11cmwtaW4taWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDggQEAKK0FMRVJUOiBQQVNTICgxLzIpOiBGaWxlIHdyaXR0ZW4KKworVGhpcyB0ZXN0cyB0aGF0
IGZpbGVzeXN0ZW0gVVJMcyBjcmVhdGVkIGluIGEgc2VjdXJlIGNvbnRleHQgYXJlIHRyZWF0ZWQg
YXMgc2VjdXJlIG9yaWdpbnMuIFRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlIGlmcmFtZSByZW5kZXJz
IFBBU1MgY29ycmVjdGx5LCBhbmQgbm8gY29uc29sZSB3YXJuaW5nIGFwcGVhcnMuCisKKy0tLS0t
LS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0K
K1BBU1MgKDIvMik6IEZpbGUgZGlzcGxheWVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1pZnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0
ZW0tdXJsLWluLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMWU2OWRkYmFmODU5MjAzMjE4NmE1
OTc0ZjNkMjVjMzQzZTFiY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9maWxlc3lzdGVtLXVybC1pbi1pZnJhbWUuaHRtbApA
QCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8aWZyYW1l
PjwvaWZyYW1lPgorPHA+CisgIFRoaXMgdGVzdHMgdGhhdCBmaWxlc3lzdGVtIFVSTHMgY3JlYXRl
ZCBpbiBhIHNlY3VyZSBjb250ZXh0IGFyZSB0cmVhdGVkIGFzCisgIHNlY3VyZSBvcmlnaW5zLiBU
aGlzIHRlc3QgcGFzc2VzIGlmIHRoZSBpZnJhbWUgcmVuZGVycyBQQVNTIGNvcnJlY3RseSwgYW5k
IG5vCisgIGNvbnNvbGUgd2FybmluZyBhcHBlYXJzLgorPC9wPgorCis8c2NyaXB0PgoraWYgKGxv
Y2F0aW9uLnByb3RvY29sICE9ICdodHRwczonKQorICAgIGxvY2F0aW9uID0gJ2h0dHBzOi8vMTI3
LjAuMC4xOjg0NDMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2ZpbGVzeXN0ZW0tdXJsLWluLWlmcmFt
ZS5odG1sJzsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7Cit9CisKK3ZhciBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJh
bWUnKTsKK2lmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworfTsKKworLy8gT3BlbmluZyBhIGZpbGUgc3lzdGVtIHdpdGggdGVtcG9yYXJ5IHN0b3Jh
Z2UKK3dpbmRvdy53ZWJraXRSZXF1ZXN0RmlsZVN5c3RlbShURU1QT1JBUlksIDEwMjQqMTAyNCAv
KjFNQiovLCBmdW5jdGlvbihmcykgeworICAgIGZzLnJvb3QuZ2V0RmlsZSgndGVzdC5odG1sJywg
e2NyZWF0ZTogdHJ1ZX0sIGZ1bmN0aW9uKGZpbGVFbnRyeSkgeworICAgICAgICBmaWxlRW50cnku
Y3JlYXRlV3JpdGVyKGZ1bmN0aW9uKGZpbGVXcml0ZXIpIHsKKyAgICAgICAgICAgIGZpbGVXcml0
ZXIub253cml0ZWVuZCA9IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICAgICAgICBhbGVydCgnUEFT
UyAoMS8yKTogRmlsZSB3cml0dGVuJyk7CisgICAgICAgICAgICAgICAgaWZyYW1lLnNyYyA9IGZp
bGVFbnRyeS50b1VSTCgndGV4dC9odG1sJyk7CisgICAgICAgICAgICB9OworCisgICAgICAgICAg
ICAvLyBDcmVhdGUgYSBuZXcgQmxvYiBhbmQgd3JpdGUgaXQgdG8gbG9nLnR4dC4KKyAgICAgICAg
ICAgIHZhciBiYiA9IG5ldyBXZWJLaXRCbG9iQnVpbGRlcigpOworICAgICAgICAgICAgYmIuYXBw
ZW5kKCdQQVNTICgyLzIpOiBGaWxlIGRpc3BsYXllZCcpOworICAgICAgICAgICAgZmlsZVdyaXRl
ci53cml0ZShiYi5nZXRCbG9iKCd0ZXh0L2h0bWwnKSk7CisgICAgICAgIH0pOworICAgIH0pOwor
fSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>