<?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>103789</bug_id>
          
          <creation_ts>2012-11-30 16:23:36 -0800</creation_ts>
          <short_desc>Add FrameLoaderClient::didDisownOpener</short_desc>
          <delta_ts>2012-12-04 09:40:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</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 Reis">creis</reporter>
          <assigned_to name="Charles Reis">creis</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>sam</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>780525</commentid>
    <comment_count>0</comment_count>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-11-30 16:23:36 -0800</bug_when>
    <thetext>There is a special meaning to assigning window.opener to null: it disowns the opener for the future lifetime of the browsing context (i.e., window).
http://dev.w3.org/html5/spec/single-page.html#disowned-its-opener

In some ports, the client needs to be notified when this occurs for a window.  For example, Chromium needs to know not to make window.opener available in other renderer processes that might be used in the window.

Repro steps:
1) On site A, open a new window.
2) Navigate the new window to site B (cross-process).  window.opener is valid.
3) Set window.opener=null.
4) Go back to the original process, or navigate to site C in a third process.  window.opener should still be null.

To fix this, I&apos;d like to add a FrameLoaderClient::didDisownOpener method to notify the client when the opener gets cleared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780528</commentid>
    <comment_count>1</comment_count>
      <attachid>177047</attachid>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-11-30 16:27:24 -0800</bug_when>
    <thetext>Created attachment 177047
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780530</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-30 16:29:40 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780785</commentid>
    <comment_count>3</comment_count>
      <attachid>177047</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-01 16:12:54 -0800</bug_when>
    <thetext>Comment on attachment 177047
Patch

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

&gt; Source/WebKit/chromium/public/WebFrameClient.h:113
&gt; +    // This frame set its opener to null, disowning it.
&gt; +    virtual void didDisownOpener(WebFrame*) { }

Can you add a reference to the specification in a comment so that it&apos;s clear what this function means?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781644</commentid>
    <comment_count>4</comment_count>
      <attachid>177047</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-03 10:52:00 -0800</bug_when>
    <thetext>Comment on attachment 177047
Patch

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

&gt; There is a special meaning to assigning window.opener to null

Window.opener is read-only in IDL, so there is no code path that results in FrameLoader::setOpener(0) being called when this happens:

    [Replaceable, DoNotCheckSecurityOnGetter, V8CustomSetter] readonly attribute DOMWindow opener;

Do v8 bindings somehow override this behavior via a custom setter? It seems super misleading to add a cross-platform FrameLoaderClient function that is never invoked in expected circumstances on JSC, but is invoked in unexpected circumstances.

&gt; Source/WebCore/loader/FrameLoader.cpp:944
&gt; +    if (m_opener &amp;&amp; !opener)
&gt; +        m_client-&gt;didDisownOpener();

Is it OK that this client call will be made from FrameLoader destructor?

Is it OK that it will be called from WKBundleFrameClearOpener WebKit2 API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781703</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-03 11:32:04 -0800</bug_when>
    <thetext>In the spec (and I believe in other browsers), you can set the opener to null but not to any other value:

http://html.spec.whatwg.org/#dom-opener

Setting the opener to null is &quot;sticky&quot; and persists across navigations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781708</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-03 11:33:17 -0800</bug_when>
    <thetext>From http://html.spec.whatwg.org/#window

interface Window : EventTarget {
[...]
           attribute WindowProxy? opener;

It looks like having readonly in our IDL is a (subtle) mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781718</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-03 11:42:57 -0800</bug_when>
    <thetext>On JSC ports, the lack of a custom setter results in a very different behavior:

void setJSDOMWindowOpener(ExecState* exec, JSObject* thisObject, JSValue value)
{
    UNUSED_PARAM(exec);
    if (!BindingSecurity::shouldAllowAccessToDOMWindow(exec, jsCast&lt;JSDOMWindow*&gt;(thisObject)-&gt;impl()))
        return;
    // Shadowing a built-in object
    jsCast&lt;JSDOMWindow*&gt;(thisObject)-&gt;putDirect(exec-&gt;globalData(), Identifier(exec, &quot;opener&quot;), value);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781724</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-03 11:45:33 -0800</bug_when>
    <thetext>I&apos;ve filed bug 103913 about the JSC bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781840</commentid>
    <comment_count>9</comment_count>
      <attachid>177047</attachid>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-12-03 13:43:57 -0800</bug_when>
    <thetext>Comment on attachment 177047
Patch

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

&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:944
&gt;&gt; +        m_client-&gt;didDisownOpener();
&gt; 
&gt; Is it OK that this client call will be made from FrameLoader destructor?
&gt; 
&gt; Is it OK that it will be called from WKBundleFrameClearOpener WebKit2 API?

Good question about the FrameLoader destructor.  The extra notification there isn&apos;t needed but shouldn&apos;t be a problem.  In Chrome&apos;s case, we&apos;ve already deleted the WebFrame&apos;s client by that time, so the notification doesn&apos;t make it out of FrameLoaderClientImpl.

For WKBundleFrameClearOpener, it looks like that&apos;s clearing the opener between tests.  I think the notification makes sense there as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781842</commentid>
    <comment_count>10</comment_count>
      <attachid>177319</attachid>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-12-03 13:44:15 -0800</bug_when>
    <thetext>Created attachment 177319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781848</commentid>
    <comment_count>11</comment_count>
      <attachid>177321</attachid>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-12-03 13:47:23 -0800</bug_when>
    <thetext>Created attachment 177321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781849</commentid>
    <comment_count>12</comment_count>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-12-03 13:48:26 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 177047 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177047&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebFrameClient.h:113
&gt; &gt; +    // This frame set its opener to null, disowning it.
&gt; &gt; +    virtual void didDisownOpener(WebFrame*) { }
&gt; 
&gt; Can you add a reference to the specification in a comment so that it&apos;s clear what this function means?

Added a mention in both FrameLoaderClient.h and WebFrameClient.h.  (Sorry for the extra patch set; I only put it in FrameLoaderClient the first time.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781881</commentid>
    <comment_count>13</comment_count>
      <attachid>177321</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-03 14:24:26 -0800</bug_when>
    <thetext>Comment on attachment 177321
Patch

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

&gt; Source/WebCore/loader/FrameLoaderClient.h:217
&gt; +        virtual void didDisownOpener() { }

Can you please add a FIXME here, referencing bug 103913?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781899</commentid>
    <comment_count>14</comment_count>
      <attachid>177337</attachid>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-12-03 14:47:29 -0800</bug_when>
    <thetext>Created attachment 177337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781901</commentid>
    <comment_count>15</comment_count>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-12-03 14:48:37 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 177321 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=177321&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoaderClient.h:217
&gt; &gt; +        virtual void didDisownOpener() { }
&gt; 
&gt; Can you please add a FIXME here, referencing bug 103913?

Certainly.  New patch uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782291</commentid>
    <comment_count>16</comment_count>
      <attachid>177337</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-04 00:03:15 -0800</bug_when>
    <thetext>Comment on attachment 177337
Patch

Rejecting attachment 177337 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ripts/update-webkit line 152.

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;, &apos;--force-update&apos;]&quot; exit_code: 2
Updating OpenSource
From http://git.chromium.org/external/Webkit
   8cbb25f..78cf9b7  HEAD       -&gt; origin/HEAD
error: Ref refs/remotes/origin/master is at 78cf9b751c12b828663109bfb0f349f17833261d but expected 8cbb25f3febaaee8d69fbea1e5b98dd0173b71a9
 ! 8cbb25f..78cf9b7  master     -&gt; origin/master  (unable to update local ref)
Died at Tools/Scripts/update-webkit line 152.

Full output: http://queues.webkit.org/results/15117764</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782605</commentid>
    <comment_count>17</comment_count>
      <attachid>177337</attachid>
    <who name="Charles Reis">creis</who>
    <bug_when>2012-12-04 09:33:05 -0800</bug_when>
    <thetext>Comment on attachment 177337
Patch

Looks like the failure might have been a git issue on the bot, rather than my patch.  I&apos;ll try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782619</commentid>
    <comment_count>18</comment_count>
      <attachid>177337</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-04 09:40:24 -0800</bug_when>
    <thetext>Comment on attachment 177337
Patch

Clearing flags on attachment: 177337

Committed r136516: &lt;http://trac.webkit.org/changeset/136516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782621</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-04 09:40:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177047</attachid>
            <date>2012-11-30 16:27:24 -0800</date>
            <delta_ts>2012-12-03 13:44:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103789-20121130162455.patch</filename>
            <type>text/plain</type>
            <size>5550</size>
            <attacher name="Charles Reis">creis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdjNDQ4NWVkMjA1ZTYx
MDQzNzViOTcyOTFjNmI3YjYxNzFhN2VjMi4uMTlmNGRjYTAyMWJmMjk1OTE1ZTM1YTNkMTBhYmRj
ZGNhNmEyNTkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTMwICBDaGFy
bGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaWREaXNvd25PcGVuZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgYSBkaWREaXNvd25Pd25lciBub3RpZmljYXRpb24gd2hlbiBh
IGZyYW1lcyBvcGVuZXIgaXMgY2xlYXJlZCwKKyAgICAgICAgc28gdGhhdCBGcmFtZUxvYWRlckNs
aWVudHMgY2FuIHJlYWN0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0
T3BlbmVyKTogQ2FsbHMgZGlkRGlzb3duT3BlbmVyIGlmIG9wZW5lciBpcyBjbGVhcmVkLgorICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJD
bGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpZERpc293bk9w
ZW5lcik6CisKIDIwMTItMTEtMzAgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgKFNpbXBsZSlQREZQbHVnaW46IFN1cHBvcnQgY29udmVyc2lvbiBvZiBQ
b3N0U2NyaXB0IGRvY3VtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5Mzg0OWY4
Njc1YzJlYzQ4MmQ3ZjVmY2RmOWMxMWYyMTgzOWZlMGU2Li5kN2NkNTdiMDBhM2M3ZmJkNzRlNmJh
NTUwYTE2YmQ4YmYzNWJlYjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDEyLTExLTMwICBDaGFybGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQWRkIEZyYW1lTG9hZGVyQ2xpZW50OjpkaWREaXNvd25PcGVuZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc4OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvcndhcmRzIHRoZSBkaWRE
aXNvd25PcGVuZXIgbm90aWZpY2F0aW9uIHRvIHRoZSBXZWJGcmFtZUNsaWVudC4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5oOgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkRGlzb3duT3BlbmVyKToKKyAgICAg
ICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJh
bWVMb2FkZXJDbGllbnRJbXBsOjpkaWREaXNvd25PcGVuZXIpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmg6CisgICAgICAgIChGcmFtZUxv
YWRlckNsaWVudEltcGwpOgorCiAyMDEyLTExLTMwICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFu
Y29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDAzNTJiMWQ4Y2MyODljZTFlOTVi
NGFiNjMxZmU1OGUzYWQwMjZjZDQuLjIwNGIyZmJkYzZmMDRhZDM0YWZlYzFhMzczN2Q5MmJmNDY4
YmZhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtOTQwLDYgKzk0
MCw5IEBAIEZyYW1lKiBGcmFtZUxvYWRlcjo6b3BlbmVyKCkKIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2V0T3BlbmVyKEZyYW1lKiBvcGVuZXIpCiB7CisgICAgaWYgKG1fb3BlbmVyICYmICFvcGVuZXIp
CisgICAgICAgIG1fY2xpZW50LT5kaWREaXNvd25PcGVuZXIoKTsKKwogICAgIGlmIChtX29wZW5l
cikKICAgICAgICAgbV9vcGVuZXItPmxvYWRlcigpLT5tX29wZW5lZEZyYW1lcy5yZW1vdmUobV9m
cmFtZSk7CiAgICAgaWYgKG9wZW5lcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
Q2xpZW50LmgKaW5kZXggYTZmZGJhYmFlMmJhZmIyZDFkZmQyZDhiMDgyNGUxYmE3MjY1NmM4YS4u
NjJkMzRlMmEzNGY3MGZjMGMxMmE5MTAzMTQ2ZjMwY2Y5MWYxMmQzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTIxMiw2ICsyMTIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTdG9wTG9hZGluZ0Zvckhp
c3RvcnlJdGVtKEhpc3RvcnlJdGVtKikgY29uc3QgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlR2xvYmFsSGlzdG9yeUl0ZW1Gb3JQYWdlKCkgeyB9CiAKKyAgICAgICAgLy8gVGhpcyBm
cmFtZSBoYXMgc2V0IGl0cyBvcGVuZXIgdG8gbnVsbCwgZGlzb3duaW5nIGl0IGZvciB0aGUgbGlm
ZXRpbWUgb2YgdGhlIGZyYW1lLgorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzb3duT3BlbmVy
KCkgeyB9CisKICAgICAgICAgLy8gVGhpcyBmcmFtZSBoYXMgZGlzcGxheWVkIGluYWN0aXZlIGNv
bnRlbnQgKHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20gYW4KICAgICAgICAgLy8gaW5zZWN1cmUgc291
cmNlLiAgSW5hY3RpdmUgY29udGVudCBjYW5ub3Qgc3ByZWFkIHRvIG90aGVyIGZyYW1lcy4KICAg
ICAgICAgdmlydHVhbCB2b2lkIGRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnQoKSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAppbmRleCBjMmVl
ZTU4NmE1ZGM2NDlhYTY5YzFkNDM4NDNjZDU1NGUyYjc0YTYxLi44OWIzM2FhZDkxOGI5M2JmN2Yz
OTE5ZWI0MTk3MDU1MmU0MTA0ZmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lQ2xpZW50LmgKQEAgLTEwOSw2ICsxMDksOSBAQCBwdWJsaWM6CiAgICAgLy8g
aXMgY3JlYXRlZCBhbmQgaW5pdGlhbGl6ZWQuCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZy
YW1lKFdlYkZyYW1lKiBwYXJlbnQsIFdlYkZyYW1lKiBjaGlsZCkgeyB9CiAKKyAgICAvLyBUaGlz
IGZyYW1lIHNldCBpdHMgb3BlbmVyIHRvIG51bGwsIGRpc293bmluZyBpdC4KKyAgICB2aXJ0dWFs
IHZvaWQgZGlkRGlzb3duT3BlbmVyKFdlYkZyYW1lKikgeyB9CisKICAgICAvLyBUaGlzIGZyYW1l
IGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXcsIGJ1dCBoYXMgbm90IGJlZW4gY2xvc2Vk
IHlldC4KICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVEZXRhY2hlZChXZWJGcmFtZSopIHsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudElt
cGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBs
LmNwcAppbmRleCBmZGY1NmI1ZjY4OGE2NzhkZDVlMTkxMjRkMTYxOWFjN2E1MjgwODEzLi5mNGRm
MTkyZTg2ZGQ4YjRmMDQwYzhiNDRiMzVkMGI1MWJkZGMyNWEwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTEyMTYs
NiArMTIxNiwxMiBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6c2hvdWxkU3RvcExvYWRp
bmdGb3JIaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogdGFyZ2V0SQogICAgIHJldHVybiAhdXJsLnBy
b3RvY29sSXMoYmFja0ZvcndhcmROYXZpZ2F0aW9uU2NoZW1lKTsKIH0KIAordm9pZCBGcmFtZUxv
YWRlckNsaWVudEltcGw6OmRpZERpc293bk9wZW5lcigpCit7CisgICAgaWYgKG1fd2ViRnJhbWUt
PmNsaWVudCgpKQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+ZGlkRGlzb3duT3BlbmVy
KG1fd2ViRnJhbWUpOworfQorCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlkRGlzcGxh
eUluc2VjdXJlQ29udGVudCgpCiB7CiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApp
bmRleCA3OGZlYTYyZmFkMTBiZWEwZDg5MTYzNzUwMmU0ZWZjN2U1OWVhYjAxLi5hMTlhNzgyYzA2
NzZlNDhhN2NjNDVkZDdlNGE1MDk1YmRlMTEwYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTM4LDYgKzEzOCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlu
a3MoKTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkR29Ub0hpc3RvcnlJdGVtKFdlYkNvcmU6Okhp
c3RvcnlJdGVtKikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFN0b3BMb2FkaW5nRm9y
SGlzdG9yeUl0ZW0oV2ViQ29yZTo6SGlzdG9yeUl0ZW0qKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkRGlzb3duT3BlbmVyKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc3BsYXlJbnNlY3Vy
ZUNvbnRlbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUnVuSW5zZWN1cmVDb250ZW50KFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgaW5zZWN1cmVVUkwpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWREZXRlY3RYU1MoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGJvb2wg
ZGlkQmxvY2tFbnRpcmVQYWdlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177319</attachid>
            <date>2012-12-03 13:44:15 -0800</date>
            <delta_ts>2012-12-03 13:47:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103789-20121203134147.patch</filename>
            <type>text/plain</type>
            <size>5608</size>
            <attacher name="Charles Reis">creis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdjNDQ4NWVkMjA1ZTYx
MDQzNzViOTcyOTFjNmI3YjYxNzFhN2VjMi4uMTlmNGRjYTAyMWJmMjk1OTE1ZTM1YTNkMTBhYmRj
ZGNhNmEyNTkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTMwICBDaGFy
bGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaWREaXNvd25PcGVuZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgYSBkaWREaXNvd25Pd25lciBub3RpZmljYXRpb24gd2hlbiBh
IGZyYW1lcyBvcGVuZXIgaXMgY2xlYXJlZCwKKyAgICAgICAgc28gdGhhdCBGcmFtZUxvYWRlckNs
aWVudHMgY2FuIHJlYWN0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0
T3BlbmVyKTogQ2FsbHMgZGlkRGlzb3duT3BlbmVyIGlmIG9wZW5lciBpcyBjbGVhcmVkLgorICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJD
bGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpZERpc293bk9w
ZW5lcik6CisKIDIwMTItMTEtMzAgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgKFNpbXBsZSlQREZQbHVnaW46IFN1cHBvcnQgY29udmVyc2lvbiBvZiBQ
b3N0U2NyaXB0IGRvY3VtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5Mzg0OWY4
Njc1YzJlYzQ4MmQ3ZjVmY2RmOWMxMWYyMTgzOWZlMGU2Li5kN2NkNTdiMDBhM2M3ZmJkNzRlNmJh
NTUwYTE2YmQ4YmYzNWJlYjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDEyLTExLTMwICBDaGFybGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQWRkIEZyYW1lTG9hZGVyQ2xpZW50OjpkaWREaXNvd25PcGVuZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc4OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvcndhcmRzIHRoZSBkaWRE
aXNvd25PcGVuZXIgbm90aWZpY2F0aW9uIHRvIHRoZSBXZWJGcmFtZUNsaWVudC4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5oOgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkRGlzb3duT3BlbmVyKToKKyAgICAg
ICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJh
bWVMb2FkZXJDbGllbnRJbXBsOjpkaWREaXNvd25PcGVuZXIpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmg6CisgICAgICAgIChGcmFtZUxv
YWRlckNsaWVudEltcGwpOgorCiAyMDEyLTExLTMwICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFu
Y29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDAzNTJiMWQ4Y2MyODljZTFlOTVi
NGFiNjMxZmU1OGUzYWQwMjZjZDQuLjIwNGIyZmJkYzZmMDRhZDM0YWZlYzFhMzczN2Q5MmJmNDY4
YmZhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtOTQwLDYgKzk0
MCw5IEBAIEZyYW1lKiBGcmFtZUxvYWRlcjo6b3BlbmVyKCkKIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2V0T3BlbmVyKEZyYW1lKiBvcGVuZXIpCiB7CisgICAgaWYgKG1fb3BlbmVyICYmICFvcGVuZXIp
CisgICAgICAgIG1fY2xpZW50LT5kaWREaXNvd25PcGVuZXIoKTsKKwogICAgIGlmIChtX29wZW5l
cikKICAgICAgICAgbV9vcGVuZXItPmxvYWRlcigpLT5tX29wZW5lZEZyYW1lcy5yZW1vdmUobV9m
cmFtZSk7CiAgICAgaWYgKG9wZW5lcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
Q2xpZW50LmgKaW5kZXggYTZmZGJhYmFlMmJhZmIyZDFkZmQyZDhiMDgyNGUxYmE3MjY1NmM4YS4u
MjdhYWEzYjNiNWU5NDI3MDFjZGVlOTA4NWU4MDJiMTQwOWQ3MzE1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTIxMiw2ICsyMTIsMTAgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU3RvcExvYWRpbmdGb3JI
aXN0b3J5SXRlbShIaXN0b3J5SXRlbSopIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZUdsb2JhbEhpc3RvcnlJdGVtRm9yUGFnZSgpIHsgfQogCisgICAgICAgIC8vIFRoaXMg
ZnJhbWUgaGFzIHNldCBpdHMgb3BlbmVyIHRvIG51bGwsIGRpc293bmluZyBpdCBmb3IgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBmcmFtZS4KKyAgICAgICAgLy8gU2VlIGh0dHA6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy8jZG9tLW9wZW5lci4KKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZERpc293bk9wZW5l
cigpIHsgfQorCiAgICAgICAgIC8vIFRoaXMgZnJhbWUgaGFzIGRpc3BsYXllZCBpbmFjdGl2ZSBj
b250ZW50IChzdWNoIGFzIGFuIGltYWdlKSBmcm9tIGFuCiAgICAgICAgIC8vIGluc2VjdXJlIHNv
dXJjZS4gIEluYWN0aXZlIGNvbnRlbnQgY2Fubm90IHNwcmVhZCB0byBvdGhlciBmcmFtZXMuCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWREaXNwbGF5SW5zZWN1cmVDb250ZW50KCkgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggYzJl
ZWU1ODZhNWRjNjQ5YWE2OWMxZDQzODQzY2Q1NTRlMmI3NGE2MS4uODliMzNhYWQ5MThiOTNiZjdm
MzkxOWViNDE5NzA1NTJlNDEwNGZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGcmFtZUNsaWVudC5oCkBAIC0xMDksNiArMTA5LDkgQEAgcHVibGljOgogICAgIC8v
IGlzIGNyZWF0ZWQgYW5kIGluaXRpYWxpemVkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVG
cmFtZShXZWJGcmFtZSogcGFyZW50LCBXZWJGcmFtZSogY2hpbGQpIHsgfQogCisgICAgLy8gVGhp
cyBmcmFtZSBzZXQgaXRzIG9wZW5lciB0byBudWxsLCBkaXNvd25pbmcgaXQuCisgICAgdmlydHVh
bCB2b2lkIGRpZERpc293bk9wZW5lcihXZWJGcmFtZSopIHsgfQorCiAgICAgLy8gVGhpcyBmcmFt
ZSBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3LCBidXQgaGFzIG5vdCBiZWVuIGNsb3Nl
ZCB5ZXQuCiAgICAgdmlydHVhbCB2b2lkIGZyYW1lRGV0YWNoZWQoV2ViRnJhbWUqKSB7IH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1w
bC5jcHAKaW5kZXggZmRmNTZiNWY2ODhhNjc4ZGQ1ZTE5MTI0ZDE2MTlhYzdhNTI4MDgxMy4uZjRk
ZjE5MmU4NmRkOGI0ZjA0MGM4YjQ0YjM1ZDBiNTFiZGRjMjVhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCkBAIC0xMjE2
LDYgKzEyMTYsMTIgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OnNob3VsZFN0b3BMb2Fk
aW5nRm9ySGlzdG9yeUl0ZW0oSGlzdG9yeUl0ZW0qIHRhcmdldEkKICAgICByZXR1cm4gIXVybC5w
cm90b2NvbElzKGJhY2tGb3J3YXJkTmF2aWdhdGlvblNjaGVtZSk7CiB9CiAKK3ZvaWQgRnJhbWVM
b2FkZXJDbGllbnRJbXBsOjpkaWREaXNvd25PcGVuZXIoKQoreworICAgIGlmIChtX3dlYkZyYW1l
LT5jbGllbnQoKSkKKyAgICAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCktPmRpZERpc293bk9wZW5l
cihtX3dlYkZyYW1lKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpZERpc3Bs
YXlJbnNlY3VyZUNvbnRlbnQoKQogewogICAgIGlmIChtX3dlYkZyYW1lLT5jbGllbnQoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgK
aW5kZXggNzhmZWE2MmZhZDEwYmVhMGQ4OTE2Mzc1MDJlNGVmYzdlNTllYWIwMS4uYTE5YTc4MmMw
Njc2ZTQ4YTdjYzQ1ZGQ3ZTRhNTA5NWJkZTExMGE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAgLTEzOCw2ICsxMzgsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExp
bmtzKCk7CiAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9IaXN0b3J5SXRlbShXZWJDb3JlOjpI
aXN0b3J5SXRlbSopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTdG9wTG9hZGluZ0Zv
ckhpc3RvcnlJdGVtKFdlYkNvcmU6Okhpc3RvcnlJdGVtKikgY29uc3Q7CisgICAgdmlydHVhbCB2
b2lkIGRpZERpc293bk9wZW5lcigpOwogICAgIHZpcnR1YWwgdm9pZCBkaWREaXNwbGF5SW5zZWN1
cmVDb250ZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJ1bkluc2VjdXJlQ29udGVudChXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbiosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGluc2VjdXJlVVJMKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkRGV0ZWN0WFNTKGNvbnN0IFdlYkNvcmU6OktVUkwmLCBib29s
IGRpZEJsb2NrRW50aXJlUGFnZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177321</attachid>
            <date>2012-12-03 13:47:23 -0800</date>
            <delta_ts>2012-12-03 14:47:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103789-20121203134455.patch</filename>
            <type>text/plain</type>
            <size>5662</size>
            <attacher name="Charles Reis">creis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdjNDQ4NWVkMjA1ZTYx
MDQzNzViOTcyOTFjNmI3YjYxNzFhN2VjMi4uMTlmNGRjYTAyMWJmMjk1OTE1ZTM1YTNkMTBhYmRj
ZGNhNmEyNTkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTMwICBDaGFy
bGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaWREaXNvd25PcGVuZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgYSBkaWREaXNvd25Pd25lciBub3RpZmljYXRpb24gd2hlbiBh
IGZyYW1lcyBvcGVuZXIgaXMgY2xlYXJlZCwKKyAgICAgICAgc28gdGhhdCBGcmFtZUxvYWRlckNs
aWVudHMgY2FuIHJlYWN0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0
T3BlbmVyKTogQ2FsbHMgZGlkRGlzb3duT3BlbmVyIGlmIG9wZW5lciBpcyBjbGVhcmVkLgorICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJD
bGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpZERpc293bk9w
ZW5lcik6CisKIDIwMTItMTEtMzAgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgKFNpbXBsZSlQREZQbHVnaW46IFN1cHBvcnQgY29udmVyc2lvbiBvZiBQ
b3N0U2NyaXB0IGRvY3VtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5Mzg0OWY4
Njc1YzJlYzQ4MmQ3ZjVmY2RmOWMxMWYyMTgzOWZlMGU2Li5kN2NkNTdiMDBhM2M3ZmJkNzRlNmJh
NTUwYTE2YmQ4YmYzNWJlYjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDEyLTExLTMwICBDaGFybGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgQWRkIEZyYW1lTG9hZGVyQ2xpZW50OjpkaWREaXNvd25PcGVuZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzc4OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvcndhcmRzIHRoZSBkaWRE
aXNvd25PcGVuZXIgbm90aWZpY2F0aW9uIHRvIHRoZSBXZWJGcmFtZUNsaWVudC4KKworICAgICAg
ICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5oOgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkRGlzb3duT3BlbmVyKToKKyAgICAg
ICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJh
bWVMb2FkZXJDbGllbnRJbXBsOjpkaWREaXNvd25PcGVuZXIpOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmg6CisgICAgICAgIChGcmFtZUxv
YWRlckNsaWVudEltcGwpOgorCiAyMDEyLTExLTMwICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFu
Y29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDAzNTJiMWQ4Y2MyODljZTFlOTVi
NGFiNjMxZmU1OGUzYWQwMjZjZDQuLjIwNGIyZmJkYzZmMDRhZDM0YWZlYzFhMzczN2Q5MmJmNDY4
YmZhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtOTQwLDYgKzk0
MCw5IEBAIEZyYW1lKiBGcmFtZUxvYWRlcjo6b3BlbmVyKCkKIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2V0T3BlbmVyKEZyYW1lKiBvcGVuZXIpCiB7CisgICAgaWYgKG1fb3BlbmVyICYmICFvcGVuZXIp
CisgICAgICAgIG1fY2xpZW50LT5kaWREaXNvd25PcGVuZXIoKTsKKwogICAgIGlmIChtX29wZW5l
cikKICAgICAgICAgbV9vcGVuZXItPmxvYWRlcigpLT5tX29wZW5lZEZyYW1lcy5yZW1vdmUobV9m
cmFtZSk7CiAgICAgaWYgKG9wZW5lcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
Q2xpZW50LmgKaW5kZXggYTZmZGJhYmFlMmJhZmIyZDFkZmQyZDhiMDgyNGUxYmE3MjY1NmM4YS4u
MjdhYWEzYjNiNWU5NDI3MDFjZGVlOTA4NWU4MDJiMTQwOWQ3MzE1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTIxMiw2ICsyMTIsMTAgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU3RvcExvYWRpbmdGb3JI
aXN0b3J5SXRlbShIaXN0b3J5SXRlbSopIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZUdsb2JhbEhpc3RvcnlJdGVtRm9yUGFnZSgpIHsgfQogCisgICAgICAgIC8vIFRoaXMg
ZnJhbWUgaGFzIHNldCBpdHMgb3BlbmVyIHRvIG51bGwsIGRpc293bmluZyBpdCBmb3IgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBmcmFtZS4KKyAgICAgICAgLy8gU2VlIGh0dHA6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy8jZG9tLW9wZW5lci4KKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZERpc293bk9wZW5l
cigpIHsgfQorCiAgICAgICAgIC8vIFRoaXMgZnJhbWUgaGFzIGRpc3BsYXllZCBpbmFjdGl2ZSBj
b250ZW50IChzdWNoIGFzIGFuIGltYWdlKSBmcm9tIGFuCiAgICAgICAgIC8vIGluc2VjdXJlIHNv
dXJjZS4gIEluYWN0aXZlIGNvbnRlbnQgY2Fubm90IHNwcmVhZCB0byBvdGhlciBmcmFtZXMuCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWREaXNwbGF5SW5zZWN1cmVDb250ZW50KCkgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggYzJl
ZWU1ODZhNWRjNjQ5YWE2OWMxZDQzODQzY2Q1NTRlMmI3NGE2MS4uZTVhYWNlM2VkZTFmNzY4ZWNj
NDMyMGJhNTk4YzQ0NDlkMjU1NzI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGcmFtZUNsaWVudC5oCkBAIC0xMDksNiArMTA5LDEwIEBAIHB1YmxpYzoKICAgICAv
LyBpcyBjcmVhdGVkIGFuZCBpbml0aWFsaXplZC4KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRl
RnJhbWUoV2ViRnJhbWUqIHBhcmVudCwgV2ViRnJhbWUqIGNoaWxkKSB7IH0KIAorICAgIC8vIFRo
aXMgZnJhbWUgc2V0IGl0cyBvcGVuZXIgdG8gbnVsbCwgZGlzb3duaW5nIGl0LgorICAgIC8vIFNl
ZSBodHRwOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1vcGVuZXIuCisgICAgdmlydHVhbCB2
b2lkIGRpZERpc293bk9wZW5lcihXZWJGcmFtZSopIHsgfQorCiAgICAgLy8gVGhpcyBmcmFtZSBo
YXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3LCBidXQgaGFzIG5vdCBiZWVuIGNsb3NlZCB5
ZXQuCiAgICAgdmlydHVhbCB2b2lkIGZyYW1lRGV0YWNoZWQoV2ViRnJhbWUqKSB7IH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5j
cHAKaW5kZXggZmRmNTZiNWY2ODhhNjc4ZGQ1ZTE5MTI0ZDE2MTlhYzdhNTI4MDgxMy4uZjRkZjE5
MmU4NmRkOGI0ZjA0MGM4YjQ0YjM1ZDBiNTFiZGRjMjVhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCkBAIC0xMjE2LDYg
KzEyMTYsMTIgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEltcGw6OnNob3VsZFN0b3BMb2FkaW5n
Rm9ySGlzdG9yeUl0ZW0oSGlzdG9yeUl0ZW0qIHRhcmdldEkKICAgICByZXR1cm4gIXVybC5wcm90
b2NvbElzKGJhY2tGb3J3YXJkTmF2aWdhdGlvblNjaGVtZSk7CiB9CiAKK3ZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsOjpkaWREaXNvd25PcGVuZXIoKQoreworICAgIGlmIChtX3dlYkZyYW1lLT5j
bGllbnQoKSkKKyAgICAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCktPmRpZERpc293bk9wZW5lciht
X3dlYkZyYW1lKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpZERpc3BsYXlJ
bnNlY3VyZUNvbnRlbnQoKQogewogICAgIGlmIChtX3dlYkZyYW1lLT5jbGllbnQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5k
ZXggNzhmZWE2MmZhZDEwYmVhMGQ4OTE2Mzc1MDJlNGVmYzdlNTllYWIwMS4uYTE5YTc4MmMwNjc2
ZTQ4YTdjYzQ1ZGQ3ZTRhNTA5NWJkZTExMGE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAgLTEzOCw2ICsxMzgsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtz
KCk7CiAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9IaXN0b3J5SXRlbShXZWJDb3JlOjpIaXN0
b3J5SXRlbSopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTdG9wTG9hZGluZ0Zvckhp
c3RvcnlJdGVtKFdlYkNvcmU6Okhpc3RvcnlJdGVtKikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lk
IGRpZERpc293bk9wZW5lcigpOwogICAgIHZpcnR1YWwgdm9pZCBkaWREaXNwbGF5SW5zZWN1cmVD
b250ZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJ1bkluc2VjdXJlQ29udGVudChXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGluc2VjdXJlVVJMKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRGV0ZWN0WFNTKGNvbnN0IFdlYkNvcmU6OktVUkwmLCBib29sIGRp
ZEJsb2NrRW50aXJlUGFnZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177337</attachid>
            <date>2012-12-03 14:47:29 -0800</date>
            <delta_ts>2012-12-04 09:40:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103789-20121203144501.patch</filename>
            <type>text/plain</type>
            <size>5769</size>
            <attacher name="Charles Reis">creis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzdjNDQ4NWVkMjA1ZTYx
MDQzNzViOTcyOTFjNmI3YjYxNzFhN2VjMi4uMTBmNjczYTk0ZDNkMDljMDAwNjA2MjYyNzljZWRj
NmQwMmI1OWExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTMwICBDaGFy
bGllIFJlaXMgIDxjcmVpc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaWREaXNvd25PcGVuZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMzc4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgYSBkaWREaXNvd25Pd25lciBub3RpZmljYXRpb24gd2hlbiBh
IGZyYW1lJ3Mgb3BlbmVyIGlzIGNsZWFyZWQsCisgICAgICAgIHNvIHRoYXQgRnJhbWVMb2FkZXJD
bGllbnRzIGNhbiByZWFjdC4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNl
dE9wZW5lcik6IENhbGxzIGRpZERpc293bk9wZW5lciBpZiBvcGVuZXIgaXMgY2xlYXJlZC4KKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKEZyYW1lTG9hZGVy
Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50OjpkaWREaXNvd25P
cGVuZXIpOgorCiAyMDEyLTExLTMwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIChTaW1wbGUpUERGUGx1Z2luOiBTdXBwb3J0IGNvbnZlcnNpb24gb2Yg
UG9zdFNjcmlwdCBkb2N1bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOTM4NDlm
ODY3NWMyZWM0ODJkN2Y1ZmNkZjljMTFmMjE4MzlmZTBlNi4uZDdjZDU3YjAwYTNjN2ZiZDc0ZTZi
YTU1MGExNmJkOGJmMzViZWI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAxMi0xMS0zMCAgQ2hhcmxpZSBSZWlzICA8Y3JlaXNAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEFkZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlkRGlzb3duT3BlbmVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM3ODkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3J3YXJkcyB0aGUgZGlk
RGlzb3duT3BlbmVyIG5vdGlmaWNhdGlvbiB0byB0aGUgV2ViRnJhbWVDbGllbnQuCisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViRnJhbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkZyYW1lQ2xpZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6OmRpZERpc293bk9wZW5lcik6CisgICAg
ICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZy
YW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlkRGlzb3duT3BlbmVyKToKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oOgorICAgICAgICAoRnJhbWVM
b2FkZXJDbGllbnRJbXBsKToKKwogMjAxMi0xMS0zMCAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxh
bmNvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAwMzUyYjFkOGNjMjg5Y2UxZTk1
YjRhYjYzMWZlNThlM2FkMDI2Y2Q0Li4yMDRiMmZiZGM2ZjA0YWQzNGFmZWMxYTM3MzdkOTJiZjQ2
OGJmYTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTk0MCw2ICs5
NDAsOSBAQCBGcmFtZSogRnJhbWVMb2FkZXI6Om9wZW5lcigpCiAKIHZvaWQgRnJhbWVMb2FkZXI6
OnNldE9wZW5lcihGcmFtZSogb3BlbmVyKQogeworICAgIGlmIChtX29wZW5lciAmJiAhb3BlbmVy
KQorICAgICAgICBtX2NsaWVudC0+ZGlkRGlzb3duT3BlbmVyKCk7CisKICAgICBpZiAobV9vcGVu
ZXIpCiAgICAgICAgIG1fb3BlbmVyLT5sb2FkZXIoKS0+bV9vcGVuZWRGcmFtZXMucmVtb3ZlKG1f
ZnJhbWUpOwogICAgIGlmIChvcGVuZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ckNsaWVudC5oCmluZGV4IGE2ZmRiYWJhZTJiYWZiMmQxZGZkMmQ4YjA4MjRlMWJhNzI2NTZjOGEu
LmM5ZWFlNjQ4Yzg3N2ZlMjAwZTkwZWFmNjRkNTA2MjA0OWJiMTdjMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC0yMTIsNiArMjEyLDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZFN0b3BMb2FkaW5nRm9y
SGlzdG9yeUl0ZW0oSGlzdG9yeUl0ZW0qKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVHbG9iYWxIaXN0b3J5SXRlbUZvclBhZ2UoKSB7IH0KIAorICAgICAgICAvLyBUaGlz
IGZyYW1lIGhhcyBzZXQgaXRzIG9wZW5lciB0byBudWxsLCBkaXNvd25pbmcgaXQgZm9yIHRoZSBs
aWZldGltZSBvZiB0aGUgZnJhbWUuCisgICAgICAgIC8vIFNlZSBodHRwOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI2RvbS1vcGVuZXIuCisgICAgICAgIC8vIEZJWE1FOiBKU0Mgc2hvdWxkIGFsbG93
IGRpc293bmluZyBvcGVuZXIuIC0gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDM5MTM+LgorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzb3duT3BlbmVyKCkgeyB9
CisKICAgICAgICAgLy8gVGhpcyBmcmFtZSBoYXMgZGlzcGxheWVkIGluYWN0aXZlIGNvbnRlbnQg
KHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20gYW4KICAgICAgICAgLy8gaW5zZWN1cmUgc291cmNlLiAg
SW5hY3RpdmUgY29udGVudCBjYW5ub3Qgc3ByZWFkIHRvIG90aGVyIGZyYW1lcy4KICAgICAgICAg
dmlydHVhbCB2b2lkIGRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnQoKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAppbmRleCBjMmVlZTU4NmE1
ZGM2NDlhYTY5YzFkNDM4NDNjZDU1NGUyYjc0YTYxLi5lNWFhY2UzZWRlMWY3NjhlY2M0MzIwYmE1
OThjNDQ0OWQyNTU3Mjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lQ2xpZW50LmgKQEAgLTEwOSw2ICsxMDksMTAgQEAgcHVibGljOgogICAgIC8vIGlzIGNy
ZWF0ZWQgYW5kIGluaXRpYWxpemVkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcmFtZShX
ZWJGcmFtZSogcGFyZW50LCBXZWJGcmFtZSogY2hpbGQpIHsgfQogCisgICAgLy8gVGhpcyBmcmFt
ZSBzZXQgaXRzIG9wZW5lciB0byBudWxsLCBkaXNvd25pbmcgaXQuCisgICAgLy8gU2VlIGh0dHA6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLW9wZW5lci4KKyAgICB2aXJ0dWFsIHZvaWQgZGlk
RGlzb3duT3BlbmVyKFdlYkZyYW1lKikgeyB9CisKICAgICAvLyBUaGlzIGZyYW1lIGhhcyBiZWVu
IGRldGFjaGVkIGZyb20gdGhlIHZpZXcsIGJ1dCBoYXMgbm90IGJlZW4gY2xvc2VkIHlldC4KICAg
ICB2aXJ0dWFsIHZvaWQgZnJhbWVEZXRhY2hlZChXZWJGcmFtZSopIHsgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAppbmRl
eCBmZGY1NmI1ZjY4OGE2NzhkZDVlMTkxMjRkMTYxOWFjN2E1MjgwODEzLi5mNGRmMTkyZTg2ZGQ4
YjRmMDQwYzhiNDRiMzVkMGI1MWJkZGMyNWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTEyMTYsNiArMTIxNiwx
MiBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6c2hvdWxkU3RvcExvYWRpbmdGb3JIaXN0
b3J5SXRlbShIaXN0b3J5SXRlbSogdGFyZ2V0SQogICAgIHJldHVybiAhdXJsLnByb3RvY29sSXMo
YmFja0ZvcndhcmROYXZpZ2F0aW9uU2NoZW1lKTsKIH0KIAordm9pZCBGcmFtZUxvYWRlckNsaWVu
dEltcGw6OmRpZERpc293bk9wZW5lcigpCit7CisgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgp
KQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+ZGlkRGlzb3duT3BlbmVyKG1fd2ViRnJh
bWUpOworfQorCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlkRGlzcGxheUluc2VjdXJl
Q29udGVudCgpCiB7CiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAppbmRleCA3OGZl
YTYyZmFkMTBiZWEwZDg5MTYzNzUwMmU0ZWZjN2U1OWVhYjAxLi5hMTlhNzgyYzA2NzZlNDhhN2Nj
NDVkZDdlNGE1MDk1YmRlMTEwYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTM4LDYgKzEzOCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlR2xvYmFsSGlzdG9yeVJlZGlyZWN0TGlua3MoKTsKICAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkR29Ub0hpc3RvcnlJdGVtKFdlYkNvcmU6Okhpc3RvcnlJdGVt
KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHNob3VsZFN0b3BMb2FkaW5nRm9ySGlzdG9yeUl0
ZW0oV2ViQ29yZTo6SGlzdG9yeUl0ZW0qKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRGlz
b3duT3BlbmVyKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnQo
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUnVuSW5zZWN1cmVDb250ZW50KFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgaW5zZWN1cmVVUkwpOwogICAgIHZpcnR1
YWwgdm9pZCBkaWREZXRlY3RYU1MoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGJvb2wgZGlkQmxvY2tF
bnRpcmVQYWdlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>