<?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>11746</bug_id>
          
          <creation_ts>2006-12-03 10:44:16 -0800</creation_ts>
          <short_desc>REGRESSION(r14931): Outlook Web Access incorrectly positions the insertion point when replying to e-mail</short_desc>
          <delta_ts>2006-12-20 03:19:37 -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>420+</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Olswang">bolswang</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>adele</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>43417</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Olswang">bolswang</who>
    <bug_when>2006-12-03 10:44:16 -0800</bug_when>
    <thetext>When using outlook web access to send an email the scroll bar to the right of the email body editing text box does not function.  This includes clicking on the scroll arrows, dragging the scroll bar, or using the mouse wheel.  So only using the up down arrows from the keyboard can be used. 

This is pretty tedious as when you make an new email with OWA, it starts the cursor at the bottom and scrolled to the bottom so you need to scroll all the way to the top.  Actually, this might be another bug as Firefox 2 starts a new email with the cursor at the bottom but scrolled to the tob so you can click at the top and start typing.

This is wth Outlook Web Access using Microsoft Exchange Server 2003 and I&apos;ve reproduced with the version in 10.4.8 and the latest nightly.

I know this will be hard to reproduce unless you have access to some Outlook Web Access system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43419</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-12-03 11:28:26 -0800</bug_when>
    <thetext>I can reproduce both issues when using a nightly build, but shipping 10.4.8 Safari works correctly for me.

The problem with using scroll bars in nightlies is a known bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43421</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Olswang">bolswang</who>
    <bug_when>2006-12-03 16:28:16 -0800</bug_when>
    <thetext>You&apos;re right.  It is working in 10.4.8 build.  My mistake.
And I didn&apos;t realize this was a general bug with scroll bars.  Sorry for the duplicate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43432</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-12-03 19:52:37 -0800</bug_when>
    <thetext>Confirming as a regression; renaming to reflect just the second issue. With shipping Safari, the insertion point is positioned at the top, and the text is not scrolled, which seems to be the correct behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43463</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-04 14:19:26 -0800</bug_when>
    <thetext>I&apos;ve noticed this as well on OWA for Microsoft Exchange Server 2003.

I don&apos;t suppose any has tried to spoof a recent WebKit nightly as MSIE 6 on OWA For Exchange Server 2003 to see how broken the &quot;Premium&quot; client is, have they?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43378</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-04 22:09:44 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I&apos;ve noticed this as well on OWA for Microsoft Exchange Server 2003.

Using the WebKit nightlies and some deduction, I&apos;ve narrowed this down between:

r14926: works
r14941: fails

Since r14938 enabled the native text area implementation (see Bug8948), I&apos;m pretty sure that this is the cause.  This bug still needs a reduction to figure out why the cursor isn&apos;t being positioned correctly when replying, though.

&gt; I don&apos;t suppose any has tried to spoof a recent WebKit nightly as MSIE 6 on OWA
&gt; For Exchange Server 2003 to see how broken the &quot;Premium&quot; client is, have they?

I tried this for fun, and it&apos;s not pretty.  Lots of JavaScript errors in the JS Console (beginning on the login page) and what looks like some kind of an XSLT issue.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43373</commentid>
    <comment_count>6</comment_count>
      <attachid>11733</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-04 22:31:16 -0800</bug_when>
    <thetext>Created attachment 11733
Reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43374</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-04 22:33:04 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=11733) [edit]
&gt; Reduced test case

Basically, when the native textarea is focused, it puts the cursor at the end of the content instead of at the beginning.  The previous textarea implementation always put the cursor at the beginning of the content in the textarea.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43265</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-05 03:55:09 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Using the WebKit nightlies and some deduction, I&apos;ve narrowed this down between:
&gt; 
&gt; r14926: works
&gt; r14941: fails
&gt; 
&gt; Since r14938 enabled the native text area implementation (see Bug8948), I&apos;m
&gt; pretty sure that this is the cause.  This bug still needs a reduction to figure
&gt; out why the cursor isn&apos;t being positioned correctly when replying, though.

Check that.  Revision r14935 enabled the native text area implementation, while r14936-r14938 fixed layout test results.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43245</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-05 04:13:08 -0800</bug_when>
    <thetext>It appears that this change was made on purpose in r14931.  See comment in HTMLTextAreaElement::updateFocusAppearance() in WebCore/html/HTMLTextAreaElement.cpp.

    if (cachedSelStart == -1) {
        ASSERT(cachedSelEnd == -1);
        // If this is the first focus, set a caret at the end of the text.  
        // This matches other browsers&apos; behavior.
        int max = static_cast&lt;RenderTextControl*&gt;(renderer())-&gt;text().length();
        setSelectionRange(max, max);
    } else

I haven&apos;t tested this on MSIE 6, but both Firefox 1.5.0.8 and Mozilla Suite 1.7.13 on Mac OS X do place the caret at the end of the text content.  The difference, though, is that they do not automatically scroll to the end of the content when this is done, so it&apos;s possible to click at the top of the text area without having to scroll all the way up. If, however, you start typing after the page loads, the text area will immediately scroll to the bottom as expected.

In summary, to match other browsers, Safari should place the caret at the end of the content, but not automatically scroll to the end.  Does that make sense?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43231</commentid>
    <comment_count>10</comment_count>
      <attachid>11736</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-05 05:10:57 -0800</bug_when>
    <thetext>Created attachment 11736
Patch v1 (fixes behavior; fails a few layout tests)

This patch fixes the behavior of OWA to match Firefox and Mozilla Suite, but a few layout tests fail now (due to the specific change in behavior).

Someone needs to decide if this is the desired behavior, then fix the layout tests appropriately.  (I may not have time to work on this myself, so feel free to take the patch and run with it.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43226</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-05 05:14:21 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=11736) [edit]
&gt; Fixes behavior; fails a few layout tests
&gt; 
&gt; This patch fixes the behavior of OWA to match Firefox and Mozilla Suite, but a
&gt; few layout tests fail now (due to the specific change in behavior).

These are the layout tests that fail:

fast/forms/textarea-no-scroll-on-blur.html
fast/forms/textarea-scrolled-endline-caret.html
fast/forms/textarea-scrolled-type.html
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43227</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-12-05 05:27:36 -0800</bug_when>
    <thetext>I tried the attached test in MSVC 6, and the insertion point is positioned at the top. The Firefox behavior that we now emulate doesn&apos;t look right to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43223</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-05 07:26:51 -0800</bug_when>
    <thetext>Adele, do you recall which browser(s) you were emulating when you changed the native textarea to put the caret at the end of the content instead of the beginning (in r14931)?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43192</commentid>
    <comment_count>14</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2006-12-05 10:07:14 -0800</bug_when>
    <thetext>I was trying to emulate Firefox, but perhaps FF has a more complex rule than this. Or maybe their behavior has changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43124</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-06 04:27:26 -0800</bug_when>
    <thetext>Modern browser behavior
-----------------------

Firefox 1.5.0.8/2.0:

Initial focus:
- Caret placed at end of content
- Text area drawn with beginning of content
- Typing immediately scrolls to end of content where text is inserted

Subsequent focus using tab/shift-tab:
- Same as initial focus
- Previous caret position is remembered

Subsequent focus using mouse to click on scrollbar:
- Same as initial focus
- Previous caret position is remembered


MSIE 5.2.3 for Mac (not modern, but I was curious!):

Initial focus (like Firefox):
- Caret placed at end of content
- Text area drawn with beginning of content
- Typing immediately scrolls to end of content where text is inserted

Subsequent focus using tab/shift-tab (like Safari):
- Entire content is selected after hitting tab, then shift-tab
- Text area drawn with beginning of content with scrolling if needed
- Typing replaces entire content
- Previous caret position obliterated with select-all behavior

Subsequent focus using mouse to click on scrollbar (almost like MSIE 6.0):
- Caret placed at beginning of content (no scrolling)
- Text area drawn with previous content visible (no scrolling)
- Typing inserts at beginning of content with scrolling if needed
- No memory of previous caret position (always places at beginning of content)


MSIE 6.0:

Initial focus:
- Caret placed at beginning of content
- Text area drawn with beginning of content
- Typing inserts at beginning of content (no scrolling)

Subsequent focus using tab/shift-tab:
- Caret placed at end of content
- Text area drawn with end of content
- Typing inserts at end of content
- No memory of previous caret position (always places at end of content)

Subsequent focus using mouse to click on scrollbar:
- Caret placed at beginning of content
- Text area drawn with beginning of content
- Typing inserts at beginning of content (no scrolling)
- No memory of previous caret position (always places at beginning of content)


Mozilla Suite 1.7.13:

- Same as Firefox 1.5.0.8/2.0


OmniWeb 5.5.1:

- Same as Safari 2.0.4
- Form Editor feature always places caret at end of Form Editor window


Opera 9.0.2:

Initial focus:
- Caret placed at beginning of content
- Text area drawn with beginning of content
- Typing inserts at beginning of content (no scrolling)

Subsequent focus using tab/shift-tab:
- N/A: Opera doesn&apos;t provide tab/shift-tab navigation

Subsequent focus using mouse to click on scrollbar:
- Same as initial focus
- Previous caret position is remembered


Safari 2.0.4:

Initial focus:
- Caret placed at beginning of content
- Text area drawn with beginning of content
- Typing inserts at beginning of content (no scrolling)

Subsequent focus using tab/shift-tab:
- Entire content is selected after hitting tab, then shift-tab
- Text area drawn with beginning of content
- Typing replaces entire content
- Previous caret position obliterated with select-all behavior

Subsequent focus using mouse to click on scrollbar:
- Same as initial focus
- Previous caret position is remembered

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43107</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-06 04:49:22 -0800</bug_when>
    <thetext>Based on Comment #15, I&apos;d like to see the following with WebKit (which is basically Opera 9.0.2 with keyboard navigation mimicking mouse clicking).  Thoughts?

Initial focus:
- Caret placed at beginning of content
- Text area drawn with beginning of content
- Typing inserts at beginning of content (no scrolling)

Subsequent focus using tab/shift-tab:
- Same as initial focus
- Previous caret position is remembered

Subsequent focus using mouse to click on scrollbar:
- Same as initial focus
- Previous caret position is remembered

Note that Bug 11767 was filed since clicking on the scrollbar in the next text areas does not &quot;fully&quot; focus it (no caret and no typing is possible), unlike using tab/shift-tab.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43108</commentid>
    <comment_count>17</comment_count>
      <attachid>11750</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-06 04:54:25 -0800</bug_when>
    <thetext>Created attachment 11750
Patch v2 (needs changelog and layout test fixes)

This patch implements the behavior described in Comment #16.

Still needs a changelog entry and layout test fixes (and a new layout test if existing tests don&apos;t cover it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42553</commentid>
    <comment_count>18</comment_count>
      <attachid>11790</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-09 13:02:15 -0800</bug_when>
    <thetext>Created attachment 11790
Patch v3

Implements behavior described in Comment #16.  Includes layout test updates, a new layout test for this bug, and changelog entries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42655</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-11 21:20:08 -0800</bug_when>
    <thetext>I know it&apos;s just my opinion, but I think caret at end of content is way better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42656</commentid>
    <comment_count>20</comment_count>
      <attachid>11790</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-11 21:27:03 -0800</bug_when>
    <thetext>Comment on attachment 11790
Patch v3

This approach to sending the caret to the bottom of the text area:

+            eventSender.keyDown(String.fromCharCode(0xf701), [&quot;metaKey&quot;]);


is entirely Macintosh-specific. I think it would be better to not rely on that and the eventSender for tests that would otherwise be more portable.

I think that ta.setSelectionRange(10000, 10000) will do the job just as well without being platform-specific.

I think the comment should include the URL &lt;http://bugs.webkit.org/show_bug.cgi?id=11746#c16&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42463</commentid>
    <comment_count>21</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-12 04:33:07 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; I know it&apos;s just my opinion, but I think caret at end of content is way better.

I&apos;ve found the opposite to be true, but most of the time this behavior comes into play is when I&apos;m replying to messages via web mail--either OWA or Yahoo! Mail.  Since making the change in my local build, though, I have yet to run into a case where I wished the cursor was at the end rather than the beginning of the content (but it&apos;s only been a week).

Hixie, do you have any input on this for HTML 5?  I didn&apos;t see anything related to initial caret position in the current spec (search for &quot;textarea&quot; to find more info):

http://www.whatwg.org/specs/web-apps/current-work/#the-textarea

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42112</commentid>
    <comment_count>22</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2006-12-14 13:04:52 -0800</bug_when>
    <thetext>Browsers should just do whatever the platform convention is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42116</commentid>
    <comment_count>23</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-14 13:38:21 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Browsers should just do whatever the platform convention is.

I don&apos;t agree.

First of all, platforms don&apos;t have clear conventions for this.

Second, this bug shows that this won&apos;t work for compatibility. Sites make assumptions based on the browser they first test on, and using the Macintosh platform convention prevents this site from working correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41481</commentid>
    <comment_count>24</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-17 17:24:35 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 11790 [edit])
&gt; This approach to sending the caret to the bottom of the text area:
&gt; 
&gt; +            eventSender.keyDown(String.fromCharCode(0xf701), [&quot;metaKey&quot;]);
&gt; 
&gt; is entirely Macintosh-specific. I think it would be better to not rely on that
&gt; and the eventSender for tests that would otherwise be more portable.
&gt; 
&gt; I think that ta.setSelectionRange(10000, 10000) will do the job just as well
&gt; without being platform-specific.

This doesn&apos;t work.  The textarea is not redrawn after the selection changes.  I&apos;m still trying to figure out how to use ta.setSelectionRange().  (I&apos;d also prefer to use ta.value.length instead of an arbitrary value of 10000, which should work just as well.)

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41462</commentid>
    <comment_count>25</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-17 17:41:53 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; This doesn&apos;t work.  The textarea is not redrawn after the selection changes. 
&gt; I&apos;m still trying to figure out how to use ta.setSelectionRange().  (I&apos;d also
&gt; prefer to use ta.value.length instead of an arbitrary value of 10000, which
&gt; should work just as well.)

Replacing this:

    eventSender.keyDown(String.fromCharCode(0xf701), [&quot;metaKey&quot;]);

With setSelectionRange() requires an extra set of focus()/blur() calls to work:

    ta.focus();
    ta.setSelectionRange(ta.value.length, ta.value.length);
    ta.blur();

New patch in a few.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41437</commentid>
    <comment_count>26</comment_count>
      <attachid>11897</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-17 17:54:02 -0800</bug_when>
    <thetext>Created attachment 11897
Patch v4

Changes from Patch v3 per Comment #20:

- Uses ta.setSelectionRange() (with extra focus()/blur() calls) instead of window.eventSender().
- Adds URL to comment in HTMLTextAreaElement.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41208</commentid>
    <comment_count>27</comment_count>
      <attachid>11897</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-12-18 20:29:26 -0800</bug_when>
    <thetext>Comment on attachment 11897
Patch v4

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41098</commentid>
    <comment_count>28</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-20 03:19:37 -0800</bug_when>
    <thetext>Committed revision 18341.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>11733</attachid>
            <date>2006-12-04 22:31:16 -0800</date>
            <delta_ts>2006-12-04 22:31:16 -0800</delta_ts>
            <desc>Reduced test case</desc>
            <filename>bug-11746-test.html</filename>
            <type>text/html</type>
            <size>241</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGJvZHkgb25sb2FkPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJykuZm9jdXMoKTsiPgo8
dGV4dGFyZWEgaWQ9ImZvbyIgcm93cz0iNSIgY29scz0iNjAiPgoKQ3Vyc29yIHNob3VsZCBiZSBh
Ym92ZSB0aGlzIGxpbmUgd2hlbiBwYWdlIGlzIGxvYWRlZC4KbGluZQpsaW5lCmxpbmUKQ3Vyc29y
IGlzIGFjdHVhbGx5IGJlbG93IHRoaXMgbGluZSB3aGVuIHBhZ2UgaXMgbG9hZGVkLgo8L3RleHRh
cmVhPgo8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11736</attachid>
            <date>2006-12-05 05:10:57 -0800</date>
            <delta_ts>2006-12-06 04:56:26 -0800</delta_ts>
            <desc>Patch v1 (fixes behavior; fails a few layout tests)</desc>
            <filename>bug-11746-v1.diff</filename>
            <type>text/plain</type>
            <size>893</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE4MDE0KQor
KysgV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMjAsMTIgKzIyMCwxMyBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwCiAgICAgICAgIC8vIFRoaXMgbWF0Y2hlcyBvdGhlciBicm93c2VycycgYmVoYXZpb3IuCiAg
ICAgICAgIGludCBtYXggPSBzdGF0aWNfY2FzdDxSZW5kZXJUZXh0Q29udHJvbCo+KHJlbmRlcmVy
KCkpLT50ZXh0KCkubGVuZ3RoKCk7CiAgICAgICAgIHNldFNlbGVjdGlvblJhbmdlKG1heCwgbWF4
KTsKLSAgICB9IGVsc2UKKyAgICB9IGVsc2UgewogICAgICAgICAvLyBSZXN0b3JlIHRoZSBjYWNo
ZWQgc2VsZWN0aW9uLiAgVGhpcyBtYXRjaGVzIG90aGVyIGJyb3dzZXJzJyBiZWhhdmlvci4KICAg
ICAgICAgc2V0U2VsZWN0aW9uUmFuZ2UoY2FjaGVkU2VsU3RhcnQsIGNhY2hlZFNlbEVuZCk7IAog
Ci0gICAgaWYgKGRvY3VtZW50KCkgJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKSkKLSAgICAgICAgZG9j
dW1lbnQoKS0+ZnJhbWUoKS0+cmV2ZWFsU2VsZWN0aW9uKCk7CisgICAgICAgIGlmIChkb2N1bWVu
dCgpICYmIGRvY3VtZW50KCktPmZyYW1lKCkpCisgICAgICAgICAgICBkb2N1bWVudCgpLT5mcmFt
ZSgpLT5yZXZlYWxTZWxlY3Rpb24oKTsKKyAgICB9CiB9CiAKIHZvaWQgSFRNTFRleHRBcmVhRWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCAqZXZ0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11750</attachid>
            <date>2006-12-06 04:54:25 -0800</date>
            <delta_ts>2006-12-09 13:02:15 -0800</delta_ts>
            <desc>Patch v2 (needs changelog and layout test fixes)</desc>
            <filename>bug-11746-v2.diff</filename>
            <type>text/plain</type>
            <size>883</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE4MDE0KQor
KysgV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMTYsMTAgKzIxNiw5IEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlRm9jdXNB
cHAKICAgICAKICAgICBpZiAoY2FjaGVkU2VsU3RhcnQgPT0gLTEpIHsKICAgICAgICAgQVNTRVJU
KGNhY2hlZFNlbEVuZCA9PSAtMSk7Ci0gICAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IGZv
Y3VzLCBzZXQgYSBjYXJldCBhdCB0aGUgZW5kIG9mIHRoZSB0ZXh0LiAgCisgICAgICAgIC8vIElm
IHRoaXMgaXMgdGhlIGZpcnN0IGZvY3VzLCBzZXQgYSBjYXJldCBhdCB0aGUgYmVnaW5uaW5nIG9m
IHRoZSB0ZXh0LiAgCiAgICAgICAgIC8vIFRoaXMgbWF0Y2hlcyBvdGhlciBicm93c2VycycgYmVo
YXZpb3IuCi0gICAgICAgIGludCBtYXggPSBzdGF0aWNfY2FzdDxSZW5kZXJUZXh0Q29udHJvbCo+
KHJlbmRlcmVyKCkpLT50ZXh0KCkubGVuZ3RoKCk7Ci0gICAgICAgIHNldFNlbGVjdGlvblJhbmdl
KG1heCwgbWF4KTsKKyAgICAgICAgc2V0U2VsZWN0aW9uUmFuZ2UoMCwgMCk7CiAgICAgfSBlbHNl
CiAgICAgICAgIC8vIFJlc3RvcmUgdGhlIGNhY2hlZCBzZWxlY3Rpb24uICBUaGlzIG1hdGNoZXMg
b3RoZXIgYnJvd3NlcnMnIGJlaGF2aW9yLgogICAgICAgICBzZXRTZWxlY3Rpb25SYW5nZShjYWNo
ZWRTZWxTdGFydCwgY2FjaGVkU2VsRW5kKTsgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11790</attachid>
            <date>2006-12-09 13:02:15 -0800</date>
            <delta_ts>2006-12-17 17:54:02 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-11746-v3.diff</filename>
            <type>text/plain</type>
            <size>9890</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MTA2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDYtMTItMDkgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE3NDYKKyAgICAgICAgUkVHUkVTU0lPTihyMTQ5MzEpOiBPdXRsb29rIFdlYiBBY2Nlc3Mg
aW5jb3JyZWN0bHkgcG9zaXRpb25zIHRoZSBpbnNlcnRpb24gcG9pbnQgd2hlbiByZXBseWluZyB0
byBlLW1haWwKKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL21vdmUtYmVnaW4tZW5kLWV4
cGVjdGVkLnR4dDogVXBkYXRlZCBlZGl0aW5nIGRlbGVnYXRlIHJlc3VsdHMuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgc2VsZWN0
aW9uIHN0YXJ0L2VuZCBwb3NpdGlvbnMuCisgICAgICAgICogZmFzdC9mb3Jtcy90ZXh0YXJlYS1p
bml0aWFsLWNhcmV0LXBvc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy90ZXh0YXJlYS1pbml0aWFsLWNhcmV0LXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvdGV4dGFyZWEtbm8tc2Nyb2xsLW9uLWJsdXIuaHRtbDoKKyAgICAg
ICAgVXBkYXRlZCB0byBwb3NpdGlvbiBjYXJldCBhdCBlbmQgb2YgdGV4dCB0byBtYXRjaCBwcmV2
aW91cyBpbml0aWFsIGZvY3VzIGJlaGF2aW9yIGZvciB0aGlzIHRlc3QuCisgICAgICAgICogZmFz
dC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxiYXIuaHRtbDogRGl0dG8uCisgICAgICAgICogZmFzdC9m
b3Jtcy90ZXh0YXJlYS1zY3JvbGxlZC1lbmRsaW5lLWNhcmV0Lmh0bWw6IERpdHRvLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtdHlwZS5odG1sOiBEaXR0by4KKwogMjAw
Ni0xMi0wOCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
TWFjaWVqLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW92ZS1iZWdpbi1l
bmQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL21vdmUtYmVnaW4tZW5kLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTgxMDUpCisrKyBMYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9tb3ZlLWJlZ2luLWVuZC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEsNyArMSw2IEBACiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KLUVE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA5
IG9mICN0ZXh0ID4gRElWIHRvIDkgb2YgI3RleHQgPiBESVYgdG9ET01SYW5nZTpyYW5nZSBmcm9t
IDggb2YgI3RleHQgPiBESVYgdG8gOCBvZiAjdGV4dCA+IERJViBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQotRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCi1FRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdl
OnJhbmdlIGZyb20gOCBvZiAjdGV4dCA+IERJViB0byA4IG9mICN0ZXh0ID4gRElWIHRvRE9NUmFu
Z2U6cmFuZ2UgZnJvbSA5IG9mICN0ZXh0ID4gRElWIHRvIDkgb2YgI3RleHQgPiBESVYgYWZmaW5p
dHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAw
IG9mICN0ZXh0ID4gRElWIHRvIDAgb2YgI3RleHQgPiBESVYgdG9ET01SYW5nZTpyYW5nZSBmcm9t
IDAgb2YgI3RleHQgPiBESVYgdG8gMCBvZiAjdGV4dCA+IERJViBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FU
RTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBE
SVYgdG8gMCBvZiAjdGV4dCA+IERJViB0b0RPTVJhbmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+
IERJViB0byA5IG9mICN0ZXh0ID4gRElWIGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA5
IG9mICN0ZXh0ID4gRElWIHRvIDkgb2YgI3RleHQgPiBESVYgdG9ET01SYW5nZTpyYW5nZSBmcm9t
IDAgb2YgI3RleHQgPiBESVYgdG8gMCBvZiAjdGV4dCA+IERJViBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29uc2VsZWN0LXRleHRhcmVh
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29uc2Vs
ZWN0LXRleHRhcmVhLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTgxMDUpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL29uc2VsZWN0LXRleHRhcmVhLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNCw3ICs0LDcgQEAgVGhpcyBhbHNvIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29ycmVjdCBz
ZQogCiAKIENhbGxpbmcgZm9jdXMgb24gdGV4dGFyZWEKLUFmdGVyIGZvY3VzOiB0ZXh0YXJlYSBz
ZWxlY3Rpb24gc3RhcnQ6IDM0IGVuZDogMzQKK0FmdGVyIGZvY3VzOiB0ZXh0YXJlYSBzZWxlY3Rp
b24gc3RhcnQ6IDAgZW5kOiAwCiAKIENhbGxpbmcgc2V0U2VsZWN0aW9uUmFuZ2Ugb24gdGV4dGFy
ZWEKIEFmdGVyIHNldFNlbGVjdGlvblJhbmdlKDUsIDEwKTogdGV4dGFyZWEgc2VsZWN0aW9uIHN0
YXJ0OiA1IGVuZDogMTAKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtaW5p
dGlhbC1jYXJldC1wb3NpdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1pbml0aWFsLWNhcmV0LXBvc2l0aW9uLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtaW5pdGlh
bC1jYXJldC1wb3NpdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIg
QEAKK1RoaXMgdGVzdHMgdGhlIGluaXRpYWwgY2FyZXQgcG9zaXRpb24gZm9yIHRleHRhcmVhcy4K
KworQnVnIDExNzQ2OiBSRUdSRVNTSU9OKHIxNDkzMSk6IE91dGxvb2sgV2ViIEFjY2VzcyBpbmNv
cnJlY3RseSBwb3NpdGlvbnMgdGhlIGluc2VydGlvbiBwb2ludCB3aGVuIHJlcGx5aW5nIHRvIGUt
bWFpbAoraHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NDYKKworCitQ
QVNTIHRhLnNlbGVjdGlvblN0YXJ0IGlzIDAKK1BBU1MgdGEuc2VsZWN0aW9uRW5kIGlzIDAKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLWluaXRpYWwtY2FyZXQtcG9zaXRpb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLWluaXRpYWwt
Y2FyZXQtcG9zaXRpb24uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGV4dGFyZWEtaW5pdGlhbC1jYXJldC1wb3NpdGlvbi5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDM2IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PgorPHA+VGhpcyB0ZXN0cyB0aGUgaW5pdGlhbCBjYXJldCBwb3Np
dGlvbiBmb3IgdGV4dGFyZWFzLjwvcD4KKzxwPkJ1ZyAxMTc0NjogUkVHUkVTU0lPTihyMTQ5MzEp
OiBPdXRsb29rIFdlYiBBY2Nlc3MgaW5jb3JyZWN0bHkgcG9zaXRpb25zIHRoZSBpbnNlcnRpb24g
cG9pbnQgd2hlbiByZXBseWluZyB0byBlLW1haWw8YnI+Cis8YSBocmVmPSJodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc0NiI+aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE3NDY8L2E+PC9wPgorPC9kaXY+Cis8ZGl2PgorPHRleHRhcmVhIGlk
PSJ0YSIgcm93cz0iNSIgY29scz0iMTAiPgorMQorMgorMworNAorNQorNgorNworOAorOQorMTAK
KzwvdGV4dGFyZWE+Cis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIHZhciB0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0YScpOworICAgIHRhLmZvY3VzKCk7CisgICAgc2hvdWxkQmUoJ3RhLnNlbGVjdGlvblN0
YXJ0JywgJzAnKTsKKyAgICBzaG91bGRCZSgndGEuc2VsZWN0aW9uRW5kJywgJzAnKTsKKyAgICBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFy
ZWEtbm8tc2Nyb2xsLW9uLWJsdXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RleHRhcmVhLW5vLXNjcm9sbC1vbi1ibHVyLmh0bWwJKHJldmlzaW9uIDE4MTA1KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1uby1zY3JvbGwtb24tYmx1ci5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC03LDYgKzcsOSBAQAogICAgICAgICAgICAgCiAgICAgICAgIHZh
ciB0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YScpOwogICAgICAgICB0YS5mb2N1cygp
OworICAgICAgICAvLyBTZW5kIGNhcmV0IHRvIGJvdHRvbSBvZiB0ZXh0YXJlYQorICAgICAgICBp
ZiAod2luZG93LmV2ZW50U2VuZGVyKQorICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihT
dHJpbmcuZnJvbUNoYXJDb2RlKDB4ZjcwMSksIFsibWV0YUtleSJdKTsKICAgICAgICAgdGEuYmx1
cigpOwogICAgICAgICBpZiAodGEuc2Nyb2xsVG9wICE9IDApCiAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgncmVzJykuaW5uZXJIVE1MID0gIlRlc3QgUGFzc2VkIjsKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsYmFyLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxiYXIuaHRtbAkocmV2
aXNpb24gMTgxMDUpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLXNjcm9sbGJh
ci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsOSBAQAogICAgIDxzY3JpcHQ+CiAgICAg
ZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhJyku
Zm9jdXMoKTsKKyAgICAgICAgLy8gU2VuZCBjYXJldCB0byBib3R0b20gb2YgdGV4dGFyZWEKKyAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSgweGY3MDEpLCBbIm1ldGFLZXkiXSk7CiAgICAgICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICc1Jyk7CiAgICAgICAg
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJJbnNlcnRUZXh0IiwgZmFsc2UsICdcbicpOwogICAgICAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCAnNicpOwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxlZC1lbmRsaW5lLWNhcmV0Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxl
ZC1lbmRsaW5lLWNhcmV0Lmh0bWwJKHJldmlzaW9uIDE4MTA1KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxlZC1lbmRsaW5lLWNhcmV0Lmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTcsNiArNyw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHZhciB0YSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0YScpCiAgICAgdmFyIHJlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyZXMnKTsKICAgICB0YS5mb2N1cygpOworICAgIC8vIFNlbmQgY2FyZXQgdG8gYm90dG9t
IG9mIHRleHRhcmVhCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgZXZlbnRT
ZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4ZjcwMSksIFsibWV0YUtleSJdKTsK
ICAgICAvLyBjbGljawogICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKICAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oOTAsIDIwKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGV4dGFyZWEtc2Nyb2xsZWQtdHlwZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtdHlwZS5odG1sCShyZXZpc2lvbiAxODEwNSkK
KysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtdHlwZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC03LDYgKzcsOSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB2YXIgcmVz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlcycpOwogICAgIHZhciB0YSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0YScpOwogICAgIHRhLmZvY3VzKCk7CisgICAgLy8gU2VuZCBjYXJl
dCB0byBib3R0b20gb2YgdGV4dGFyZWEKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKQorICAg
ICAgICBldmVudFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHhmNzAxKSwgWyJt
ZXRhS2V5Il0pOwogICAgIHRhLnNldFNlbGVjdGlvblJhbmdlKDQ0LCA0NCk7CiAgICAgdHlwZUNo
YXJhY3RlckNvbW1hbmQoJyAnKTsKICAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnUCcpOwpAQCAt
NDQsNCArNDcsNCBAQCBUaGlzIHRlc3RzIHRoYXQgdHlwaW5nIGluIGEgc2Nyb2xsZWQgdGV4CiA8
YnI+CiA8ZGl2IGlkPSJyZXMiPjwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODEwNikKKysrIFdlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDYtMTItMDkgIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE3NDYKKyAgICAgICAgUkVHUkVTU0lPTihyMTQ5MzEpOiBPdXRsb29rIFdlYiBBY2Nl
c3MgaW5jb3JyZWN0bHkgcG9zaXRpb25zIHRoZSBpbnNlcnRpb24gcG9pbnQgd2hlbiByZXBseWlu
ZyB0byBlLW1haWwKKworICAgICAgICBTZXQgY2FyZXQgYXQgYmVnaW5uaW5nIG9mIHRleHQgb24g
aW5pdGlhbCBmb2N1cy4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3RleHRhcmVhLWluaXRp
YWwtY2FyZXQtcG9zaXRpb24uaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZUZv
Y3VzQXBwZWFyYW5jZSk6CisKIDIwMDYtMTItMDkgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluLgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFF
bGVtZW50LmNwcAkocmV2aXNpb24gMTgxMDUpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNiwxMCArMjE2LDkgQEAgdm9pZCBIVE1M
VGV4dEFyZWFFbGVtZW50Ojp1cGRhdGVGb2N1c0FwcAogICAgIAogICAgIGlmIChjYWNoZWRTZWxT
dGFydCA9PSAtMSkgewogICAgICAgICBBU1NFUlQoY2FjaGVkU2VsRW5kID09IC0xKTsKLSAgICAg
ICAgLy8gSWYgdGhpcyBpcyB0aGUgZmlyc3QgZm9jdXMsIHNldCBhIGNhcmV0IGF0IHRoZSBlbmQg
b2YgdGhlIHRleHQuICAKLSAgICAgICAgLy8gVGhpcyBtYXRjaGVzIG90aGVyIGJyb3dzZXJzJyBi
ZWhhdmlvci4KLSAgICAgICAgaW50IG1heCA9IHN0YXRpY19jYXN0PFJlbmRlclRleHRDb250cm9s
Kj4ocmVuZGVyZXIoKSktPnRleHQoKS5sZW5ndGgoKTsKLSAgICAgICAgc2V0U2VsZWN0aW9uUmFu
Z2UobWF4LCBtYXgpOworICAgICAgICAvLyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBmb2N1cywgc2V0
IGEgY2FyZXQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgdGV4dC4gIAorICAgICAgICAvLyBUaGlz
IG1hdGNoZXMgc29tZSBicm93c2VycycgYmVoYXZpb3I7IHNlZSBCdWd6aWxsYSBCdWcgMTE3NDYg
Q29tbWVudCAjMTUuCisgICAgICAgIHNldFNlbGVjdGlvblJhbmdlKDAsIDApOwogICAgIH0gZWxz
ZQogICAgICAgICAvLyBSZXN0b3JlIHRoZSBjYWNoZWQgc2VsZWN0aW9uLiAgVGhpcyBtYXRjaGVz
IG90aGVyIGJyb3dzZXJzJyBiZWhhdmlvci4KICAgICAgICAgc2V0U2VsZWN0aW9uUmFuZ2UoY2Fj
aGVkU2VsU3RhcnQsIGNhY2hlZFNlbEVuZCk7IAo=
</data>
<flag name="review"
          id="4273"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11897</attachid>
            <date>2006-12-17 17:54:02 -0800</date>
            <delta_ts>2006-12-18 20:29:26 -0800</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-11746-v4.diff</filename>
            <type>text/plain</type>
            <size>10024</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MjczKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDYtMTItMTcgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE3NDYKKyAgICAgICAgUkVHUkVTU0lPTihyMTQ5MzEpOiBPdXRsb29rIFdlYiBBY2Nlc3Mg
aW5jb3JyZWN0bHkgcG9zaXRpb25zIHRoZSBpbnNlcnRpb24gcG9pbnQgd2hlbiByZXBseWluZyB0
byBlLW1haWwKKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL21vdmUtYmVnaW4tZW5kLWV4
cGVjdGVkLnR4dDogVXBkYXRlZCBlZGl0aW5nIGRlbGVnYXRlIHJlc3VsdHMuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgc2VsZWN0
aW9uIHN0YXJ0L2VuZCBwb3NpdGlvbnMuCisgICAgICAgICogZmFzdC9mb3Jtcy90ZXh0YXJlYS1p
bml0aWFsLWNhcmV0LXBvc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy90ZXh0YXJlYS1pbml0aWFsLWNhcmV0LXBvc2l0aW9uLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvdGV4dGFyZWEtbm8tc2Nyb2xsLW9uLWJsdXIuaHRtbDoKKyAgICAg
ICAgVXBkYXRlZCB0byBwb3NpdGlvbiBjYXJldCBhdCBlbmQgb2YgdGV4dCB0byBtYXRjaCBwcmV2
aW91cyBpbml0aWFsIGZvY3VzIGJlaGF2aW9yIGZvciB0aGlzIHRlc3QuCisgICAgICAgICogZmFz
dC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxiYXIuaHRtbDogRGl0dG8uCisgICAgICAgICogZmFzdC9m
b3Jtcy90ZXh0YXJlYS1zY3JvbGxlZC1lbmRsaW5lLWNhcmV0Lmh0bWw6IERpdHRvLgorICAgICAg
ICAqIGZhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtdHlwZS5odG1sOiBEaXR0by4KKwogMjAw
Ni0xMi0xNyAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYy4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL21vdmUtYmVnaW4tZW5k
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlv
bi9tb3ZlLWJlZ2luLWVuZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE4MjczKQorKysgTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vbW92ZS1iZWdpbi1lbmQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDcgKzEsNiBAQAogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCi1FRElU
SU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gOSBv
ZiAjdGV4dCA+IERJViB0byA5IG9mICN0ZXh0ID4gRElWIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA4
IG9mICN0ZXh0ID4gRElWIHRvIDggb2YgI3RleHQgPiBESVYgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKLUVESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlm
aWNhdGlvbgotRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpy
YW5nZSBmcm9tIDggb2YgI3RleHQgPiBESVYgdG8gOCBvZiAjdGV4dCA+IERJViB0b0RPTVJhbmdl
OnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IERJViB0byA5IG9mICN0ZXh0ID4gRElWIGFmZmluaXR5
Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElU
SU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMCBv
ZiAjdGV4dCA+IERJViB0byAwIG9mICN0ZXh0ID4gRElWIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAw
IG9mICN0ZXh0ID4gRElWIHRvIDAgb2YgI3RleHQgPiBESVYgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElW
IHRvIDAgb2YgI3RleHQgPiBESVYgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDkgb2YgI3RleHQgPiBE
SVYgdG8gOSBvZiAjdGV4dCA+IERJViBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0
cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElU
SU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gOSBv
ZiAjdGV4dCA+IERJViB0byA5IG9mICN0ZXh0ID4gRElWIHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAw
IG9mICN0ZXh0ID4gRElWIHRvIDAgb2YgI3RleHQgPiBESVYgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlm
aWNhdGlvbgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vbnNlbGVj
dC10ZXh0YXJlYS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE4MjczKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0YXJlYS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTQsNyArNCw3IEBAIFRoaXMgYWxzbyBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvcnJlY3Qgc2UK
IAogCiBDYWxsaW5nIGZvY3VzIG9uIHRleHRhcmVhCi1BZnRlciBmb2N1czogdGV4dGFyZWEgc2Vs
ZWN0aW9uIHN0YXJ0OiAzNCBlbmQ6IDM0CitBZnRlciBmb2N1czogdGV4dGFyZWEgc2VsZWN0aW9u
IHN0YXJ0OiAwIGVuZDogMAogCiBDYWxsaW5nIHNldFNlbGVjdGlvblJhbmdlIG9uIHRleHRhcmVh
CiBBZnRlciBzZXRTZWxlY3Rpb25SYW5nZSg1LCAxMCk6IHRleHRhcmVhIHNlbGVjdGlvbiBzdGFy
dDogNSBlbmQ6IDEwCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLWluaXRp
YWwtY2FyZXQtcG9zaXRpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGV4dGFyZWEtaW5pdGlhbC1jYXJldC1wb3NpdGlvbi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLWluaXRpYWwt
Y2FyZXQtcG9zaXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBA
CitUaGlzIHRlc3RzIHRoZSBpbml0aWFsIGNhcmV0IHBvc2l0aW9uIGZvciB0ZXh0YXJlYXMuCisK
K0J1ZyAxMTc0NjogUkVHUkVTU0lPTihyMTQ5MzEpOiBPdXRsb29rIFdlYiBBY2Nlc3MgaW5jb3Jy
ZWN0bHkgcG9zaXRpb25zIHRoZSBpbnNlcnRpb24gcG9pbnQgd2hlbiByZXBseWluZyB0byBlLW1h
aWwKK2h0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzQ2CisKKworUEFT
UyB0YS5zZWxlY3Rpb25TdGFydCBpcyAwCitQQVNTIHRhLnNlbGVjdGlvbkVuZCBpcyAwCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1pbml0aWFsLWNhcmV0LXBvc2l0aW9uLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS1pbml0aWFsLWNh
cmV0LXBvc2l0aW9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RleHRhcmVhLWluaXRpYWwtY2FyZXQtcG9zaXRpb24uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0i
dGV4dC9jc3MiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj4KKzxwPlRoaXMgdGVzdHMgdGhlIGluaXRpYWwgY2FyZXQgcG9zaXRp
b24gZm9yIHRleHRhcmVhcy48L3A+Cis8cD5CdWcgMTE3NDY6IFJFR1JFU1NJT04ocjE0OTMxKTog
T3V0bG9vayBXZWIgQWNjZXNzIGluY29ycmVjdGx5IHBvc2l0aW9ucyB0aGUgaW5zZXJ0aW9uIHBv
aW50IHdoZW4gcmVwbHlpbmcgdG8gZS1tYWlsPGJyPgorPGEgaHJlZj0iaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NDYiPmh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNzQ2PC9hPjwvcD4KKzwvZGl2PgorPGRpdj4KKzx0ZXh0YXJlYSBpZD0i
dGEiIHJvd3M9IjUiIGNvbHM9IjEwIj4KKzEKKzIKKzMKKzQKKzUKKzYKKzcKKzgKKzkKKzEwCis8
L3RleHRhcmVhPgorPC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICB2YXIgdGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGEnKTsKKyAgICB0YS5mb2N1cygpOworICAgIHNob3VsZEJlKCd0YS5zZWxlY3Rpb25TdGFy
dCcsICcwJyk7CisgICAgc2hvdWxkQmUoJ3RhLnNlbGVjdGlvbkVuZCcsICcwJyk7CisgICAgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVh
LW5vLXNjcm9sbC1vbi1ibHVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1uby1zY3JvbGwtb24tYmx1ci5odG1sCShyZXZpc2lvbiAxODI3MykKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtbm8tc2Nyb2xsLW9uLWJsdXIuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtNCw4ICs0LDE0IEBACiAgICAgZnVuY3Rpb24gdGVzdCgpIHsKICAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIAorCiAgICAgICAgIHZh
ciB0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YScpOworCisgICAgICAgIC8vIFNlbmQg
Y2FyZXQgdG8gYm90dG9tIG9mIHRleHRhcmVhCisgICAgICAgIHRhLmZvY3VzKCk7CisgICAgICAg
IHRhLnNldFNlbGVjdGlvblJhbmdlKHRhLnZhbHVlLmxlbmd0aCwgdGEudmFsdWUubGVuZ3RoKTsK
KyAgICAgICAgdGEuYmx1cigpOworCiAgICAgICAgIHRhLmZvY3VzKCk7CiAgICAgICAgIHRhLmJs
dXIoKTsKICAgICAgICAgaWYgKHRhLnNjcm9sbFRvcCAhPSAwKQpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxiYXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLXNjcm9sbGJhci5odG1sCShyZXZpc2lvbiAxODI3MykK
KysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsYmFyLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTIsNyArMiwxMCBAQAogPGhlYWQ+CiAgICAgPHNjcmlwdD4KICAgICBmdW5j
dGlvbiB0ZXN0KCkgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGEnKS5mb2N1
cygpOworICAgICAgICB2YXIgdGEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGEnKTsKKyAg
ICAgICAgdGEuZm9jdXMoKTsKKyAgICAgICAgLy8gU2VuZCBjYXJldCB0byBib3R0b20gb2YgdGV4
dGFyZWEKKyAgICAgICAgdGEuc2V0U2VsZWN0aW9uUmFuZ2UodGEudmFsdWUubGVuZ3RoLCB0YS52
YWx1ZS5sZW5ndGgpOwogICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIs
IGZhbHNlLCAnNScpOwogICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIs
IGZhbHNlLCAnXG4nKTsKICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkluc2VydFRleHQi
LCBmYWxzZSwgJzYnKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtc2Ny
b2xsZWQtZW5kbGluZS1jYXJldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtZW5kbGluZS1jYXJldC5odG1sCShyZXZpc2lvbiAxODI3
MykKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtZW5kbGluZS1j
YXJldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC02LDYgKzYsMTIgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKICAgICB2YXIgdGEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGEnKQogICAgIHZhciByZXMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgncmVzJyk7CisKKyAgICAvLyBTZW5kIGNhcmV0IHRvIGJvdHRvbSBvZiB0
ZXh0YXJlYQorICAgIHRhLmZvY3VzKCk7CisgICAgdGEuc2V0U2VsZWN0aW9uUmFuZ2UodGEudmFs
dWUubGVuZ3RoLCB0YS52YWx1ZS5sZW5ndGgpOworICAgIHRhLmJsdXIoKTsKKwogICAgIHRhLmZv
Y3VzKCk7CiAgICAgLy8gY2xpY2sKICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLXNjcm9sbGVkLXR5cGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhLXNjcm9sbGVkLXR5cGUu
aHRtbAkocmV2aXNpb24gMTgyNzMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVh
LXNjcm9sbGVkLXR5cGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNiw2ICs2LDEyIEBAIGZ1bmN0
aW9uIHRlc3QoKQogewogICAgIHZhciByZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVz
Jyk7CiAgICAgdmFyIHRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhJyk7CisKKyAgICAv
LyBTZW5kIGNhcmV0IHRvIGJvdHRvbSBvZiB0ZXh0YXJlYQorICAgIHRhLmZvY3VzKCk7CisgICAg
dGEuc2V0U2VsZWN0aW9uUmFuZ2UodGEudmFsdWUubGVuZ3RoLCB0YS52YWx1ZS5sZW5ndGgpOwor
ICAgIHRhLmJsdXIoKTsKKwogICAgIHRhLmZvY3VzKCk7CiAgICAgdGEuc2V0U2VsZWN0aW9uUmFu
Z2UoNDQsIDQ0KTsKICAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnICcpOwpAQCAtNDQsNCArNTAs
NCBAQCBUaGlzIHRlc3RzIHRoYXQgdHlwaW5nIGluIGEgc2Nyb2xsZWQgdGV4CiA8YnI+CiA8ZGl2
IGlkPSJyZXMiPjwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODI3MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDYtMTItMTcgIERhdmlkIEtpbHplciAg
PGRka2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3
NDYKKyAgICAgICAgUkVHUkVTU0lPTihyMTQ5MzEpOiBPdXRsb29rIFdlYiBBY2Nlc3MgaW5jb3Jy
ZWN0bHkgcG9zaXRpb25zIHRoZSBpbnNlcnRpb24gcG9pbnQgd2hlbiByZXBseWluZyB0byBlLW1h
aWwKKworICAgICAgICBTZXQgY2FyZXQgYXQgYmVnaW5uaW5nIG9mIHRleHQgb24gaW5pdGlhbCBm
b2N1cy4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3RleHRhcmVhLWluaXRpYWwtY2FyZXQt
cG9zaXRpb24uaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFy
YW5jZSk6CisKIDIwMDYtMTItMTcgIFphY2sgUnVzaW4gIDx6YWNrQGtkZS5vcmc+CiAKICAgICAg
ICAgRml4IGNvbXBpbGF0aW9uIGFmdGVyIHRoZSBjb25zdCBjaGFuZ2VzLgpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTgyNzMpCisrKyBXZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNiwxMCArMjE2
LDEwIEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlRm9jdXNBcHAKICAgICAKICAg
ICBpZiAoY2FjaGVkU2VsU3RhcnQgPT0gLTEpIHsKICAgICAgICAgQVNTRVJUKGNhY2hlZFNlbEVu
ZCA9PSAtMSk7Ci0gICAgICAgIC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IGZvY3VzLCBzZXQgYSBj
YXJldCBhdCB0aGUgZW5kIG9mIHRoZSB0ZXh0LiAgCi0gICAgICAgIC8vIFRoaXMgbWF0Y2hlcyBv
dGhlciBicm93c2VycycgYmVoYXZpb3IuCi0gICAgICAgIGludCBtYXggPSBzdGF0aWNfY2FzdDxS
ZW5kZXJUZXh0Q29udHJvbCo+KHJlbmRlcmVyKCkpLT50ZXh0KCkubGVuZ3RoKCk7Ci0gICAgICAg
IHNldFNlbGVjdGlvblJhbmdlKG1heCwgbWF4KTsKKyAgICAgICAgLy8gSWYgdGhpcyBpcyB0aGUg
Zmlyc3QgZm9jdXMsIHNldCBhIGNhcmV0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRleHQuICAK
KyAgICAgICAgLy8gVGhpcyBtYXRjaGVzIHNvbWUgYnJvd3NlcnMnIGJlaGF2aW9yOyBzZWUgQnVn
emlsbGEgQnVnIDExNzQ2IENvbW1lbnQgIzE1LgorICAgICAgICAvLyBodHRwOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTc0NiNjMTUKKyAgICAgICAgc2V0U2VsZWN0aW9uUmFu
Z2UoMCwgMCk7CiAgICAgfSBlbHNlCiAgICAgICAgIC8vIFJlc3RvcmUgdGhlIGNhY2hlZCBzZWxl
Y3Rpb24uICBUaGlzIG1hdGNoZXMgb3RoZXIgYnJvd3NlcnMnIGJlaGF2aW9yLgogICAgICAgICBz
ZXRTZWxlY3Rpb25SYW5nZShjYWNoZWRTZWxTdGFydCwgY2FjaGVkU2VsRW5kKTsgCg==
</data>
<flag name="review"
          id="4343"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>