<?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>54986</bug_id>
          
          <creation_ts>2011-02-22 12:29:59 -0800</creation_ts>
          <short_desc>deprecatedEditingOffset should actually return the expected deprecated value for &quot;after&quot; positions</short_desc>
          <delta_ts>2011-03-02 18:30:39 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>52642</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Levi Weintraub">leviw</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>355498</commentid>
    <comment_count>0</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-22 12:29:59 -0800</bug_when>
    <thetext>In working on bug 52642, I&apos;ve found numerous places in editing and non-editing code that calls deprecatedEditingOffset and does the wrong thing for new &quot;after&quot; positions, as this returns an offset of zero. As we transition away from deprecated positions, we need to do the right thing in these legacy call sites.

I propose changing deprecatedEditingOffset to return the lastEditingOffset for &quot;after&quot; positions. This will match the legacy behavior until we can update the places that directly rely on deprecatedEditingOffset. My proposed change will cause this function to not be inlined (lastOffsetForEditing if defined in htmlediting.h, which can&apos;t be included in Position.h), which is my only concern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355506</commentid>
    <comment_count>1</comment_count>
      <attachid>83364</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-22 12:38:52 -0800</bug_when>
    <thetext>Created attachment 83364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355684</commentid>
    <comment_count>2</comment_count>
      <attachid>83409</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-22 16:22:29 -0800</bug_when>
    <thetext>Created attachment 83409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355685</commentid>
    <comment_count>3</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-22 16:23:22 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=83409) [details]
&gt; Patch

Only using this path for new positions so it doesn&apos;t rely on &quot;guessed&quot; anchor types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355709</commentid>
    <comment_count>4</comment_count>
      <attachid>83409</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-22 17:01:57 -0800</bug_when>
    <thetext>Comment on attachment 83409
Patch

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

&gt; Source/WebCore/dom/Position.cpp:153
&gt; +int Position::deprecatedEditingOffset() const
&gt; +{
&gt; +    // This should probably ASSERT(m_isLegacyEditingPosition);
&gt; +    return (m_isLegacyEditingPosition || m_anchorType != PositionIsAfterAnchor) ? m_offset : lastOffsetForEditing(m_anchorNode.get());
&gt; +}

Why we can&apos;t keep this function inline?  I&apos;m afraid that making this function non-inline will have some performance impact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355711</commentid>
    <comment_count>5</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-22 17:04:24 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 83409 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=83409&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Position.cpp:153
&gt; &gt; +int Position::deprecatedEditingOffset() const
&gt; &gt; +{
&gt; &gt; +    // This should probably ASSERT(m_isLegacyEditingPosition);
&gt; &gt; +    return (m_isLegacyEditingPosition || m_anchorType != PositionIsAfterAnchor) ? m_offset : lastOffsetForEditing(m_anchorNode.get());
&gt; &gt; +}
&gt; 
&gt; Why we can&apos;t keep this function inline?  I&apos;m afraid that making this function non-inline will have some performance impact.

See the first comment on this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355713</commentid>
    <comment_count>6</comment_count>
      <attachid>83409</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-22 17:09:40 -0800</bug_when>
    <thetext>Comment on attachment 83409
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/Position.cpp:153
&gt;&gt;&gt; +}
&gt;&gt; 
&gt;&gt; Why we can&apos;t keep this function inline?  I&apos;m afraid that making this function non-inline will have some performance impact.
&gt; 
&gt; See the first comment on this bug.

I see. We can&apos;t call lastOffsetInNode(anchorNode) instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355724</commentid>
    <comment_count>7</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-22 17:20:48 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 83409 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=83409&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/dom/Position.cpp:153
&gt; &gt;&gt;&gt; +}
&gt; &gt;&gt; 
&gt; &gt;&gt; Why we can&apos;t keep this function inline?  I&apos;m afraid that making this function non-inline will have some performance impact.
&gt; &gt; 
&gt; &gt; See the first comment on this bug.
&gt; 
&gt; I see. We can&apos;t call lastOffsetInNode(anchorNode) instead?

That won&apos;t properly handle nodes that return true for editingIgnoresContent :(

The other option is to have the fast-path for legacy positions that&apos;s inlined, and a fallback that calls a private member function that does the right thing for new positions. It&apos;s still not ideal (though closer), but then again nothing is quite ideal in this mixed new/legacy position world.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355739</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-22 17:47:55 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; The other option is to have the fast-path for legacy positions that&apos;s inlined, and a fallback that calls a private member function that does the right thing for new positions. It&apos;s still not ideal (though closer), but then again nothing is quite ideal in this mixed new/legacy position world.

That sounds reasonable.  I was going to suggest as well but I was concerned with the fact that&apos;ll result in two function calls in the slow patch.  But then lastEditingOffset already results in a bunch of function calls so that might be okay.

Eric &amp; Darin, any opinions here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355742</commentid>
    <comment_count>9</comment_count>
      <attachid>83422</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-22 18:15:08 -0800</bug_when>
    <thetext>Created attachment 83422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355746</commentid>
    <comment_count>10</comment_count>
      <attachid>83422</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-22 18:25:48 -0800</bug_when>
    <thetext>Comment on attachment 83422
Patch

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

The patch looks good. r=me provided you all layout tests ran successfully.

&gt; Source/WebCore/ChangeLog:11
&gt; +        No tests. This is intended to simplify the transition to new Positions, not change behavior.

not &quot;to&quot; change behavior?

&gt; Source/WebCore/dom/Position.h:97
&gt; +        if (m_isLegacyEditingPosition || m_anchorType != PositionIsAfterAnchor)
&gt; +            return m_offset;
&gt; +        return offsetForPositionAfterAnchor();

Might be nice to special case position after node instead so that condition here matches the assertion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355748</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-22 18:30:42 -0800</bug_when>
    <thetext>Attachment 83422 did not build on chromium:
Build output: http://queues.webkit.org/results/7952018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355751</commentid>
    <comment_count>12</comment_count>
      <attachid>83422</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-22 18:34:10 -0800</bug_when>
    <thetext>Comment on attachment 83422
Patch

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

Taking back my r+ given the build failure.

&gt; Source/WebCore/dom/Position.cpp:149
&gt; +int Position::deprecatedOffsetForAfterPosition() const

This should be offsetForPositionAfterAnchor instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355754</commentid>
    <comment_count>13</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-22 18:47:03 -0800</bug_when>
    <thetext>Attachment 83422 did not build on win:
Build output: http://queues.webkit.org/results/7960034</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355771</commentid>
    <comment_count>14</comment_count>
      <attachid>83422</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-22 19:22:58 -0800</bug_when>
    <thetext>Comment on attachment 83422
Patch

deprecatedEditingOffset was never meant to be able to be derived from new-style positions.  My thought had been instead that we would add the ASSERT(m_isLegacyEditingPosition) and then fix all the places that hit the ASSERT before adding new uses of new-style positions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355780</commentid>
    <comment_count>15</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-22 19:35:45 -0800</bug_when>
    <thetext>Attachment 83422 did not build on qt:
Build output: http://queues.webkit.org/results/7962039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355808</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-22 20:42:10 -0800</bug_when>
    <thetext>Attachment 83422 did not build on chromium:
Build output: http://queues.webkit.org/results/7964043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355890</commentid>
    <comment_count>17</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-02-22 22:59:08 -0800</bug_when>
    <thetext>Attachment 83422 did not build on gtk:
Build output: http://queues.webkit.org/results/7985046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355898</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-22 23:08:01 -0800</bug_when>
    <thetext>Attachment 83422 did not build on mac:
Build output: http://queues.webkit.org/results/7987031</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356239</commentid>
    <comment_count>19</comment_count>
      <attachid>83509</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-23 11:23:43 -0800</bug_when>
    <thetext>Created attachment 83509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356316</commentid>
    <comment_count>20</comment_count>
      <attachid>83509</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 12:40:51 -0800</bug_when>
    <thetext>Comment on attachment 83509
Patch

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

This was never intended to work.  But if this makes your transition job easier I guess it&apos;s OK.

&gt; Source/WebCore/dom/Position.cpp:151
&gt; +    ASSERT(m_anchorType == PositionIsAfterAnchor &amp;&amp; !m_isLegacyEditingPosition);

Aren&apos;t these two redundant?  Also generally we try to have one ASSERT per line as that makes it easier to see from the debug traces which one failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356317</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 12:41:19 -0800</bug_when>
    <thetext>Did you investigate making the ASSERT(m_isLegacy) a reality and seeing what callsites were assuming otherwise?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356381</commentid>
    <comment_count>22</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-02-23 13:48:14 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; &gt; Source/WebCore/dom/Position.cpp:151
&gt; &gt; +    ASSERT(m_anchorType == PositionIsAfterAnchor &amp;&amp; !m_isLegacyEditingPosition);
&gt; 
&gt; Aren&apos;t these two redundant?  Also generally we try to have one ASSERT per line as that makes it easier to see from the debug traces which one failed.

These aren&apos;t redundant because legacy positions call anchorTypeForLegacyEditingPosition(). We literally want to assert that we&apos;re only looking at After type positions for New positions, as only these have an offset that doesn&apos;t mesh with the legacy behavior.

(In reply to comment #21)
&gt; Did you investigate making the ASSERT(m_isLegacy) a reality and seeing what callsites were assuming otherwise?

The move that finally necessitated this was my fix for 52642, which ends up creating many more &quot;New&quot; positions. What I found in testing the change is that there are numerous call sites that are currently only working because they are still being fed legacy positions from first/lastDeepEditingPositionForNode. Removing calls to this function is definitely one of the next steps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361102</commentid>
    <comment_count>23</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-03-02 15:03:25 -0800</bug_when>
    <thetext>Hey Ryosuke, can I get a review now that the build failure is fixed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361273</commentid>
    <comment_count>24</comment_count>
      <attachid>83509</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-02 18:00:56 -0800</bug_when>
    <thetext>Comment on attachment 83509
Patch

Please split the assertion into 2 lines per Eric&apos;s comment before you land.

Thanks for tackling a hard bug.  Hopefully, we can remove deprecatedEditingOffset() soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361279</commentid>
    <comment_count>25</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-03-02 18:16:15 -0800</bug_when>
    <thetext>Thanks for the review! Making the change and checking in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361285</commentid>
    <comment_count>26</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2011-03-02 18:30:39 -0800</bug_when>
    <thetext>Committed r80195: &lt;http://trac.webkit.org/changeset/80195&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83364</attachid>
            <date>2011-02-22 12:38:52 -0800</date>
            <delta_ts>2011-02-22 16:22:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54986-20110222123851.patch</filename>
            <type>text/plain</type>
            <size>2321</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MzQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMjIgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IHNob3VsZCBhY3R1
YWxseSByZXR1cm4gdGhlIGV4cGVjdGVkIGRlcHJlY2F0ZWQgdmFsdWUgZm9yICJhZnRlciIgcG9z
aXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NDk4NgorCisgICAgICAgIENhbGxzIHRvIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IG5lZWRzIHRv
IHJldHVybiB0aGUgZXhwZWN0ZWQgdmFsdWUgZm9yIG5ldyBCZWZvcmUvQWZ0ZXIgcG9zaXRpb25z
CisgICAgICAgIHVudGlsIHdlIGNhbiB1cGRhdGUgYWxsIHRoZSBjYWxsIHNpdGVzIHRvIGNvbnNp
ZGVyIHRoZSBuZXcgcG9zaXRpb24gdHlwZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIFRoaXMgaXMg
aW50ZW5kZWQgdG8gc2ltcGxpZnkgdGhlIHRyYW5zaXRpb24gdG8gbmV3IFBvc2l0aW9ucywgbm90
IGNoYW5nZSBiZWhhdmlvci4KKworICAgICAgICAqIGRvbS9Qb3NpdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb3NpdGlvbjo6ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQpOgorICAgICAgICAq
IGRvbS9Qb3NpdGlvbi5oOgorCiAyMDExLTAyLTIyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAJKHJldmlzaW9uIDc5MzQ0KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0NiwxMiBA
QCBpbnQgUG9zaXRpb246OmNvbXB1dGVPZmZzZXRJbkNvbnRhaW5lck5vCiAgICAgcmV0dXJuIDA7
CiB9CiAKK2ludCBQb3NpdGlvbjo6ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSBjb25zdAorewor
ICAgIC8vIFRoaXMgc2hvdWxkIHByb2JhYmx5IEFTU0VSVChtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0
aW9uKTsKKyAgICByZXR1cm4gbV9hbmNob3JUeXBlICE9IFBvc2l0aW9uSXNBZnRlckFuY2hvciA/
IG1fb2Zmc2V0IDogbGFzdE9mZnNldEZvckVkaXRpbmcobV9hbmNob3JOb2RlLmdldCgpKTsKK30K
KwogLy8gTmVpZ2hib3ItYW5jaG9yZWQgcG9zaXRpb25zIGFyZSBpbnZhbGlkIERPTSBwb3NpdGlv
bnMsIHNvIHRoZXkgbmVlZCB0byBiZQogLy8gZml4ZWQgdXAgYmVmb3JlIGhhbmRpbmcgdGhlbSBv
ZmYgdG8gdGhlIFJhbmdlIG9iamVjdC4KIFBvc2l0aW9uIFBvc2l0aW9uOjpwYXJlbnRBbmNob3Jl
ZEVxdWl2YWxlbnQoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgJKHJldmlzaW9uIDc5
MzQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTkwLDExICs5MCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBOZXcgY29kZSBzaG91bGQg
bm90IHVzZSB0aGlzIGZ1bmN0aW9uLgotICAgIGludCBkZXByZWNhdGVkRWRpdGluZ09mZnNldCgp
IGNvbnN0Ci0gICAgewotICAgICAgICAvLyBUaGlzIHNob3VsZCBwcm9iYWJseSBBU1NFUlQobV9p
c0xlZ2FjeUVkaXRpbmdQb3NpdGlvbik7Ci0gICAgICAgIHJldHVybiBtX29mZnNldDsKLSAgICB9
CisgICAgaW50IGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgY29uc3Q7CiAKICAgICAvLyBUaGVz
ZSBhcmUgY29udmVuaWVuY2UgbWV0aG9kcyB3aGljaCBhcmUgc21hcnQgYWJvdXQgd2hldGhlciB0
aGUgcG9zaXRpb24gaXMgbmVpZ2hib3IgYW5jaG9yZWQgb3IgcGFyZW50IGFuY2hvcmVkCiAgICAg
Tm9kZSogY29tcHV0ZU5vZGVCZWZvcmVQb3NpdGlvbigpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83409</attachid>
            <date>2011-02-22 16:22:29 -0800</date>
            <delta_ts>2011-02-22 18:15:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54986-20110222162228.patch</filename>
            <type>text/plain</type>
            <size>2352</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MzQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMjIgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IHNob3VsZCBhY3R1
YWxseSByZXR1cm4gdGhlIGV4cGVjdGVkIGRlcHJlY2F0ZWQgdmFsdWUgZm9yICJhZnRlciIgcG9z
aXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NDk4NgorCisgICAgICAgIENhbGxzIHRvIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IG5lZWRzIHRv
IHJldHVybiB0aGUgZXhwZWN0ZWQgdmFsdWUgZm9yIG5ldyBCZWZvcmUvQWZ0ZXIgcG9zaXRpb25z
CisgICAgICAgIHVudGlsIHdlIGNhbiB1cGRhdGUgYWxsIHRoZSBjYWxsIHNpdGVzIHRvIGNvbnNp
ZGVyIHRoZSBuZXcgcG9zaXRpb24gdHlwZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIFRoaXMgaXMg
aW50ZW5kZWQgdG8gc2ltcGxpZnkgdGhlIHRyYW5zaXRpb24gdG8gbmV3IFBvc2l0aW9ucywgbm90
IGNoYW5nZSBiZWhhdmlvci4KKworICAgICAgICAqIGRvbS9Qb3NpdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb3NpdGlvbjo6ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQpOgorICAgICAgICAq
IGRvbS9Qb3NpdGlvbi5oOgorCiAyMDExLTAyLTIyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAJKHJldmlzaW9uIDc5MzQ0KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0NiwxMiBA
QCBpbnQgUG9zaXRpb246OmNvbXB1dGVPZmZzZXRJbkNvbnRhaW5lck5vCiAgICAgcmV0dXJuIDA7
CiB9CiAKK2ludCBQb3NpdGlvbjo6ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSBjb25zdAorewor
ICAgIC8vIFRoaXMgc2hvdWxkIHByb2JhYmx5IEFTU0VSVChtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0
aW9uKTsKKyAgICByZXR1cm4gKG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gfHwgbV9hbmNob3JU
eXBlICE9IFBvc2l0aW9uSXNBZnRlckFuY2hvcikgPyBtX29mZnNldCA6IGxhc3RPZmZzZXRGb3JF
ZGl0aW5nKG1fYW5jaG9yTm9kZS5nZXQoKSk7Cit9CisKIC8vIE5laWdoYm9yLWFuY2hvcmVkIHBv
c2l0aW9ucyBhcmUgaW52YWxpZCBET00gcG9zaXRpb25zLCBzbyB0aGV5IG5lZWQgdG8gYmUKIC8v
IGZpeGVkIHVwIGJlZm9yZSBoYW5kaW5nIHRoZW0gb2ZmIHRvIHRoZSBSYW5nZSBvYmplY3QuCiBQ
b3NpdGlvbiBQb3NpdGlvbjo6cGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCkgY29uc3QKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Qb3NpdGlvbi5oCShyZXZpc2lvbiA3OTM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Qb3NpdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC05MCwxMSArOTAsNyBAQCBwdWJsaWM6CiAg
ICAgfQogCiAgICAgLy8gTmV3IGNvZGUgc2hvdWxkIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4KLSAg
ICBpbnQgZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSBjb25zdAotICAgIHsKLSAgICAgICAgLy8g
VGhpcyBzaG91bGQgcHJvYmFibHkgQVNTRVJUKG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24pOwot
ICAgICAgICByZXR1cm4gbV9vZmZzZXQ7Ci0gICAgfQorICAgIGludCBkZXByZWNhdGVkRWRpdGlu
Z09mZnNldCgpIGNvbnN0OwogCiAgICAgLy8gVGhlc2UgYXJlIGNvbnZlbmllbmNlIG1ldGhvZHMg
d2hpY2ggYXJlIHNtYXJ0IGFib3V0IHdoZXRoZXIgdGhlIHBvc2l0aW9uIGlzIG5laWdoYm9yIGFu
Y2hvcmVkIG9yIHBhcmVudCBhbmNob3JlZAogICAgIE5vZGUqIGNvbXB1dGVOb2RlQmVmb3JlUG9z
aXRpb24oKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83422</attachid>
            <date>2011-02-22 18:15:08 -0800</date>
            <delta_ts>2011-02-23 11:23:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54986-20110222181507.patch</filename>
            <type>text/plain</type>
            <size>2720</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MzQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDItMjIgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IHNob3VsZCBhY3R1
YWxseSByZXR1cm4gdGhlIGV4cGVjdGVkIGRlcHJlY2F0ZWQgdmFsdWUgZm9yICJhZnRlciIgcG9z
aXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NDk4NgorCisgICAgICAgIENhbGxzIHRvIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IG5lZWRzIHRv
IHJldHVybiB0aGUgZXhwZWN0ZWQgdmFsdWUgZm9yIG5ldyBCZWZvcmUvQWZ0ZXIgcG9zaXRpb25z
CisgICAgICAgIHVudGlsIHdlIGNhbiB1cGRhdGUgYWxsIHRoZSBjYWxsIHNpdGVzIHRvIGNvbnNp
ZGVyIHRoZSBuZXcgcG9zaXRpb24gdHlwZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIFRoaXMgaXMg
aW50ZW5kZWQgdG8gc2ltcGxpZnkgdGhlIHRyYW5zaXRpb24gdG8gbmV3IFBvc2l0aW9ucywgbm90
IGNoYW5nZSBiZWhhdmlvci4KKworICAgICAgICAqIGRvbS9Qb3NpdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb3NpdGlvbjo6ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQpOgorICAgICAgICAo
V2ViQ29yZTo6UG9zaXRpb246Om9mZnNldEZvclBvc2l0aW9uQWZ0ZXJBbmNob3IpOiBBZGRlZCB0
byBkbyB0aGUgcmlnaHQgdGhpbmcgd2hpbGUgZW5zdXJpbmcKKyAgICAgICAgaW5saW5lLXNwZWVk
IGZvciBtb3N0IGNhbGxzIHRvIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0LgorICAgICAgICAqIGRv
bS9Qb3NpdGlvbi5oOgorCiAyMDExLTAyLTIyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAJKHJldmlzaW9uIDc5MzQ0KQorKysgU291cmNlL1dlYkNv
cmUvZG9tL1Bvc2l0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0NiwxMiBAQCBp
bnQgUG9zaXRpb246OmNvbXB1dGVPZmZzZXRJbkNvbnRhaW5lck5vCiAgICAgcmV0dXJuIDA7CiB9
CiAKK2ludCBQb3NpdGlvbjo6ZGVwcmVjYXRlZE9mZnNldEZvckFmdGVyUG9zaXRpb24oKSBjb25z
dAoreworICAgIEFTU0VSVChtX2FuY2hvclR5cGUgPT0gUG9zaXRpb25Jc0FmdGVyQW5jaG9yICYm
ICFtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0aW9uKTsKKyAgICByZXR1cm4gbGFzdE9mZnNldEZvckVk
aXRpbmcobV9hbmNob3JOb2RlLmdldCgpKTsKK30KKwogLy8gTmVpZ2hib3ItYW5jaG9yZWQgcG9z
aXRpb25zIGFyZSBpbnZhbGlkIERPTSBwb3NpdGlvbnMsIHNvIHRoZXkgbmVlZCB0byBiZQogLy8g
Zml4ZWQgdXAgYmVmb3JlIGhhbmRpbmcgdGhlbSBvZmYgdG8gdGhlIFJhbmdlIG9iamVjdC4KIFBv
c2l0aW9uIFBvc2l0aW9uOjpwYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKSBjb25zdApJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL1Bvc2l0aW9uLmgJKHJldmlzaW9uIDc5MzQ0KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L1Bvc2l0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDggKzkyLDkgQEAgcHVibGljOgogICAg
IC8vIE5ldyBjb2RlIHNob3VsZCBub3QgdXNlIHRoaXMgZnVuY3Rpb24uCiAgICAgaW50IGRlcHJl
Y2F0ZWRFZGl0aW5nT2Zmc2V0KCkgY29uc3QKICAgICB7Ci0gICAgICAgIC8vIFRoaXMgc2hvdWxk
IHByb2JhYmx5IEFTU0VSVChtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0aW9uKTsKLSAgICAgICAgcmV0
dXJuIG1fb2Zmc2V0OworICAgICAgICBpZiAobV9pc0xlZ2FjeUVkaXRpbmdQb3NpdGlvbiB8fCBt
X2FuY2hvclR5cGUgIT0gUG9zaXRpb25Jc0FmdGVyQW5jaG9yKQorICAgICAgICAgICAgcmV0dXJu
IG1fb2Zmc2V0OworICAgICAgICByZXR1cm4gb2Zmc2V0Rm9yUG9zaXRpb25BZnRlckFuY2hvcigp
OwogICAgIH0KIAogICAgIC8vIFRoZXNlIGFyZSBjb252ZW5pZW5jZSBtZXRob2RzIHdoaWNoIGFy
ZSBzbWFydCBhYm91dCB3aGV0aGVyIHRoZSBwb3NpdGlvbiBpcyBuZWlnaGJvciBhbmNob3JlZCBv
ciBwYXJlbnQgYW5jaG9yZWQKQEAgLTE3MSw2ICsxNzIsOCBAQCBwdWJsaWM6CiAjZW5kaWYKICAg
ICAKIHByaXZhdGU6CisgICAgaW50IG9mZnNldEZvclBvc2l0aW9uQWZ0ZXJBbmNob3IoKSBjb25z
dDsKKwogICAgIGludCByZW5kZXJlZE9mZnNldCgpIGNvbnN0OwogCiAgICAgUG9zaXRpb24gcHJl
dmlvdXNDaGFyYWN0ZXJQb3NpdGlvbihFQWZmaW5pdHkpIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83509</attachid>
            <date>2011-02-23 11:23:43 -0800</date>
            <delta_ts>2011-03-02 18:00:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54986-20110223112342.patch</filename>
            <type>text/plain</type>
            <size>2719</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5MzQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDItMjIgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IHNob3VsZCBhY3R1
YWxseSByZXR1cm4gdGhlIGV4cGVjdGVkIGRlcHJlY2F0ZWQgdmFsdWUgZm9yICJhZnRlciIgcG9z
aXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NDk4NgorCisgICAgICAgIENhbGxzIHRvIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0IG5lZWRzIHRv
IHJldHVybiB0aGUgZXhwZWN0ZWQgdmFsdWUgZm9yIG5ldyBCZWZvcmUvQWZ0ZXIgcG9zaXRpb25z
CisgICAgICAgIHVudGlsIHdlIGNhbiB1cGRhdGUgYWxsIHRoZSBjYWxsIHNpdGVzIHRvIGNvbnNp
ZGVyIHRoZSBuZXcgcG9zaXRpb24gdHlwZXMuCisKKyAgICAgICAgTm8gdGVzdHMuIFRoaXMgaXMg
aW50ZW5kZWQgdG8gc2ltcGxpZnkgdGhlIHRyYW5zaXRpb24gdG8gbmV3IFBvc2l0aW9ucywgbm90
IHRvIGNoYW5nZSBiZWhhdmlvci4KKworICAgICAgICAqIGRvbS9Qb3NpdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQb3NpdGlvbjo6ZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UG9zaXRpb246Om9mZnNldEZvclBvc2l0aW9uQWZ0ZXJBbmNob3IpOiBBZGRl
ZCB0byBkbyB0aGUgcmlnaHQgdGhpbmcgd2hpbGUgZW5zdXJpbmcKKyAgICAgICAgaW5saW5lLXNw
ZWVkIGZvciBtb3N0IGNhbGxzIHRvIGRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0LgorICAgICAgICAq
IGRvbS9Qb3NpdGlvbi5oOgorCiAyMDExLTAyLTIyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAJKHJldmlzaW9uIDc5MzQ0KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0NiwxMiBA
QCBpbnQgUG9zaXRpb246OmNvbXB1dGVPZmZzZXRJbkNvbnRhaW5lck5vCiAgICAgcmV0dXJuIDA7
CiB9CiAKK2ludCBQb3NpdGlvbjo6b2Zmc2V0Rm9yUG9zaXRpb25BZnRlckFuY2hvcigpIGNvbnN0
Cit7CisgICAgQVNTRVJUKG1fYW5jaG9yVHlwZSA9PSBQb3NpdGlvbklzQWZ0ZXJBbmNob3IgJiYg
IW1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24pOworICAgIHJldHVybiBsYXN0T2Zmc2V0Rm9yRWRp
dGluZyhtX2FuY2hvck5vZGUuZ2V0KCkpOworfQorCiAvLyBOZWlnaGJvci1hbmNob3JlZCBwb3Np
dGlvbnMgYXJlIGludmFsaWQgRE9NIHBvc2l0aW9ucywgc28gdGhleSBuZWVkIHRvIGJlCiAvLyBm
aXhlZCB1cCBiZWZvcmUgaGFuZGluZyB0aGVtIG9mZiB0byB0aGUgUmFuZ2Ugb2JqZWN0LgogUG9z
aXRpb24gUG9zaXRpb246OnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpIGNvbnN0CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vUG9zaXRpb24uaAkocmV2aXNpb24gNzkzNDQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
UG9zaXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtOTIsOCArOTIsOSBAQCBwdWJsaWM6CiAgICAg
Ly8gTmV3IGNvZGUgc2hvdWxkIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi4KICAgICBpbnQgZGVwcmVj
YXRlZEVkaXRpbmdPZmZzZXQoKSBjb25zdAogICAgIHsKLSAgICAgICAgLy8gVGhpcyBzaG91bGQg
cHJvYmFibHkgQVNTRVJUKG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24pOwotICAgICAgICByZXR1
cm4gbV9vZmZzZXQ7CisgICAgICAgIGlmIChtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0aW9uIHx8IG1f
YW5jaG9yVHlwZSAhPSBQb3NpdGlvbklzQWZ0ZXJBbmNob3IpCisgICAgICAgICAgICByZXR1cm4g
bV9vZmZzZXQ7CisgICAgICAgIHJldHVybiBvZmZzZXRGb3JQb3NpdGlvbkFmdGVyQW5jaG9yKCk7
CiAgICAgfQogCiAgICAgLy8gVGhlc2UgYXJlIGNvbnZlbmllbmNlIG1ldGhvZHMgd2hpY2ggYXJl
IHNtYXJ0IGFib3V0IHdoZXRoZXIgdGhlIHBvc2l0aW9uIGlzIG5laWdoYm9yIGFuY2hvcmVkIG9y
IHBhcmVudCBhbmNob3JlZApAQCAtMTcxLDYgKzE3Miw4IEBAIHB1YmxpYzoKICNlbmRpZgogICAg
IAogcHJpdmF0ZToKKyAgICBpbnQgb2Zmc2V0Rm9yUG9zaXRpb25BZnRlckFuY2hvcigpIGNvbnN0
OworCiAgICAgaW50IHJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKICAgICBQb3NpdGlvbiBwcmV2
aW91c0NoYXJhY3RlclBvc2l0aW9uKEVBZmZpbml0eSkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="75335"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>