<?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>135634</bug_id>
          
          <creation_ts>2014-08-05 19:24:24 -0700</creation_ts>
          <short_desc>URLs sometimes remain in IconDatabase files after history is cleared.</short_desc>
          <delta_ts>2014-08-08 08:38:57 -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>History</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gordon Sheridan">gordon_sheridan</reporter>
          <assigned_to name="Gordon Sheridan">gordon_sheridan</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>jberlin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1027054</commentid>
    <comment_count>0</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-05 19:24:24 -0700</bug_when>
    <thetext>When HistoryItem objects, which retain and release the page URLs for favicons in their constructors/destructors, are removed from the WebBackForwardList, it is possible for one or more HistoryControllers to retain a reference to the HistoryItem in its m_previousItem member. This prevents the destruction of the HistoryItem, so the URL is not released from the IconDatabase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027064</commentid>
    <comment_count>1</comment_count>
      <attachid>236076</attachid>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-05 20:05:00 -0700</bug_when>
    <thetext>Created attachment 236076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027065</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-05 20:05:56 -0700</bug_when>
    <thetext>Attachment 236076 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027068</commentid>
    <comment_count>3</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-05 20:10:22 -0700</bug_when>
    <thetext>I chose to add a general purpose call to WebCore::Page, to execute a function or closure for each Page. If it is preferable to create a more narrow function with the sole purpose of clearing the m_previousItem member of the HistoryControllers associated with each Page, I&apos;d be happy to provide a new patch.

I also welcome naming suggestions for the methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027069</commentid>
    <comment_count>4</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-05 20:11:01 -0700</bug_when>
    <thetext>I will also be working on API tests for these methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027081</commentid>
    <comment_count>5</comment_count>
      <attachid>236076</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-08-05 20:51:08 -0700</bug_when>
    <thetext>Comment on attachment 236076
Patch

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

In general, looks good.

&gt; I chose to add a general purpose call to WebCore::Page, to execute a function or closure for each Page.

I think we should be more narrow and add a function specific to this.

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests (OOPS!).

I think we need an API test for this.

&gt; Source/WebCore/page/Page.cpp:278
&gt; +    for (auto it = allPages-&gt;begin(), end = allPages-&gt;end(); it != end; ++it) {
&gt; +        if (callBack(*it))
&gt; +            return;
&gt; +    }

This should be a C++11 for loop.

for (auto&amp; page : *allPages) { }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027098</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-08-05 22:55:32 -0700</bug_when>
    <thetext>&gt; I think we should be more narrow and add a function specific to this.

+many

This gives callers a huge huge gun to shoot themselves in the foot. Calling arbitrary functions during iteration could easily result in the container being modified, and iterators becoming invalid. The allPages container is private to Page, so Page should know about everything that&apos;s being done with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027235</commentid>
    <comment_count>7</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-06 11:24:43 -0700</bug_when>
    <thetext>Thanks for the great feedback. I&apos;ll update the patch and resubmit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027258</commentid>
    <comment_count>8</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2014-08-06 12:46:52 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 236076 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=236076&amp;action=review
&gt; 
&gt; In general, looks good.
&gt; 
&gt; &gt; I chose to add a general purpose call to WebCore::Page, to execute a function or closure for each Page.
&gt; 
&gt; I think we should be more narrow and add a function specific to this.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        No new tests (OOPS!).
&gt; 
&gt; I think we need an API test for this.

I talked with Brady, and he confirmed this would need a way to run a http server during the test (visit multiple pages with multiple favicons).

It is unclear to me whether we have that ability today with our API tests. If we don&apos;t, we shouldn&apos;t make adding it be part of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027262</commentid>
    <comment_count>9</comment_count>
      <attachid>236076</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-08-06 12:55:37 -0700</bug_when>
    <thetext>Comment on attachment 236076
Patch

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=135634

Is there a Radar bug for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027267</commentid>
    <comment_count>10</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-08-06 13:07:20 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 236076 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=236076&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:4
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=135634
&gt; 
&gt; Is there a Radar bug for this?

Good call - Yes, there is.  Gordon should link to the rdar: here and add the InRadar keyword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027279</commentid>
    <comment_count>11</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-06 13:29:49 -0700</bug_when>
    <thetext>Here&apos;s the radar bug: &lt;rdar://problem/17388461&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027387</commentid>
    <comment_count>12</comment_count>
      <attachid>236162</attachid>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-06 18:53:18 -0700</bug_when>
    <thetext>Created attachment 236162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027388</commentid>
    <comment_count>13</comment_count>
      <attachid>236162</attachid>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-06 19:00:48 -0700</bug_when>
    <thetext>Comment on attachment 236162
Patch

Updated patch to rename and restrict purpose of method added to WebCore::Page to clear the m_previousItem of HistoryController associated with the main frame when it matches the HistoryItem being removed from the back/forward list. HistoryController::clearPreviousItem() also clears the m_previousItem in the HistoryControllers associated with any descendants in the FrameTree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027539</commentid>
    <comment_count>14</comment_count>
      <attachid>236162</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-08-07 11:15:48 -0700</bug_when>
    <thetext>Comment on attachment 236162
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        No API tests were added because they would require running an http server during the test
&gt; +        to visit multiple sites to download favicons and generate particular history sequences.

This is a little wordy and not quite right.

I would just say &quot;No new tests.  Would require an API test that also needs an httpd, which we don&apos;t currently support.&quot;

&gt; Source/WebCore/ChangeLog:13
&gt; +        Added exports for HistoryController::clearPreviousItem and Page::clearPreviousItemFromAllPages.

I don&apos;t think you need the HistoryController::clearPreviousItem export.

&gt; Source/WebCore/WebCore.exp.in:757
&gt; +__ZN7WebCore17HistoryController17clearPreviousItemEv

Don&apos;t think you need this export - WK2 doesn&apos;t call it, it&apos;s only called within WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027552</commentid>
    <comment_count>15</comment_count>
      <attachid>236205</attachid>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2014-08-07 12:13:27 -0700</bug_when>
    <thetext>Created attachment 236205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027578</commentid>
    <comment_count>16</comment_count>
      <attachid>236205</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-07 13:21:02 -0700</bug_when>
    <thetext>Comment on attachment 236205
Patch

Clearing flags on attachment: 236205

Committed r172235: &lt;http://trac.webkit.org/changeset/172235&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027579</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-07 13:21:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027848</commentid>
    <comment_count>18</comment_count>
      <attachid>236076</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-08 08:38:57 -0700</bug_when>
    <thetext>Comment on attachment 236076
Patch

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

&gt; Source/WebCore/loader/HistoryController.cpp:604
&gt; +    m_previousItem = nullptr;
&gt; +    for (Frame* child = m_frame.tree().firstChild(); child; child = child-&gt;tree().nextSibling())
&gt; +        child-&gt;loader().history().clearPreviousItem();

It’s nicer to do this in an iterative way. Something like this:

    for (Frame* frame = &amp;m_frame.get(); frame; frame = frame-&gt;tree().traverseNext(&amp;m_frame.get()))
        frame-&gt;loader().history().m_previousItem = nullptr;

It’ll be even more elegant later when we have iterators that work on the frame tree. Someone was working on a patch for that.

It’s also a little ugly that this function exists for all history controllers but it’s really only appropriate for top level ones. It would not be right to call this on a subframe. If we knew this was a main frame then we would not need to pass m_frame to traverseNext.

&gt; Source/WebCore/page/Page.cpp:270
&gt; +void Page::forEach(const std::function&lt;bool(Page*)&gt;&amp; callBack)

This is a new coding style for WebKit. We don’t have any other forEach functions, and the style where we return a bool to indicate we should stop iterating is also new.

I think this should just be a std::function, not a const std::function&amp;.

The function should take a Page&amp; argument, not a Page*.

The name callBack is not a good argument name because it is a verb phrase, not a noun phrase. Even just naming it “function” would be better.

&gt; Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:142
&gt; +        if (item == controller.previousItem()) {
&gt; +            controller.clearPreviousItem();
&gt; +            return true;
&gt; +        }
&gt; +        return false;

Would read slightly better in early-return style, meaning we’d return in the != case before doing the additional work on the normal case. We want to minimize the nesting of the real work.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236076</attachid>
            <date>2014-08-05 20:05:00 -0700</date>
            <delta_ts>2014-08-08 08:38:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135634-20140805200448.patch</filename>
            <type>text/plain</type>
            <size>7588</size>
            <attacher name="Gordon Sheridan">gordon_sheridan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc4ODgwYzg0MTA5ZmM1
ZjVhYzFjM2QwOGJkZmEwMGI0NjhkY2Y0Ny4uZWI3YmJhZDNiN2NkODgwYzU3ZmYzZjZlNzU5YzAw
ZjE4OTI1ZTI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTA4LTA1ICBHb3Jk
b24gU2hlcmlkYW4gIDxnb3Jkb25fc2hlcmlkYW5AYXBwbGUuY29tPgorCisgICAgICAgIFByb3Zp
ZGUgbWV0aG9kcyB0byBjbGVhciB1bmRlc2lyZWQgcmVmZXJlbmNlcyB0byBIaXN0b3J5SXRlbXMg
dGhhdCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBiYWNrL2ZvcmFyZCBsaXN0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NjM0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgQWRkZWQgZXhwb3J0
cyBmb3IgSGlzdG9yeUNvbnRyb2xsZXI6OmNsZWFyUHJldmlvdXNJdGVtIGFuZCBQYWdlOjpmb3JF
YWNoLgorCisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjpjbGVhclByZXZpb3VzSXRlbSk6CisgICAgICAg
IENsZWFyIG1fcHJldmlvdXNJdGVtIGFuZCBpdGVyYXRlIG92ZXIgY2hpbGRyZW4gcmVjdXJzaXZl
bHkgY2FsbGluZyBjbGVhclByZXZpb3VzSXRlbSgpLgorICAgICAgICBUaGUgbV9wcmV2aW91c0l0
ZW0gaXMgY2xlYXJlZCBmb3IgdGhlIHRhcmdldCBIaXN0b3J5Q29udHJvbGxlciwgYW5kIGFsbCBv
ZiBpdHMgZGVzY2VuZGVudHMuCisKKyAgICAgICAgKiBsb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgRGVjbGFyZWQgSGlzdG9yeUNvbnRyb2xsZXI6OmNsZWFyUHJldmlvdXNJdGVt
LgorCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmZv
ckVhY2gpOgorICAgICAgICBJdGVyYXRlIG92ZXIgYWxsUGFnZXMsIHBhc3NpbmcgYSBwb2ludGVy
IHRvIHRoZSBwYWdlIHRvIHRoZSBmdW5jdGlvbiBvciBjbG9zdXJlIGFyZ3VtZW50LgorICAgICAg
ICBJdGVyYXRpb24gc3RvcHMgaWYgdGhlIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZS4KKworICAgICAg
ICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICBEZWNsYXJlZCBQYWdlOjpmb3JFYWNoLgorCiAyMDE0
LTA4LTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
aW5dIEJ1aWxkIGF0dGVtcHRzIHRvIHVzZSBBTkdMRSB3aGVuIG5vdCBidWlsZGluZyBXZWJHTC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhZWY4ZjgxMTRhMGZhOTA4MzcxMmNhNjc2YTcxM2RjZjNhMWYyZTRjLi40
NTliNzg5NmJmNjgzMmVjNjFkY2UwNTU4NmJlNjEyMWY4M2ZhMWYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTQtMDgtMDUgIEdvcmRvbiBTaGVyaWRhbiAgPGdvcmRvbl9zaGVyaWRh
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYXIgdGhlIG1fcHJldmlvdXNJdGVtIG1lbWJlciBv
ZiBIaXN0b3J5Q29udHJvbGxlcnMgd2hlbiBpdCBtYXRjaGVzIHRoZSBIaXN0b3J5SXRlbSBiZWlu
ZyByZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM1NjM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6cmVtb3ZlSXRlbSk6CisgICAg
ICAgIEFkZGVkIGNvZGUgdG8gaXRlcmF0ZSBvdmVyIGVhY2ggcGFnZSBpbiB0aGUgd2ViIHByb2Nl
c3MsIGNoZWNraW5nIGlmIHRoZSBwcmV2aW91cyBpdGVtIG9mCisgICAgICAgIHRoZSBIaXN0b3J5
Q29udHJvbGxlciBmb3IgdGhlIG1haW4gZnJhbWUgaXMgdGhlIHNhbWUgYXMgdGhlIGl0ZW0gYmVp
bmcgcmVtb3ZlZC4gSWYgc28sIHRoZQorICAgICAgICBmcmFtZVRyZWUgaXMgdHJhdmVyc2VkIGFu
ZCBlYWNoIGFzc29jaWF0ZWQgSGlzdG9yeUNvbnRyb2xsZXIgaGFzIGl0cyBtX3ByZXZpb3VzSXRl
bSBjbGVhcmVkLgorCiAyMDE0LTA4LTA1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxNjQzMzcpOiBQYWdlcyBhcmUgc29tZXRp
bWVzIGN1dCBvZmYvb3JpZW50ZWQgaW5jb3JyZWN0bHkgYWZ0ZXIgdXNpbmcgV0tUaHVtYm5haWxW
aWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGNjYTc4Nzg1YTk2ODZlYTFmNmQzYzBmNzU1M2Mx
YjZiYzAyMjA1ODIuLjZhZjhmMTVhZjE0NWZhZDUxMmYwYWY1MzhkM2E1ZjkwNTgyZDFlYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NTQsNiArNzU0LDcgQEAgX19aTjdXZWJDb3JlMTdET01J
bXBsZW1lbnRhdGlvbjE0aXNUZXh0TUlNRVR5cGVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNv
cmUxN0dseXBoUGFnZVRyZWVOb2RlMTh0cmVlR2x5cGhQYWdlQ291bnRFdgogX19aTjdXZWJDb3Jl
MTdIVE1MT3B0aW9uRWxlbWVudDhzZWxlY3RlZEV2CiBfX1pON1dlYkNvcmUxN0hUTUxTZWxlY3RF
bGVtZW50MjBvcHRpb25TZWxlY3RlZEJ5VXNlckVpYmIKK19fWk43V2ViQ29yZTE3SGlzdG9yeUNv
bnRyb2xsZXIxN2NsZWFyUHJldmlvdXNJdGVtRXYKIF9fWk43V2ViQ29yZTE3SGlzdG9yeUNvbnRy
b2xsZXIyNnNhdmVEb2N1bWVudEFuZFNjcm9sbFN0YXRlRXYKIF9fWk43V2ViQ29yZTE3SGlzdG9y
eUNvbnRyb2xsZXIzM3Jlc3RvcmVTY3JvbGxQb3NpdGlvbkFuZFZpZXdTdGF0ZUV2CiBfX1pON1dl
YkNvcmUxN0pTRE9NR2xvYmFsT2JqZWN0NnNfaW5mb0UKQEAgLTExNDMsNiArMTE0NCw3IEBAIF9f
Wk43V2ViQ29yZTRQYWdlMzVyZXN1bWVBY3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9uc0V2CiBf
X1pON1dlYkNvcmU0UGFnZTM2c2V0U2hvdWxkU3VwcHJlc3NTY3JvbGxiYXJBbmltYXRpb25zRWIK
IF9fWk43V2ViQ29yZTRQYWdlMzZzdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnNF
dgogX19aTjdXZWJDb3JlNFBhZ2UzN3NldEluTG93UXVhbGl0eUltYWdlSW50ZXJwb2xhdGlvbk1v
ZGVFYgorX19aTjdXZWJDb3JlNFBhZ2U3Zm9yRWFjaEVSS05TdDNfXzE4ZnVuY3Rpb25JRmJQUzBf
RUVFCiBfX1pON1dlYkNvcmU0UGFnZThnb1RvSXRlbUVQTlNfMTFIaXN0b3J5SXRlbUVOU18xM0Zy
YW1lTG9hZFR5cGVFCiBfX1pON1dlYkNvcmU0UGFnZTlpbml0R3JvdXBFdgogX19aTjdXZWJDb3Jl
NFBhZ2VDMUVSTlMwXzExUGFnZUNsaWVudHNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmNwcAppbmRleCA2MGQ0OTRjMjdmOGQ5MmRhMGE3Mzg0MWEwZGVmNTlkOTZh
YjhjNzFmLi4yMDVlYzNiMjBiOWRmMDE2MWM0MmNlYzRmN2I2NWZlYTU2ZGIxOTRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKQEAgLTU5Nyw2ICs1OTcs
MTMgQEAgYm9vbCBIaXN0b3J5Q29udHJvbGxlcjo6Y3VycmVudEl0ZW1TaG91bGRCZVJlcGxhY2Vk
KCkgY29uc3QKICAgICByZXR1cm4gbV9jdXJyZW50SXRlbSAmJiAhbV9wcmV2aW91c0l0ZW0gJiYg
ZXF1YWxJZ25vcmluZ0Nhc2UobV9jdXJyZW50SXRlbS0+dXJsU3RyaW5nKCksIGJsYW5rVVJMKCkp
OwogfQogCit2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpjbGVhclByZXZpb3VzSXRlbSgpCit7Cisg
ICAgbV9wcmV2aW91c0l0ZW0gPSBudWxscHRyOworICAgIGZvciAoRnJhbWUqIGNoaWxkID0gbV9m
cmFtZS50cmVlKCkuZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+dHJlZSgpLm5l
eHRTaWJsaW5nKCkpCisgICAgICAgIGNoaWxkLT5sb2FkZXIoKS5oaXN0b3J5KCkuY2xlYXJQcmV2
aW91c0l0ZW0oKTsKK30KKwogdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6c2V0UHJvdmlzaW9uYWxJ
dGVtKEhpc3RvcnlJdGVtKiBpdGVtKQogewogICAgIG1fcHJvdmlzaW9uYWxJdGVtID0gaXRlbTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5kZXggMTk2NGUzNzQ3
ZTExOWI2YWY2ZWEzZDgzNjM1MzBmMjQxYjViNjM4Ni4uM2QzZWM2OGE3ZTVjYjBkNTY1ZGQ1ZTgw
NTk5NTNmMDhiNzE0MzliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9s
bGVyLmgKQEAgLTgwLDYgKzgwLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVwbGFjZUN1cnJlbnRJ
dGVtKEhpc3RvcnlJdGVtKik7CiAKICAgICBIaXN0b3J5SXRlbSogcHJldmlvdXNJdGVtKCkgY29u
c3QgeyByZXR1cm4gbV9wcmV2aW91c0l0ZW0uZ2V0KCk7IH0KKyAgICB2b2lkIGNsZWFyUHJldmlv
dXNJdGVtKCk7CiAKICAgICBIaXN0b3J5SXRlbSogcHJvdmlzaW9uYWxJdGVtKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm92aXNpb25hbEl0ZW0uZ2V0KCk7IH0KICAgICB2b2lkIHNldFByb3Zpc2lvbmFs
SXRlbShIaXN0b3J5SXRlbSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggNmQwZDhkMjQyZjBkMDNi
YjU1MWRjNzIxMTk5M2RmNDBmMDExZWRhZC4uZjU2MGU2MTkyOGFmZGJlMGI2YjQ3YWQyNTQ3Yzkw
NTU0YjcwMjYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNjcsNiArMjY3LDE3IEBAIFBhZ2U6
On5QYWdlKCkKICAgICAgICAgbV92aXNpdGVkTGlua1N0b3JlLT5yZW1vdmVQYWdlKCp0aGlzKTsK
IH0KIAordm9pZCBQYWdlOjpmb3JFYWNoKGNvbnN0IHN0ZDo6ZnVuY3Rpb248Ym9vbChQYWdlKik+
JiBjYWxsQmFjaykKK3sKKyAgICBpZiAoIWFsbFBhZ2VzKQorICAgICAgICByZXR1cm47CisKKyAg
ICBmb3IgKGF1dG8gaXQgPSBhbGxQYWdlcy0+YmVnaW4oKSwgZW5kID0gYWxsUGFnZXMtPmVuZCgp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgaWYgKGNhbGxCYWNrKCppdCkpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgfQorfQorCiB1aW50NjRfdCBQYWdlOjpyZW5kZXJUcmVlU2l6ZSgp
IGNvbnN0CiB7CiAgICAgdWludDY0X3QgdG90YWwgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCBjY2Vl
ODdmNzg1NjliNzY1NjE0M2QwMWE2ZWM5NTkxN2YyZjY0ZTI5Li4zNTNhYWM0ZmRjYTFlNGI3OTEw
MGRjZjI5NzJjNGQ3MTRlZTgzNjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTE3LDYgKzExNyw3IEBA
IGNsYXNzIFBhZ2UgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8UGFnZT4gewogCiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgdXBkYXRlU3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5F
bnZpcm9ubWVudCgpOworICAgIHN0YXRpYyB2b2lkIGZvckVhY2goY29uc3Qgc3RkOjpmdW5jdGlv
bjxib29sKFBhZ2UqKT4mIGNhbGxCYWNrKTsKIAogICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0
Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSBy
ZXF1aXJlZC4KICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgdG8gUGFnZUNvbmZpZ3VyYXRpb24g
YW5kIG1vdmUgaXQgdG8gaXRzIG93biBjbGFzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCmlu
ZGV4IDAxN2Y1YmM1NzA5MDNmZmNmNGJjMzJkYzZjMDhlMzQ4Mzc1M2ExOGUuLjZlYTlhNzAyNmYx
YTFjZmJiOTk0OWUyYjgzYmQzZjgxMTc0ZDdlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNw
cApAQCAtMzMsNyArMzMsOSBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2Vz
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9IaXN0b3J5Q29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvSGlzdG9yeUl0ZW0uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL01haW5GcmFtZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGFnZUNhY2hlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KQEAgLTEzMSw2ICsxMzMsMTQgQEAgdm9pZCBX
ZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6cmVtb3ZlSXRlbSh1aW50NjRfdCBpdGVtSUQpCiAgICAg
ICAgIHJldHVybjsKICAgICAgICAgCiAgICAgcGFnZUNhY2hlKCktPnJlbW92ZShpdGVtLmdldCgp
KTsKKyAgICBXZWJDb3JlOjpQYWdlOjpmb3JFYWNoKFtpdGVtXShXZWJDb3JlOjpQYWdlKiBwYWdl
KSB7CisgICAgICAgIEhpc3RvcnlDb250cm9sbGVyJiBjb250cm9sbGVyID0gcGFnZS0+bWFpbkZy
YW1lKCkubG9hZGVyKCkuaGlzdG9yeSgpOworICAgICAgICBpZiAoaXRlbSA9PSBjb250cm9sbGVy
LnByZXZpb3VzSXRlbSgpKSB7CisgICAgICAgICAgICBjb250cm9sbGVyLmNsZWFyUHJldmlvdXNJ
dGVtKCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfSk7CiAgICAgaGlzdG9yeUl0ZW1Ub0lETWFwKCkucmVtb3ZlKGl0ZW0p
OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236162</attachid>
            <date>2014-08-06 18:53:18 -0700</date>
            <delta_ts>2014-08-07 12:13:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135634-20140806185306.patch</filename>
            <type>text/plain</type>
            <size>7791</size>
            <attacher name="Gordon Sheridan">gordon_sheridan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkMzU5OWM5M2RmNzhl
NjIzZmQwMDc1NWVhMDIzMTQ3MzkyMWY1NS4uOTliOWFhYTQ1NWQxMjI1NTlhMmIyNzAxMTA2NzA1
N2MxNTg4MTcxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE0LTA4LTA2ICBHb3Jk
b24gU2hlcmlkYW4gIDxnb3Jkb25fc2hlcmlkYW5AYXBwbGUuY29tPgorCisgICAgICAgIFByb3Zp
ZGUgbWV0aG9kcyB0byBjbGVhciB1bmRlc2lyZWQgcmVmZXJlbmNlcyB0byBIaXN0b3J5SXRlbXMg
dGhhdCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBiYWNrL2ZvcmFyZCBsaXN0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NjM0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xNzM4ODQ2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBObyBBUEkgdGVzdHMgd2VyZSBhZGRlZCBiZWNhdXNlIHRoZXkg
d291bGQgcmVxdWlyZSBydW5uaW5nIGFuIGh0dHAgc2VydmVyIGR1cmluZyB0aGUgdGVzdAorICAg
ICAgICB0byB2aXNpdCBtdWx0aXBsZSBzaXRlcyB0byBkb3dubG9hZCBmYXZpY29ucyBhbmQgZ2Vu
ZXJhdGUgcGFydGljdWxhciBoaXN0b3J5IHNlcXVlbmNlcy4KKworICAgICAgICAqIFdlYkNvcmUu
ZXhwLmluOgorICAgICAgICBBZGRlZCBleHBvcnRzIGZvciBIaXN0b3J5Q29udHJvbGxlcjo6Y2xl
YXJQcmV2aW91c0l0ZW0gYW5kIFBhZ2U6OmNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBhZ2VzLgor
CisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okhpc3RvcnlDb250cm9sbGVyOjpjbGVhclByZXZpb3VzSXRlbSk6CisgICAgICAgIENsZWFy
IG1fcHJldmlvdXNJdGVtIGFuZCBpdGVyYXRlIG92ZXIgY2hpbGRyZW4gcmVjdXJzaXZlbHkgY2Fs
bGluZyBjbGVhclByZXZpb3VzSXRlbSgpLgorICAgICAgICBUaGUgbV9wcmV2aW91c0l0ZW0gaXMg
Y2xlYXJlZCBmb3IgdGhlIHRhcmdldCBIaXN0b3J5Q29udHJvbGxlciwgYW5kIGFsbCBvZiBpdHMg
ZGVzY2VuZGVudHMuCisKKyAgICAgICAgKiBsb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgRGVjbGFyZWQgSGlzdG9yeUNvbnRyb2xsZXI6OmNsZWFyUHJldmlvdXNJdGVtLgorCisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmNsZWFyUHJl
dmlvdXNJdGVtRnJvbUFsbFBhZ2VzKToKKyAgICAgICAgSXRlcmF0ZSBvdmVyIGVhY2ggcGFnZSBp
biB0aGUgd2ViIHByb2Nlc3MsIGNoZWNraW5nIGlmIHRoZSBwcmV2aW91cyBpdGVtIG9mCisgICAg
ICAgIHRoZSBIaXN0b3J5Q29udHJvbGxlciBmb3IgdGhlIG1haW4gZnJhbWUgaXMgdGhlIHNhbWUg
YXMgdGhlIGl0ZW0gYmVpbmcgcmVtb3ZlZC4gSWYgc28sIHRoZQorICAgICAgICBmcmFtZVRyZWUg
aXMgdHJhdmVyc2VkIGFuZCBlYWNoIGFzc29jaWF0ZWQgSGlzdG9yeUNvbnRyb2xsZXIgaGFzIGl0
cyBtX3ByZXZpb3VzSXRlbSBjbGVhcmVkLgorCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAg
ICAgIERlY2xhcmVkIFBhZ2U6OmNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBhZ2VzLgorCiAyMDE0
LTA4LTA2ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gTWFrZSBkb2N1bWVudCBtYXJrZXIgYXNzZXRzIG5vdCBzcGVjaWZpYyB0byBwYXJ0
aWN1bGFyIHNjYWxlIGZhY3RvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5NGUzZTcwZjk5OTkxN2ZiYjk1MDJk
NDNjOWEyYjFkMWJkNGQ5MDU2Li43OTBkNzFkOGI2MWZkZWI0YWM1NmI0OTNlZGRmOWEwODQ2MzQw
NmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDgtMDYgIEdvcmRvbiBTaGVy
aWRhbiAgPGdvcmRvbl9zaGVyaWRhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYXIgdGhlIG1f
cHJldmlvdXNJdGVtIG1lbWJlciBvZiBIaXN0b3J5Q29udHJvbGxlcnMgd2hlbiBpdCBtYXRjaGVz
IHRoZSBIaXN0b3J5SXRlbSBiZWluZyByZW1vdmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NjM0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
NzM4ODQ2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpyZW1vdmVJdGVtKToKKyAgICAg
ICAgQ2FsbCBXZWJDb3JlOjpQYWdlOjpjbGVhclByZXZpb3VzSXRlbUZyb21BbGxQYWdlcygpIGZv
ciBlYWNoIGl0ZW0gcmVtb3ZlZCBmcm9tCisgICAgICAgIHRoZSBiYWNrL2ZvcndhcmQgbGlzdCB0
byBlbnN1cmUgdGhlIHBhZ2UgVVJMIGlzIHJlbGVhc2VkIGZyb20gSWNvbkRhdGFiYXNlLgorCiAy
MDE0LTA4LTA2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBFTkFC
TEVfQ1NTX1RSQU5TRk9STVNfQU5JTUFUSU9OU19VTlBSRUZJWEVEIGlzIG5vdCB1c2VkIGFueXdo
ZXJlLiBSZW1vdmUgaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDFjYjc2NzE0ZGNkZjBlMmI3
MjgxZDIxZTIxZWVhOTBkODMzNjI4NDUuLjNiODFhYWUxMGEyY2FiYWE4MWJhZDczNGI4N2QyNTgy
ZGZiNWZhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NTQsNiArNzU0LDcgQEAgX19aTjdX
ZWJDb3JlMTdET01JbXBsZW1lbnRhdGlvbjE0aXNUZXh0TUlNRVR5cGVFUktOM1dURjZTdHJpbmdF
CiBfX1pON1dlYkNvcmUxN0dseXBoUGFnZVRyZWVOb2RlMTh0cmVlR2x5cGhQYWdlQ291bnRFdgog
X19aTjdXZWJDb3JlMTdIVE1MT3B0aW9uRWxlbWVudDhzZWxlY3RlZEV2CiBfX1pON1dlYkNvcmUx
N0hUTUxTZWxlY3RFbGVtZW50MjBvcHRpb25TZWxlY3RlZEJ5VXNlckVpYmIKK19fWk43V2ViQ29y
ZTE3SGlzdG9yeUNvbnRyb2xsZXIxN2NsZWFyUHJldmlvdXNJdGVtRXYKIF9fWk43V2ViQ29yZTE3
SGlzdG9yeUNvbnRyb2xsZXIyNnNhdmVEb2N1bWVudEFuZFNjcm9sbFN0YXRlRXYKIF9fWk43V2Vi
Q29yZTE3SGlzdG9yeUNvbnRyb2xsZXIzM3Jlc3RvcmVTY3JvbGxQb3NpdGlvbkFuZFZpZXdTdGF0
ZUV2CiBfX1pON1dlYkNvcmUxN0pTRE9NR2xvYmFsT2JqZWN0NnNfaW5mb0UKQEAgLTExMzcsNiAr
MTEzOCw3IEBAIF9fWk43V2ViQ29yZTRQYWdlMjdlbmFibGVMZWdhY3lQcml2YXRlQnJvd3NpbmdF
YgogX19aTjdXZWJDb3JlNFBhZ2UyN2ludmFsaWRhdGVTdHlsZXNGb3JBbGxMaW5rc0V2CiBfX1pO
N1dlYkNvcmU0UGFnZTI3c2V0VmVydGljYWxTY3JvbGxFbGFzdGljaXR5RU5TXzE2U2Nyb2xsRWxh
c3RpY2l0eUUKIF9fWk43V2ViQ29yZTRQYWdlMjdzZXRab29tZWRPdXRQYWdlU2NhbGVGYWN0b3JF
ZgorX19aTjdXZWJDb3JlNFBhZ2UyOWNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBhZ2VzRVBOU18x
MUhpc3RvcnlJdGVtRQogX19aTjdXZWJDb3JlNFBhZ2UyOXNldEhvcml6b250YWxTY3JvbGxFbGFz
dGljaXR5RU5TXzE2U2Nyb2xsRWxhc3RpY2l0eUUKIF9fWk43V2ViQ29yZTRQYWdlMzJzZXRNZW1v
cnlDYWNoZUNsaWVudENhbGxzRW5hYmxlZEViCiBfX1pON1dlYkNvcmU0UGFnZTMzc3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9y
eUNvbnRyb2xsZXIuY3BwCmluZGV4IDYwZDQ5NGMyN2Y4ZDkyZGEwYTczODQxYTBkZWY1OWQ5NmFi
OGM3MWYuLjIwNWVjM2IyMGI5ZGYwMTYxYzQyY2VjNGY3YjY1ZmVhNTZkYjE5NGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcApAQCAtNTk3LDYgKzU5Nywx
MyBAQCBib29sIEhpc3RvcnlDb250cm9sbGVyOjpjdXJyZW50SXRlbVNob3VsZEJlUmVwbGFjZWQo
KSBjb25zdAogICAgIHJldHVybiBtX2N1cnJlbnRJdGVtICYmICFtX3ByZXZpb3VzSXRlbSAmJiBl
cXVhbElnbm9yaW5nQ2FzZShtX2N1cnJlbnRJdGVtLT51cmxTdHJpbmcoKSwgYmxhbmtVUkwoKSk7
CiB9CiAKK3ZvaWQgSGlzdG9yeUNvbnRyb2xsZXI6OmNsZWFyUHJldmlvdXNJdGVtKCkKK3sKKyAg
ICBtX3ByZXZpb3VzSXRlbSA9IG51bGxwdHI7CisgICAgZm9yIChGcmFtZSogY2hpbGQgPSBtX2Zy
YW1lLnRyZWUoKS5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkubmV4
dFNpYmxpbmcoKSkKKyAgICAgICAgY2hpbGQtPmxvYWRlcigpLmhpc3RvcnkoKS5jbGVhclByZXZp
b3VzSXRlbSgpOworfQorCiB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpzZXRQcm92aXNpb25hbEl0
ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7CiAgICAgbV9wcm92aXNpb25hbEl0ZW0gPSBpdGVtOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAppbmRleCAxOTY0ZTM3NDdl
MTE5YjZhZjZlYTNkODM2MzUzMGYyNDFiNWI2Mzg2Li4zZDNlYzY4YTdlNWNiMGQ1NjVkZDVlODA1
OTk1M2YwOGI3MTQzOWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9y
eUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xs
ZXIuaApAQCAtODAsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBsYWNlQ3VycmVudEl0
ZW0oSGlzdG9yeUl0ZW0qKTsKIAogICAgIEhpc3RvcnlJdGVtKiBwcmV2aW91c0l0ZW0oKSBjb25z
dCB7IHJldHVybiBtX3ByZXZpb3VzSXRlbS5nZXQoKTsgfQorICAgIHZvaWQgY2xlYXJQcmV2aW91
c0l0ZW0oKTsKIAogICAgIEhpc3RvcnlJdGVtKiBwcm92aXNpb25hbEl0ZW0oKSBjb25zdCB7IHJl
dHVybiBtX3Byb3Zpc2lvbmFsSXRlbS5nZXQoKTsgfQogICAgIHZvaWQgc2V0UHJvdmlzaW9uYWxJ
dGVtKEhpc3RvcnlJdGVtKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA2ZDBkOGQyNDJmMGQwM2Ji
NTUxZGM3MjExOTkzZGY0MGYwMTFlZGFkLi43ZGQyODVlOTIwYzVlNjQxODllZWIyYmNlNmFjZDdm
N2NiNzFiZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2Nyw2ICsyNjcsMjAgQEAgUGFnZTo6
flBhZ2UoKQogICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RvcmUtPnJlbW92ZVBhZ2UoKnRoaXMpOwog
fQogCit2b2lkIFBhZ2U6OmNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBhZ2VzKEhpc3RvcnlJdGVt
KiBpdGVtKQoreworICAgIGlmICghYWxsUGFnZXMpCisgICAgICAgIHJldHVybjsKKworICAgIGZv
ciAoYXV0byYgcGFnZSA6ICphbGxQYWdlcykgeworICAgICAgICBIaXN0b3J5Q29udHJvbGxlciYg
Y29udHJvbGxlciA9IHBhZ2UtPm1haW5GcmFtZSgpLmxvYWRlcigpLmhpc3RvcnkoKTsKKyAgICAg
ICAgaWYgKGl0ZW0gPT0gY29udHJvbGxlci5wcmV2aW91c0l0ZW0oKSkgeworICAgICAgICAgICAg
Y29udHJvbGxlci5jbGVhclByZXZpb3VzSXRlbSgpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgfQorfQorCiB1aW50NjRfdCBQYWdlOjpyZW5kZXJUcmVlU2l6ZSgpIGNvbnN0
CiB7CiAgICAgdWludDY0X3QgdG90YWwgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCBjY2VlODdmNzg1
NjliNzY1NjE0M2QwMWE2ZWM5NTkxN2YyZjY0ZTI5Li42NTNhMDk2MDM3YmQyZDgzZjI1MGJkMThj
ODc4MjRlZTE0ZDBiNTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTE3LDYgKzExNyw3IEBAIGNsYXNz
IFBhZ2UgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8UGFnZT4gewogCiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgdXBkYXRlU3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5FbnZpcm9u
bWVudCgpOworICAgIHN0YXRpYyB2b2lkIGNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBhZ2VzKEhp
c3RvcnlJdGVtKik7CiAKICAgICAvLyBJdCBpcyB1cCB0byB0aGUgcGxhdGZvcm0gdG8gZW5zdXJl
IHRoYXQgbm9uLW51bGwgY2xpZW50cyBhcmUgcHJvdmlkZWQgd2hlcmUgcmVxdWlyZWQuCiAgICAg
Ly8gRklYTUU6IFJlbmFtZSB0aGlzIHRvIFBhZ2VDb25maWd1cmF0aW9uIGFuZCBtb3ZlIGl0IHRv
IGl0cyBvd24gY2xhc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAppbmRleCAwMTdmNWJjNTcw
OTAzZmZjZjRiYzMyZGM2YzA4ZTM0ODM3NTNhMThlLi42NTIwNDQwODZlMTkxMTRhYmY0MWYwNmMy
OGQwZTFjNTZmYTExOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAKQEAgLTMzLDcgKzMz
LDkgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBy
b2Nlc3MuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvSGlzdG9yeUNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hpc3RvcnlJ
dGVtLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NYWluRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BhZ2VDYWNoZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CkBAIC0xMzEsNiArMTMzLDcgQEAgdm9pZCBXZWJCYWNrRm9yd2FyZExp
c3RQcm94eTo6cmVtb3ZlSXRlbSh1aW50NjRfdCBpdGVtSUQpCiAgICAgICAgIHJldHVybjsKICAg
ICAgICAgCiAgICAgcGFnZUNhY2hlKCktPnJlbW92ZShpdGVtLmdldCgpKTsKKyAgICBXZWJDb3Jl
OjpQYWdlOjpjbGVhclByZXZpb3VzSXRlbUZyb21BbGxQYWdlcyhpdGVtLmdldCgpKTsKICAgICBo
aXN0b3J5SXRlbVRvSURNYXAoKS5yZW1vdmUoaXRlbSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236205</attachid>
            <date>2014-08-07 12:13:27 -0700</date>
            <delta_ts>2014-08-07 13:21:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135634-20140807121315.patch</filename>
            <type>text/plain</type>
            <size>7170</size>
            <attacher name="Gordon Sheridan">gordon_sheridan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWIxNjkwZTFiODEzM2Yy
ZjY2MDdkNmY2YWMwN2E5ZjM1NGJlN2M4YS4uMjczYWM4OGE1NmJmNzM5NWQ2M2VjZjMyMGEyODY1
ZmFiYTQ5MjgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE0LTA4LTA3ICBHb3Jk
b24gU2hlcmlkYW4gIDxnb3Jkb25fc2hlcmlkYW5AYXBwbGUuY29tPgorCisgICAgICAgIFByb3Zp
ZGUgbWV0aG9kcyB0byBjbGVhciB1bmRlc2lyZWQgcmVmZXJlbmNlcyB0byBIaXN0b3J5SXRlbXMg
dGhhdCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBiYWNrL2ZvcmFyZCBsaXN0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NjM0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8xNzM4ODQ2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBF
aWRzb24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAgV291bGQgcmVxdWlyZSBhbiBBUEkgdGVz
dCB0aGF0IGFsc28gbmVlZHMgYW4gaHR0cGQsIHdoaWNoIHdlIGRvbid0IGN1cnJlbnRseSBzdXBw
b3J0LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgIEFkZGVkIGV4cG9ydCBm
b3IgUGFnZTo6Y2xlYXJQcmV2aW91c0l0ZW1Gcm9tQWxsUGFnZXMuCisKKyAgICAgICAgKiBsb2Fk
ZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRy
b2xsZXI6OmNsZWFyUHJldmlvdXNJdGVtKToKKyAgICAgICAgQ2xlYXIgbV9wcmV2aW91c0l0ZW0g
YW5kIGl0ZXJhdGUgb3ZlciBjaGlsZHJlbiByZWN1cnNpdmVseSBjYWxsaW5nIGNsZWFyUHJldmlv
dXNJdGVtKCkuCisgICAgICAgIFRoZSBtX3ByZXZpb3VzSXRlbSBpcyBjbGVhcmVkIGZvciB0aGUg
dGFyZ2V0IEhpc3RvcnlDb250cm9sbGVyLCBhbmQgYWxsIG9mIGl0cyBkZXNjZW5kZW50cy4KKwor
ICAgICAgICAqIGxvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oOgorICAgICAgICBEZWNsYXJlZCBI
aXN0b3J5Q29udHJvbGxlcjo6Y2xlYXJQcmV2aW91c0l0ZW0uCisKKyAgICAgICAgKiBwYWdlL1Bh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6Y2xlYXJQcmV2aW91c0l0ZW1Gcm9tQWxs
UGFnZXMpOgorICAgICAgICBJdGVyYXRlIG92ZXIgZWFjaCBwYWdlIGluIHRoZSB3ZWIgcHJvY2Vz
cywgY2hlY2tpbmcgaWYgdGhlIHByZXZpb3VzIGl0ZW0gb2YKKyAgICAgICAgdGhlIEhpc3RvcnlD
b250cm9sbGVyIGZvciB0aGUgbWFpbiBmcmFtZSBpcyB0aGUgc2FtZSBhcyB0aGUgaXRlbSBiZWlu
ZyByZW1vdmVkLiBJZiBzbywgdGhlCisgICAgICAgIGZyYW1lVHJlZSBpcyB0cmF2ZXJzZWQgYW5k
IGVhY2ggYXNzb2NpYXRlZCBIaXN0b3J5Q29udHJvbGxlciBoYXMgaXRzIG1fcHJldmlvdXNJdGVt
IGNsZWFyZWQuCisKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgRGVjbGFyZWQgUGFn
ZTo6Y2xlYXJQcmV2aW91c0l0ZW1Gcm9tQWxsUGFnZXMuCisKIDIwMTQtMDgtMDcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDb21waWxlIHNj
cm9sbGJhciBwc2V1ZG9jbGFzcyBjc3Mgc2VsZWN0b3JzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDVjMmQ1NzEx
ZmIyNDI1ZGZmMDY4YzVmOTNiMjE4MWMxZDI3M2ZlNWQuLmQxMDJmYzg2YmEyN2Y1ODQ5Y2ZmZWQy
ZjViZjI5ODkxMzA4ZjIxYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNC0wOC0w
NyAgR29yZG9uIFNoZXJpZGFuICA8Z29yZG9uX3NoZXJpZGFuQGFwcGxlLmNvbT4KKworICAgICAg
ICBDbGVhciB0aGUgbV9wcmV2aW91c0l0ZW0gbWVtYmVyIG9mIEhpc3RvcnlDb250cm9sbGVycyB3
aGVuIGl0IG1hdGNoZXMgdGhlIEhpc3RvcnlJdGVtIGJlaW5nIHJlbW92ZWQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU2MzQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzE3Mzg4NDYxPgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyYWR5IEVpZHNv
bi4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpyZW1vdmVJ
dGVtKToKKyAgICAgICAgQ2FsbCBXZWJDb3JlOjpQYWdlOjpjbGVhclByZXZpb3VzSXRlbUZyb21B
bGxQYWdlcygpIGZvciBlYWNoIGl0ZW0gcmVtb3ZlZCBmcm9tCisgICAgICAgIHRoZSBiYWNrL2Zv
cndhcmQgbGlzdCB0byBlbnN1cmUgdGhlIHBhZ2UgVVJMIGlzIHJlbGVhc2VkIGZyb20gSWNvbkRh
dGFiYXNlLgorCiAyMDE0LTA4LTA3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBVc2UgV2ViS2l0TmF2aWdhdGlvbkFjdGlvbiBhbHNv
IGZvciBXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5k
ZXggMWNiNzY3MTRkY2RmMGUyYjcyODFkMjFlMjFlZWE5MGQ4MzM2Mjg0NS4uYzdlMjkxMmRmNGVl
NzRmODczZWY1NzJiYWUyZjhhNzQ1MWY1MzFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEx
MzcsNiArMTEzNyw3IEBAIF9fWk43V2ViQ29yZTRQYWdlMjdlbmFibGVMZWdhY3lQcml2YXRlQnJv
d3NpbmdFYgogX19aTjdXZWJDb3JlNFBhZ2UyN2ludmFsaWRhdGVTdHlsZXNGb3JBbGxMaW5rc0V2
CiBfX1pON1dlYkNvcmU0UGFnZTI3c2V0VmVydGljYWxTY3JvbGxFbGFzdGljaXR5RU5TXzE2U2Ny
b2xsRWxhc3RpY2l0eUUKIF9fWk43V2ViQ29yZTRQYWdlMjdzZXRab29tZWRPdXRQYWdlU2NhbGVG
YWN0b3JFZgorX19aTjdXZWJDb3JlNFBhZ2UyOWNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBhZ2Vz
RVBOU18xMUhpc3RvcnlJdGVtRQogX19aTjdXZWJDb3JlNFBhZ2UyOXNldEhvcml6b250YWxTY3Jv
bGxFbGFzdGljaXR5RU5TXzE2U2Nyb2xsRWxhc3RpY2l0eUUKIF9fWk43V2ViQ29yZTRQYWdlMzJz
ZXRNZW1vcnlDYWNoZUNsaWVudENhbGxzRW5hYmxlZEViCiBfX1pON1dlYkNvcmU0UGFnZTMzc3lu
Y2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
SGlzdG9yeUNvbnRyb2xsZXIuY3BwCmluZGV4IDYwZDQ5NGMyN2Y4ZDkyZGEwYTczODQxYTBkZWY1
OWQ5NmFiOGM3MWYuLjIwNWVjM2IyMGI5ZGYwMTYxYzQyY2VjNGY3YjY1ZmVhNTZkYjE5NGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcApAQCAtNTk3LDYg
KzU5NywxMyBAQCBib29sIEhpc3RvcnlDb250cm9sbGVyOjpjdXJyZW50SXRlbVNob3VsZEJlUmVw
bGFjZWQoKSBjb25zdAogICAgIHJldHVybiBtX2N1cnJlbnRJdGVtICYmICFtX3ByZXZpb3VzSXRl
bSAmJiBlcXVhbElnbm9yaW5nQ2FzZShtX2N1cnJlbnRJdGVtLT51cmxTdHJpbmcoKSwgYmxhbmtV
UkwoKSk7CiB9CiAKK3ZvaWQgSGlzdG9yeUNvbnRyb2xsZXI6OmNsZWFyUHJldmlvdXNJdGVtKCkK
K3sKKyAgICBtX3ByZXZpb3VzSXRlbSA9IG51bGxwdHI7CisgICAgZm9yIChGcmFtZSogY2hpbGQg
PSBtX2ZyYW1lLnRyZWUoKS5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVl
KCkubmV4dFNpYmxpbmcoKSkKKyAgICAgICAgY2hpbGQtPmxvYWRlcigpLmhpc3RvcnkoKS5jbGVh
clByZXZpb3VzSXRlbSgpOworfQorCiB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpzZXRQcm92aXNp
b25hbEl0ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7CiAgICAgbV9wcm92aXNpb25hbEl0ZW0gPSBp
dGVtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAppbmRleCAxOTY0
ZTM3NDdlMTE5YjZhZjZlYTNkODM2MzUzMGYyNDFiNWI2Mzg2Li4zZDNlYzY4YTdlNWNiMGQ1NjVk
ZDVlODA1OTk1M2YwOGI3MTQzOWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
SGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaApAQCAtODAsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBsYWNlQ3Vy
cmVudEl0ZW0oSGlzdG9yeUl0ZW0qKTsKIAogICAgIEhpc3RvcnlJdGVtKiBwcmV2aW91c0l0ZW0o
KSBjb25zdCB7IHJldHVybiBtX3ByZXZpb3VzSXRlbS5nZXQoKTsgfQorICAgIHZvaWQgY2xlYXJQ
cmV2aW91c0l0ZW0oKTsKIAogICAgIEhpc3RvcnlJdGVtKiBwcm92aXNpb25hbEl0ZW0oKSBjb25z
dCB7IHJldHVybiBtX3Byb3Zpc2lvbmFsSXRlbS5nZXQoKTsgfQogICAgIHZvaWQgc2V0UHJvdmlz
aW9uYWxJdGVtKEhpc3RvcnlJdGVtKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA2ZDBkOGQyNDJm
MGQwM2JiNTUxZGM3MjExOTkzZGY0MGYwMTFlZGFkLi43ZGQyODVlOTIwYzVlNjQxODllZWIyYmNl
NmFjZDdmN2NiNzFiZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI2Nyw2ICsyNjcsMjAgQEAg
UGFnZTo6flBhZ2UoKQogICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RvcmUtPnJlbW92ZVBhZ2UoKnRo
aXMpOwogfQogCit2b2lkIFBhZ2U6OmNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBhZ2VzKEhpc3Rv
cnlJdGVtKiBpdGVtKQoreworICAgIGlmICghYWxsUGFnZXMpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGZvciAoYXV0byYgcGFnZSA6ICphbGxQYWdlcykgeworICAgICAgICBIaXN0b3J5Q29udHJv
bGxlciYgY29udHJvbGxlciA9IHBhZ2UtPm1haW5GcmFtZSgpLmxvYWRlcigpLmhpc3RvcnkoKTsK
KyAgICAgICAgaWYgKGl0ZW0gPT0gY29udHJvbGxlci5wcmV2aW91c0l0ZW0oKSkgeworICAgICAg
ICAgICAgY29udHJvbGxlci5jbGVhclByZXZpb3VzSXRlbSgpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgfQorfQorCiB1aW50NjRfdCBQYWdlOjpyZW5kZXJUcmVlU2l6ZSgp
IGNvbnN0CiB7CiAgICAgdWludDY0X3QgdG90YWwgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCBjY2Vl
ODdmNzg1NjliNzY1NjE0M2QwMWE2ZWM5NTkxN2YyZjY0ZTI5Li42NTNhMDk2MDM3YmQyZDgzZjI1
MGJkMThjODc4MjRlZTE0ZDBiNTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTE3LDYgKzExNyw3IEBA
IGNsYXNzIFBhZ2UgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8UGFnZT4gewogCiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgdXBkYXRlU3R5bGVGb3JBbGxQYWdlc0FmdGVyR2xvYmFsQ2hhbmdlSW5F
bnZpcm9ubWVudCgpOworICAgIHN0YXRpYyB2b2lkIGNsZWFyUHJldmlvdXNJdGVtRnJvbUFsbFBh
Z2VzKEhpc3RvcnlJdGVtKik7CiAKICAgICAvLyBJdCBpcyB1cCB0byB0aGUgcGxhdGZvcm0gdG8g
ZW5zdXJlIHRoYXQgbm9uLW51bGwgY2xpZW50cyBhcmUgcHJvdmlkZWQgd2hlcmUgcmVxdWlyZWQu
CiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIHRvIFBhZ2VDb25maWd1cmF0aW9uIGFuZCBtb3Zl
IGl0IHRvIGl0cyBvd24gY2xhc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAppbmRleCAwMTdm
NWJjNTcwOTAzZmZjZjRiYzMyZGM2YzA4ZTM0ODM3NTNhMThlLi42NTIwNDQwODZlMTkxMTRhYmY0
MWYwNmMyOGQwZTFjNTZmYTExOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAKQEAgLTMz
LDcgKzMzLDkgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvSGlzdG9yeUNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hp
c3RvcnlJdGVtLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9NYWluRnJhbWUuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BhZ2VDYWNoZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CkBAIC0xMzEsNiArMTMzLDcgQEAgdm9pZCBXZWJCYWNrRm9y
d2FyZExpc3RQcm94eTo6cmVtb3ZlSXRlbSh1aW50NjRfdCBpdGVtSUQpCiAgICAgICAgIHJldHVy
bjsKICAgICAgICAgCiAgICAgcGFnZUNhY2hlKCktPnJlbW92ZShpdGVtLmdldCgpKTsKKyAgICBX
ZWJDb3JlOjpQYWdlOjpjbGVhclByZXZpb3VzSXRlbUZyb21BbGxQYWdlcyhpdGVtLmdldCgpKTsK
ICAgICBoaXN0b3J5SXRlbVRvSURNYXAoKS5yZW1vdmUoaXRlbSk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>