<?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>50610</bug_id>
          
          <creation_ts>2010-12-06 18:39:43 -0800</creation_ts>
          <short_desc>REGRESSION(r55990): Shift-End does not select to the end of the line</short_desc>
          <delta_ts>2010-12-21 20:26:12 -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>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>49873</dependson>
    
    <dependson>50944</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Tsui">mtsui</reporter>
          <assigned_to name="Benjamin (Ben) Kalman">kalman</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>srikumar.b</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>318005</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Tsui">mtsui</who>
    <bug_when>2010-12-06 18:39:43 -0800</bug_when>
    <thetext>What steps will reproduce the problem?
1. Place cursor at the start of a line of text (but not the first line) inside a contenteditable that has been wrapped.
2. Press shift-end

What is the expected result?
The selection should expand from the start of the line, to the end of the line.

What happens instead?
The selection jumps to the previous line.


Please provide any additional information below. Attach a screenshot if
possible.
I&apos;ve tested this to be an issue on Linux, and Mac OSX, have not tested windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318012</commentid>
    <comment_count>1</comment_count>
      <attachid>75774</attachid>
    <who name="Mark Tsui">mtsui</who>
    <bug_when>2010-12-06 19:30:13 -0800</bug_when>
    <thetext>Created attachment 75774
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320119</commentid>
    <comment_count>2</comment_count>
    <who name="Srikumar B">srikumar.b</who>
    <bug_when>2010-12-10 06:37:51 -0800</bug_when>
    <thetext>I am able to reproduce the issue on gtk-webkit port also. I will be analyzing the issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320917</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-12 18:47:32 -0800</bug_when>
    <thetext>Caused by https://bugs.webkit.org/show_bug.cgi?id=33413</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320922</commentid>
    <comment_count>4</comment_count>
      <attachid>76346</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-12 20:13:02 -0800</bug_when>
    <thetext>Created attachment 76346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320923</commentid>
    <comment_count>5</comment_count>
      <attachid>76347</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-12 20:19:26 -0800</bug_when>
    <thetext>Created attachment 76347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320924</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-12 20:25:01 -0800</bug_when>
    <thetext>I&apos;ve uploaded two patches; the former extends the little hack from https://bugs.webkit.org/show_bug.cgi?id=33413 to work here too, while the latter (imo the nicer but more invasive approach) changes positionForPlatform to use visibleEnd/visibleStart rather than end/start (which also makes the fix from 33413 unnecessary).

I&apos;ll write a couple of tests now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320933</commentid>
    <comment_count>7</comment_count>
      <attachid>76350</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-12 21:21:06 -0800</bug_when>
    <thetext>Created attachment 76350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320935</commentid>
    <comment_count>8</comment_count>
      <attachid>76351</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-12 21:28:23 -0800</bug_when>
    <thetext>Created attachment 76351
patch with test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320953</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-13 00:21:30 -0800</bug_when>
    <thetext>I believe this is a mac vs. windows thing and will need to be guarded by the editing behavior setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321033</commentid>
    <comment_count>10</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-13 04:03:55 -0800</bug_when>
    <thetext>Do you mean beyond what is already guarded?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321154</commentid>
    <comment_count>11</comment_count>
      <attachid>76351</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 09:28:11 -0800</bug_when>
    <thetext>Comment on attachment 76351
patch with test case

Clearing flags on attachment: 76351

Committed r73923: &lt;http://trac.webkit.org/changeset/73923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321155</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 09:28:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321195</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 10:09:21 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/73923 might have broken Qt Linux Release
The following tests are not passing:
editing/selection/extend-selection-home-end.html
editing/selection/extend-to-line-boundary.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321237</commentid>
    <comment_count>14</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-12-13 10:44:19 -0800</bug_when>
    <thetext>Rolled out in https://bugs.webkit.org/show_bug.cgi?id=50944. Please investigate the Win/Linux failure. I took a quick look and I *think* it&apos;s a real failure and not just a test issue, but I&apos;m not 100% sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321404</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-13 14:13:55 -0800</bug_when>
    <thetext>http://build.webkit.org/results/Windows%207%20Release%20(Tests)/r73923%20(7370)/editing/selection/extend-selection-home-end-pretty-diff.html

--- /home/buildbot/slave/WebKit-BuildSlave/win-release-tests/build/layout-test-results/editing/selection/extend-selection-home-end-expected.txt	2010-12-13 16:42:59.274773600 -0800
+++ /home/buildbot/slave/WebKit-BuildSlave/win-release-tests/build/layout-test-results/editing/selection/extend-selection-home-end-actual.txt	2010-12-13 16:42:59.273773500 -0800
@@ -124,14 +124,14 @@
   Extending backward:  &quot;ABC abc DEF&quot;[(0,11), (0,0)]
 Test 21, LTR:
   Extending forward: &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,0), (0,8)]
-  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8)]
+  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8), (0,0)]
 Test 21, RTL:
   Extending forward: &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,0), (0,8)]
-  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8)]
+  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8), (0,0)]
 Test 22, LTR:
   Extending forward: &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,0), (0,8)]
-  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8)]
+  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8), (0,0)]
 Test 22, RTL:
   Extending forward: &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,0), (0,8)]
-  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8)]
+  Extending backward:  &quot;abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg &quot;[(0,8), (0,0)]
 
This result seems an improvement to me.  We should just rebaseline the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321415</commentid>
    <comment_count>16</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-13 14:24:51 -0800</bug_when>
    <thetext>Sorry for not noticing these when I was running the tests myself, there didn&apos;t seem to be any changes in behaviour :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321724</commentid>
    <comment_count>17</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-14 00:06:53 -0800</bug_when>
    <thetext>I&apos;ve run the offending tests locally on the two platforms I have, snow leopard and gtk.  Both (a) run the new test fine, and (b) don&apos;t change the result of editing/selection/extend-selection-home-end.html.

So it&apos;s strange that it fails on qt and windows.  I would have thought these changes are platform independent.  I guess I&apos;ll need to figure out how to build and run/test this stuff on windows, in order to debug it?  It doesn&apos;t really help that the extend-selection-home-end test is rather unhelpful in describing what happened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322929</commentid>
    <comment_count>18</comment_count>
      <attachid>76710</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-15 16:44:41 -0800</bug_when>
    <thetext>Created attachment 76710
Demonstration of failing test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322937</commentid>
    <comment_count>19</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-15 16:51:18 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Created an attachment (id=76710) [details]
&gt; Demonstration of failing test

(In reply to comment #17)
&gt; I&apos;ve run the offending tests locally on the two platforms I have, snow leopard and gtk.  Both (a) run the new test fine, and (b) don&apos;t change the result of editing/selection/extend-selection-home-end.html.
&gt; 
&gt; So it&apos;s strange that it fails on qt and windows.  I would have thought these changes are platform independent.  I guess I&apos;ll need to figure out how to build and run/test this stuff on windows, in order to debug it?  It doesn&apos;t really help that the extend-selection-home-end test is rather unhelpful in describing what happened.

I&apos;ve now looked into this, and attached a plain-html version of the &quot;failing&quot; test.  As Ryosuke said, the new behaviour is indeed correct; to see this:
 1. open the test, click at the start of either div
 2. press shift+end (on windows/linux) or (because end behaves weirdly on mac), on mac, type in the console
    - set(at())
    - el(&quot;forward&quot;)
 3. the first line should be highlighted
 4. press shift+home (on windows/linux) or on mac
    - el(&quot;backward&quot;)
Unexpectedly, the selection doesn&apos;t change.  /With/ this patch, the selection changes to be back at the start of the line.

The exception is actually the mac, the behaviour for which doesn&apos;t change as it does on window/linux.  I presume this has something to do with the explicit differences on how selections are made on mac, i.e.

if (settings &amp;&amp; settings-&gt;editingBehaviorType() == EditingMacBehavior)
    pos = isGetStart ? m_selection.start() : m_selection.end();
    return isGetStart ? m_selection.visibleStart() : m_selection.visibleEnd();
} else {
    pos = m_selection.isBaseFirst() ? m_selection.end() : m_selection.start();
    return m_selection.isBaseFirst() ? m_selection.visibleEnd() : m_selection.visibleStart();
}

In conclusion: I&apos;ll upload a new version of this patch which includes the new baseline for the test that broke last time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322942</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-15 16:56:40 -0800</bug_when>
    <thetext>FWIW, there is https://bugs.webkit.org/show_bug.cgi?id=49873.  We could fix that bug first so that we&apos;ll have shower rebaselines to deal with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322943</commentid>
    <comment_count>21</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-15 16:57:11 -0800</bug_when>
    <thetext>s/shower/fewer/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322955</commentid>
    <comment_count>22</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-15 17:07:29 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; FWIW, there is https://bugs.webkit.org/show_bug.cgi?id=49873.  We could fix that bug first so that we&apos;ll have shower rebaselines to deal with.

Ok cool I&apos;ll do that first, if you assign the bug to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324336</commentid>
    <comment_count>23</comment_count>
      <attachid>76987</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-20 05:03:25 -0800</bug_when>
    <thetext>Created attachment 76987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324440</commentid>
    <comment_count>24</comment_count>
      <attachid>76987</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-20 10:17:09 -0800</bug_when>
    <thetext>Comment on attachment 76987
Patch

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

Code change looks good but we definitely need a detailed description on what you&apos;re changing and why.

&gt; LayoutTests/ChangeLog:7
&gt; +

Please explain your change.

&gt; WebCore/ChangeLog:7
&gt; +

Please explain what you&apos;re testing and/or your code change.

&gt; WebCore/editing/SelectionController.cpp:315
&gt;      else {
&gt;          // Linux and Windows always extend selections from the extent endpoint.
&gt;          // FIXME: VisibleSelection should be fixed to ensure as an invariant that
&gt;          // base/extent always point to the same nodes as start/end, but which points
&gt;          // to which depends on the value of isBaseFirst. Then this can be changed
&gt;          // to just return m_sel.extent().
&gt; -        pos = m_selection.isBaseFirst() ? m_selection.end() : m_selection.start();
&gt; +        return m_selection.isBaseFirst() ? m_selection.visibleEnd() : m_selection.visibleStart();
&gt;      }

Nit: we don&apos;t put an else statement when the proceeding if statement ends with return.

&gt; WebCore/editing/SelectionController.cpp:386
&gt; -        pos = endForPlatform();
&gt; -        pos.setAffinity(UPSTREAM);
&gt; -        pos = logicalEndOfLine(pos);
&gt; +        pos = logicalEndOfLine(endForPlatform());

These statements are introduced in http://trac.webkit.org/changeset/55990 but your change seems to be an improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324638</commentid>
    <comment_count>25</comment_count>
      <attachid>76987</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-12-20 16:24:34 -0800</bug_when>
    <thetext>Comment on attachment 76987
Patch

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

&gt;&gt; WebCore/editing/SelectionController.cpp:315
&gt;&gt;      }
&gt; 
&gt; Nit: we don&apos;t put an else statement when the proceeding if statement ends with return.

I agree with Ryosuke. We definitely don&apos;t want to see the else in a case like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324639</commentid>
    <comment_count>26</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-12-20 16:25:09 -0800</bug_when>
    <thetext>The change looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324647</commentid>
    <comment_count>27</comment_count>
      <attachid>77052</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-20 16:36:02 -0800</bug_when>
    <thetext>Created attachment 77052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324654</commentid>
    <comment_count>28</comment_count>
      <attachid>77052</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-20 16:44:34 -0800</bug_when>
    <thetext>Comment on attachment 77052
Patch

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

The code change looks good to me. You should fix LayoutTests/ChangeLog and the test so that it passes on all platforms.

&gt; LayoutTests/ChangeLog:9
&gt; +        Add regression test that shift-end selects to the end of the line, and rebaseline a test
&gt; +        which had incorrect expected results.

You should explain what was incorrect and *why* new expected results are correct.

&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:6
&gt; +  #textContainer {
&gt; +    width: 200px;
&gt; +  }

This test is going to fail on all other platforms except the one you used to make this test because font metrics are different on each platform.  You should consider using Ahem font.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324747</commentid>
    <comment_count>29</comment_count>
      <attachid>77079</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-20 20:20:09 -0800</bug_when>
    <thetext>Created attachment 77079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324835</commentid>
    <comment_count>30</comment_count>
      <attachid>77079</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-20 22:57:43 -0800</bug_when>
    <thetext>Comment on attachment 77079
Patch

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

LGTM assuming that you address the following comments in some way.

&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:2
&gt; +

No need for a blank line.

&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:21
&gt; +      div.setAttribute(&quot;contenteditable&quot;, &quot;true&quot;);

You can do div.contentEditable = true.

&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:28
&gt; +      getSelection().setBaseAndExtent(element.childNodes[0], 0);

You should be calling setPosition if you&apos;re not passing the endContainer and endOffset.

&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:39
&gt; +  ltrText = &quot;the quick brown fox jumps&quot;;
&gt; +  ltrTextContainer = createEditableMultilineDiv(ltrText, 3);
&gt; +  document.body.appendChild(ltrTextContainer);
&gt; +  selectSecondLine(ltrTextContainer);
&gt; +  Markup.dump(ltrTextContainer, &quot;LTR selection&quot;);

I would have checked offset and printed PASS/FAIL so that other people can easily know when it&apos;s regressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324934</commentid>
    <comment_count>31</comment_count>
      <attachid>77100</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-21 04:12:06 -0800</bug_when>
    <thetext>Created attachment 77100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324935</commentid>
    <comment_count>32</comment_count>
      <attachid>77079</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-21 04:12:49 -0800</bug_when>
    <thetext>Comment on attachment 77079
Patch

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

&gt;&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:39
&gt;&gt; +  Markup.dump(ltrTextContainer, &quot;LTR selection&quot;);
&gt; 
&gt; I would have checked offset and printed PASS/FAIL so that other people can easily know when it&apos;s regressed.

Which particular way of writing tests would you use to do that?  It&apos;s not easy to print stuff with Markup, but it&apos;s nice seeing what&apos;s actually selected (e.g. given a test failure seeing where the cursor actually is rather than just a FAIL or &quot;&quot; or something).  The description on the test should be ok to see regressions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325031</commentid>
    <comment_count>33</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-21 08:55:08 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 77079 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77079&amp;action=review
&gt; &gt; I would have checked offset and printed PASS/FAIL so that other people can easily know when it&apos;s regressed.
&gt; 
&gt; Which particular way of writing tests would you use to do that?  It&apos;s not easy to print stuff with Markup, but it&apos;s nice seeing what&apos;s actually selected (e.g. given a test failure seeing where the cursor actually is rather than just a FAIL or &quot;&quot; or something).  The description on the test should be ok to see regressions?

You could just call dumpAsText manually and print text.  I think dump-as-markup.js is useful only if you&apos;re interested in seeing how DOM changed.  In the case where we&apos;re only interested in seeing the selection, and we know exactly which container/offset pairs the first range has, I prefer comparing the result in script.

My problem with your test is that it doesn&apos;t tells us what is expected and what is not in the output.  Say your test output changed and had a diff:
-| &quot;the quick brown fox jumps &lt;#selection-anchor&gt;the quick brown fox jumps &lt;#selection-focus&gt;the quick brown fox jumps&quot;
+| &quot;the quick brown fox jumps&lt;#selection-anchor&gt; the quick brown fox jumps&lt;#selection-focus&gt; the quick brown fox jumps&quot;

How do we know if this is a regression or just needing a rebaseline?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325281</commentid>
    <comment_count>34</comment_count>
      <attachid>77169</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-21 17:18:32 -0800</bug_when>
    <thetext>Created attachment 77169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325282</commentid>
    <comment_count>35</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-21 17:20:09 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; (In reply to comment #32)
&gt; &gt; (From update of attachment 77079 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77079&amp;action=review
&gt; &gt; &gt; I would have checked offset and printed PASS/FAIL so that other people can easily know when it&apos;s regressed.
&gt; &gt; 
&gt; &gt; Which particular way of writing tests would you use to do that?  It&apos;s not easy to print stuff with Markup, but it&apos;s nice seeing what&apos;s actually selected (e.g. given a test failure seeing where the cursor actually is rather than just a FAIL or &quot;&quot; or something).  The description on the test should be ok to see regressions?
&gt; 
&gt; You could just call dumpAsText manually and print text.  I think dump-as-markup.js is useful only if you&apos;re interested in seeing how DOM changed.  In the case where we&apos;re only interested in seeing the selection, and we know exactly which container/offset pairs the first range has, I prefer comparing the result in script.
&gt; 
&gt; My problem with your test is that it doesn&apos;t tells us what is expected and what is not in the output.  Say your test output changed and had a diff:
&gt; -| &quot;the quick brown fox jumps &lt;#selection-anchor&gt;the quick brown fox jumps &lt;#selection-focus&gt;the quick brown fox jumps&quot;
&gt; +| &quot;the quick brown fox jumps&lt;#selection-anchor&gt; the quick brown fox jumps&lt;#selection-focus&gt; the quick brown fox jumps&quot;
&gt; 
&gt; How do we know if this is a regression or just needing a rebaseline?

Thanks, I&apos;ve modified the test to use dumpAsText and print PASS/FAIL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325288</commentid>
    <comment_count>36</comment_count>
      <attachid>77169</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-21 17:29:33 -0800</bug_when>
    <thetext>Comment on attachment 77169
Patch

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

Thanks! LGTM. Please wait for a formal review :)

&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:8
&gt; +&lt;script&gt;
&gt; +    function log(s) {
&gt; +        document.getElementById(&quot;console&quot;).innerHTML += s + &quot;\n&quot;;
&gt; +    }
&gt; +

Nit: I don&apos;t think you need to indent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325289</commentid>
    <comment_count>37</comment_count>
      <attachid>77169</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-21 17:31:18 -0800</bug_when>
    <thetext>Comment on attachment 77169
Patch

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

&gt;&gt; LayoutTests/editing/selection/extend-to-line-boundary.html:8
&gt;&gt; +
&gt; 
&gt; Nit: I don&apos;t think you need to indent.

heh, ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325293</commentid>
    <comment_count>38</comment_count>
      <attachid>77171</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2010-12-21 17:33:39 -0800</bug_when>
    <thetext>Created attachment 77171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325295</commentid>
    <comment_count>39</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-21 17:34:57 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; Created an attachment (id=77171) [details]
&gt; Patch

My LGTM withstands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325345</commentid>
    <comment_count>40</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-21 19:43:33 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 77171:

inspector/extensions-audits-api.html bug 51442 (author: caseq@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325346</commentid>
    <comment_count>41</comment_count>
      <attachid>77171</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-21 19:45:06 -0800</bug_when>
    <thetext>Comment on attachment 77171
Patch

Clearing flags on attachment: 77171

Committed r74452: &lt;http://trac.webkit.org/changeset/74452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325347</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-21 19:45:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325359</commentid>
    <comment_count>43</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-21 20:26:12 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74452 might have broken Qt Linux Release
The following tests are not passing:
editing/selection/extend-to-line-boundary.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>75774</attachid>
            <date>2010-12-06 19:30:13 -0800</date>
            <delta_ts>2010-12-06 19:30:13 -0800</delta_ts>
            <desc>test case</desc>
            <filename>shiftend.html</filename>
            <type>text/html</type>
            <size>287</size>
            <attacher name="Mark Tsui">mtsui</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgPGJvZHkgY29udGVudGVkaXRhYmxlPSIiPgogICAgPGRpdiBzdHlsZT0id2lkdGg6
IDE1MHB4OyI+CiAgICAgIEhlbGxvLCB0aGlzIGlzIHNvbWUgdGV4dC4gUGxhY2UgdGhlIGN1cnNv
ciBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGFuZCBwcmVzcyBzaGlmdC1lbmQuIEl0IHNob3VsZCBz
ZWxlY3QgdG8gdGhlIGVuZCBvZiB0aGUgbGluZSwgYnV0IGluIENocm9tZSwgaXQganVtcHMgdG8g
dGhlIGVuZCBvZiB0aGUgcHJldmlvdXMgbGluZS4KICAgIDwvZGl2PgogIDwvYm9keT4KPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76346</attachid>
            <date>2010-12-12 20:13:02 -0800</date>
            <delta_ts>2010-12-12 20:19:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101213151259.patch</filename>
            <type>text/plain</type>
            <size>1432</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTRkYjIxMmM3MDZlYmIxMDYzN2ExMmM3MzQyOTNhOTQ0N2U0YzdlMC4uZDE2YjZiZjdhMDE2MTli
MTkyNTk5ZTUwNDY0NzcxYTY0MTU3YjcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMi0xMiAgQmVu
amFtaW4gS2FsbWFuICA8a2FsbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGlmdC1FbmQgZG9lcyBub3Qgc2VsZWN0IHRv
IHRoZSBlbmQgb2YgdGhlIGxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUwNjEwCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAg
ICAgICAgKiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOiBFeHRlbmQgdGhlIHNlbGVj
dGlvbiB1c2luZyB0aGUgZGVmYXVsdCBhZmZpbml0eSB1bmxlc3MKKyAgICAgICAgaXQncyBhbHJl
YWR5IGEgcmFuZ2UgKG90aGVyd2lzZSB1c2UgZXhpc3RpbmcgYWZmaW5pdHkpLgorICAgICAgICAo
V2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6bW9kaWZ5RXh0ZW5kaW5nRm9yd2FyZCk6CisK
IDIwMTAtMTItMDkgIEphc21pbiBMYXBhbG1lICA8amxhcGFsbWVAZHJ1aWRlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVj
dGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGJjMDA0NDIzNmNhNGZkNjg2NmZjNTVjZDliNDAxMzU0
N2IzMTI2ZTAuLjkwMjhmMTZlZmFlMGQ4ODVkNDcyNjIyMDAzYzgyNzNhYjJhNzZmMTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAorKysgYi9XZWJD
b3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKQEAgLTM4Niw3ICszODYsNyBAQCBW
aXNpYmxlUG9zaXRpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6bW9kaWZ5RXh0ZW5kaW5nRm9yd2Fy
ZChUZXh0R3JhbnVsYXJpdHkgZ3JhbgogICAgICAgICBicmVhazsKICAgICBjYXNlIExpbmVCb3Vu
ZGFyeToKICAgICAgICAgcG9zID0gZW5kRm9yUGxhdGZvcm0oKTsKLSAgICAgICAgcG9zLnNldEFm
ZmluaXR5KFVQU1RSRUFNKTsKKyAgICAgICAgcG9zLnNldEFmZmluaXR5KG1fc2VsZWN0aW9uLmlz
UmFuZ2UoKSA/IFVQU1RSRUFNIDogcG9zLmFmZmluaXR5KCkpOwogICAgICAgICBwb3MgPSBsb2dp
Y2FsRW5kT2ZMaW5lKHBvcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFyYWdyYXBoQm91
bmRhcnk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76347</attachid>
            <date>2010-12-12 20:19:26 -0800</date>
            <delta_ts>2010-12-12 21:20:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101213151922.patch</filename>
            <type>text/plain</type>
            <size>2689</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTRkYjIxMmM3MDZlYmIxMDYzN2ExMmM3MzQyOTNhOTQ0N2U0YzdlMC4uZjU2Nzg4Y2U2YzZiZmI2
NTZkZjdlMDRmMzI2OGY4MTkwYmNlMGMwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMi0xMiAgQmVu
amFtaW4gS2FsbWFuICA8a2FsbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGlmdC1FbmQgZG9lcyBub3Qgc2VsZWN0IHRv
IHRoZSBlbmQgb2YgdGhlIGxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUwNjEwCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAg
ICAgICAgKiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25Gb3JQbGF0Zm9ybSk6IFVzZSB2aXNpYmxl
U3RhcnQvdmlzaWJsZUVuZCByYXRoZXIgdGhhbgorICAgICAgICBzdGFydC9lbmQuCisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKToK
KwogMjAxMC0xMi0wOSAgSmFzbWluIExhcGFsbWUgIDxqbGFwYWxtZUBkcnVpZGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggYmMwMDQ0MjM2Y2E0ZmQ2ODY2ZmM1NWNkOWI0MDEz
NTQ3YjMxMjZlMC4uM2NjODg1OWQ2NTJkNDZmN2I1MzlkNGI4MDFlNzgwYWY1MWM2NTg2NSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcApAQCAtMzAyLDE5ICszMDIsMTcg
QEAgVGV4dERpcmVjdGlvbiBTZWxlY3Rpb25Db250cm9sbGVyOjpkaXJlY3Rpb25PZkVuY2xvc2lu
Z0Jsb2NrKCkKIAogVmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OnBvc2l0aW9u
Rm9yUGxhdGZvcm0oYm9vbCBpc0dldFN0YXJ0KSBjb25zdAogewotICAgIFBvc2l0aW9uIHBvczsK
ICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2ZyYW1lID8gbV9mcmFtZS0+c2V0dGluZ3MoKSA6
IDA7CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT5lZGl0aW5nQmVoYXZpb3JUeXBlKCkg
PT0gRWRpdGluZ01hY0JlaGF2aW9yKQotICAgICAgICBwb3MgPSBpc0dldFN0YXJ0ID8gbV9zZWxl
Y3Rpb24uc3RhcnQoKSA6IG1fc2VsZWN0aW9uLmVuZCgpOworICAgICAgICByZXR1cm4gaXNHZXRT
dGFydCA/IG1fc2VsZWN0aW9uLnZpc2libGVTdGFydCgpIDogbV9zZWxlY3Rpb24udmlzaWJsZUVu
ZCgpOwogICAgIGVsc2UgewogICAgICAgICAvLyBMaW51eCBhbmQgV2luZG93cyBhbHdheXMgZXh0
ZW5kIHNlbGVjdGlvbnMgZnJvbSB0aGUgZXh0ZW50IGVuZHBvaW50LgogICAgICAgICAvLyBGSVhN
RTogVmlzaWJsZVNlbGVjdGlvbiBzaG91bGQgYmUgZml4ZWQgdG8gZW5zdXJlIGFzIGFuIGludmFy
aWFudCB0aGF0CiAgICAgICAgIC8vIGJhc2UvZXh0ZW50IGFsd2F5cyBwb2ludCB0byB0aGUgc2Ft
ZSBub2RlcyBhcyBzdGFydC9lbmQsIGJ1dCB3aGljaCBwb2ludHMKICAgICAgICAgLy8gdG8gd2hp
Y2ggZGVwZW5kcyBvbiB0aGUgdmFsdWUgb2YgaXNCYXNlRmlyc3QuIFRoZW4gdGhpcyBjYW4gYmUg
Y2hhbmdlZAogICAgICAgICAvLyB0byBqdXN0IHJldHVybiBtX3NlbC5leHRlbnQoKS4KLSAgICAg
ICAgcG9zID0gbV9zZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSA/IG1fc2VsZWN0aW9uLmVuZCgpIDog
bV9zZWxlY3Rpb24uc3RhcnQoKTsKKyAgICAgICAgcmV0dXJuIG1fc2VsZWN0aW9uLmlzQmFzZUZp
cnN0KCkgPyBtX3NlbGVjdGlvbi52aXNpYmxlRW5kKCkgOiBtX3NlbGVjdGlvbi52aXNpYmxlU3Rh
cnQoKTsKICAgICB9Ci0gICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihwb3MsIG1fc2VsZWN0aW9u
LmFmZmluaXR5KCkpOwogfQogCiBWaXNpYmxlUG9zaXRpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6
c3RhcnRGb3JQbGF0Zm9ybSgpIGNvbnN0CkBAIC0zODUsOSArMzgzLDcgQEAgVmlzaWJsZVBvc2l0
aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6Om1vZGlmeUV4dGVuZGluZ0ZvcndhcmQoVGV4dEdyYW51
bGFyaXR5IGdyYW4KICAgICAgICAgcG9zID0gZW5kT2ZTZW50ZW5jZShlbmRGb3JQbGF0Zm9ybSgp
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMaW5lQm91bmRhcnk6Ci0gICAgICAgIHBvcyA9
IGVuZEZvclBsYXRmb3JtKCk7Ci0gICAgICAgIHBvcy5zZXRBZmZpbml0eShVUFNUUkVBTSk7Ci0g
ICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUocG9zKTsKKyAgICAgICAgcG9zID0gbG9naWNh
bEVuZE9mTGluZShlbmRGb3JQbGF0Zm9ybSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
YXJhZ3JhcGhCb3VuZGFyeToKICAgICAgICAgcG9zID0gZW5kT2ZQYXJhZ3JhcGgoZW5kRm9yUGxh
dGZvcm0oKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76350</attachid>
            <date>2010-12-12 21:21:06 -0800</date>
            <delta_ts>2010-12-12 21:28:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101213162103.patch</filename>
            <type>text/plain</type>
            <size>5072</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZmMxMmIyMjExYjFiY2MxNjE5NTRmNmI5OGMyZmNkNjlhZmRjZTkxLi40MzMyODVj
MjZkMGFjYzkxN2JhZjNkZGIyZDhkMDBlZDM0OTU3NjEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTItMTIgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sOiBB
ZGRlZC4KKwogMjAxMC0xMi0wOSAgSmFzbWluIExhcGFsbWUgIDxqbGFwYWxtZUBkcnVpZGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGlu
ZS1ib3VuZGFyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg0YjE2N2NiNGU1OGFmNTY4Mzg2
ZGVmOGEwZWE2YzgxNDk3MjcyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDQgQEAKK1Rlc3RzIHNlbGVjdGluZyBmcm9tIHRoZSBzdGFydCBvZiBhIGxpbmUgdG8gdGhl
IGVuZCB1c2luZyBsaW5lYm91bmRhcnkKK3wgIgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IDwjc2VsZWN0aW9uLWFuY2hvcj5jb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgPCNz
ZWxlY3Rpb24tZm9jdXM+ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQg
ZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlk
YzMxYTdjYjViNTJmNjExZTU0NzIwNGNmYjI4ZjY1Zjk5ZjZkMmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5o
dG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICN0ZXh0
Q29udGFpbmVyIHsKKyAgICB3aWR0aDogMjAwcHg7CisgIH0KKzwvc3R5bGU+CisKKzxkaXYgY29u
dGVudGVkaXRhYmxlIGlkPSJ0ZXh0Q29udGFpbmVyIj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKzwvZGl2PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisgIHRleHRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4
dENvbnRhaW5lciIpOworICB0ZXh0ID0gdGV4dENvbnRhaW5lci5jaGlsZE5vZGVzWzBdOworCisg
IGdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGV4dCwgMCk7CisgIGdldFNlbGVjdGlv
bigpLm1vZGlmeSgibW92ZSIsICJmb3J3YXJkIiwgImxpbmUiKTsKKyAgZ2V0U2VsZWN0aW9uKCku
bW9kaWZ5KCJleHRlbmQiLCAiZm9yd2FyZCIsICJsaW5lYm91bmRhcnkiKTsKKworICBNYXJrdXAu
ZGVzY3JpcHRpb24oIlRlc3RzIHNlbGVjdGluZyBmcm9tIHRoZSBzdGFydCBvZiBhIGxpbmUgdG8g
dGhlIGVuZCB1c2luZyBsaW5lYm91bmRhcnkiKTsKKyAgTWFya3VwLmR1bXAodGV4dENvbnRhaW5l
cik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggYTRkYjIxMmM3MDZlYmIxMDYzN2ExMmM3MzQyOTNhOTQ0N2U0YzdlMC4u
NTYxYjgzMjg1MDNjMTVmYTBmZGNjYjRkODk3YzZkNWEwYmUzODA2OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxMC0xMi0xMiAgQmVuamFtaW4gS2FsbWFuICA8a2FsbWFuQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGlmdC1FbmQgZG9l
cyBub3Qgc2VsZWN0IHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNjEwCisKKyAgICAgICAgVGVzdDogZWRpdGlu
Zy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnkuaHRtbAorCisgICAgICAgICogZWRp
dGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdGlv
bkNvbnRyb2xsZXI6OnBvc2l0aW9uRm9yUGxhdGZvcm0pOiBVc2UgdmlzaWJsZVN0YXJ0L3Zpc2li
bGVFbmQgcmF0aGVyIHRoYW4KKyAgICAgICAgc3RhcnQvZW5kLgorICAgICAgICAoV2ViQ29yZTo6
U2VsZWN0aW9uQ29udHJvbGxlcjo6bW9kaWZ5RXh0ZW5kaW5nRm9yd2FyZCk6CisKIDIwMTAtMTIt
MDkgIEphc21pbiBMYXBhbG1lICA8amxhcGFsbWVAZHJ1aWRlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRy
b2xsZXIuY3BwCmluZGV4IGJjMDA0NDIzNmNhNGZkNjg2NmZjNTVjZDliNDAxMzU0N2IzMTI2ZTAu
LjNjYzg4NTlkNjUyZDQ2ZjdiNTM5ZDRiODAxZTc4MGFmNTFjNjU4NjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2VkaXRp
bmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKQEAgLTMwMiwxOSArMzAyLDE3IEBAIFRleHREaXJl
Y3Rpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6ZGlyZWN0aW9uT2ZFbmNsb3NpbmdCbG9jaygpCiAK
IFZpc2libGVQb3NpdGlvbiBTZWxlY3Rpb25Db250cm9sbGVyOjpwb3NpdGlvbkZvclBsYXRmb3Jt
KGJvb2wgaXNHZXRTdGFydCkgY29uc3QKIHsKLSAgICBQb3NpdGlvbiBwb3M7CiAgICAgU2V0dGlu
Z3MqIHNldHRpbmdzID0gbV9mcmFtZSA/IG1fZnJhbWUtPnNldHRpbmdzKCkgOiAwOwogICAgIGlm
IChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+ZWRpdGluZ0JlaGF2aW9yVHlwZSgpID09IEVkaXRpbmdN
YWNCZWhhdmlvcikKLSAgICAgICAgcG9zID0gaXNHZXRTdGFydCA/IG1fc2VsZWN0aW9uLnN0YXJ0
KCkgOiBtX3NlbGVjdGlvbi5lbmQoKTsKKyAgICAgICAgcmV0dXJuIGlzR2V0U3RhcnQgPyBtX3Nl
bGVjdGlvbi52aXNpYmxlU3RhcnQoKSA6IG1fc2VsZWN0aW9uLnZpc2libGVFbmQoKTsKICAgICBl
bHNlIHsKICAgICAgICAgLy8gTGludXggYW5kIFdpbmRvd3MgYWx3YXlzIGV4dGVuZCBzZWxlY3Rp
b25zIGZyb20gdGhlIGV4dGVudCBlbmRwb2ludC4KICAgICAgICAgLy8gRklYTUU6IFZpc2libGVT
ZWxlY3Rpb24gc2hvdWxkIGJlIGZpeGVkIHRvIGVuc3VyZSBhcyBhbiBpbnZhcmlhbnQgdGhhdAog
ICAgICAgICAvLyBiYXNlL2V4dGVudCBhbHdheXMgcG9pbnQgdG8gdGhlIHNhbWUgbm9kZXMgYXMg
c3RhcnQvZW5kLCBidXQgd2hpY2ggcG9pbnRzCiAgICAgICAgIC8vIHRvIHdoaWNoIGRlcGVuZHMg
b24gdGhlIHZhbHVlIG9mIGlzQmFzZUZpcnN0LiBUaGVuIHRoaXMgY2FuIGJlIGNoYW5nZWQKICAg
ICAgICAgLy8gdG8ganVzdCByZXR1cm4gbV9zZWwuZXh0ZW50KCkuCi0gICAgICAgIHBvcyA9IG1f
c2VsZWN0aW9uLmlzQmFzZUZpcnN0KCkgPyBtX3NlbGVjdGlvbi5lbmQoKSA6IG1fc2VsZWN0aW9u
LnN0YXJ0KCk7CisgICAgICAgIHJldHVybiBtX3NlbGVjdGlvbi5pc0Jhc2VGaXJzdCgpID8gbV9z
ZWxlY3Rpb24udmlzaWJsZUVuZCgpIDogbV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCk7CiAgICAg
fQotICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9zLCBtX3NlbGVjdGlvbi5hZmZpbml0eSgp
KTsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OnN0YXJ0Rm9yUGxh
dGZvcm0oKSBjb25zdApAQCAtMzg1LDkgKzM4Myw3IEBAIFZpc2libGVQb3NpdGlvbiBTZWxlY3Rp
b25Db250cm9sbGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKFRleHRHcmFudWxhcml0eSBncmFu
CiAgICAgICAgIHBvcyA9IGVuZE9mU2VudGVuY2UoZW5kRm9yUGxhdGZvcm0oKSk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgTGluZUJvdW5kYXJ5OgotICAgICAgICBwb3MgPSBlbmRGb3JQbGF0
Zm9ybSgpOwotICAgICAgICBwb3Muc2V0QWZmaW5pdHkoVVBTVFJFQU0pOwotICAgICAgICBwb3Mg
PSBsb2dpY2FsRW5kT2ZMaW5lKHBvcyk7CisgICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUo
ZW5kRm9yUGxhdGZvcm0oKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFyYWdyYXBoQm91
bmRhcnk6CiAgICAgICAgIHBvcyA9IGVuZE9mUGFyYWdyYXBoKGVuZEZvclBsYXRmb3JtKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76351</attachid>
            <date>2010-12-12 21:28:23 -0800</date>
            <delta_ts>2010-12-20 05:03:16 -0800</delta_ts>
            <desc>patch with test case</desc>
            <filename>bug-50610-20101213162820.patch</filename>
            <type>text/plain</type>
            <size>5072</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZmMxMmIyMjExYjFiY2MxNjE5NTRmNmI5OGMyZmNkNjlhZmRjZTkxLi40MzMyODVj
MjZkMGFjYzkxN2JhZjNkZGIyZDhkMDBlZDM0OTU3NjEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTItMTIgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sOiBB
ZGRlZC4KKwogMjAxMC0xMi0wOSAgSmFzbWluIExhcGFsbWUgIDxqbGFwYWxtZUBkcnVpZGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGlu
ZS1ib3VuZGFyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg0YjE2N2NiNGU1OGFmNTY4Mzg2
ZGVmOGEwZWE2YzgxNDk3MjcyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDQgQEAKK1Rlc3RzIHNlbGVjdGluZyBmcm9tIHRoZSBzdGFydCBvZiBhIGxpbmUgdG8gdGhl
IGVuZCB1c2luZyBsaW5lYm91bmRhcnkKK3wgIgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IDwjc2VsZWN0aW9uLWFuY2hvcj5jb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgPCNz
ZWxlY3Rpb24tZm9jdXM+ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQg
ZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlk
YzMxYTdjYjViNTJmNjExZTU0NzIwNGNmYjI4ZjY1Zjk5ZjZkMmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5o
dG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+CisgICN0ZXh0
Q29udGFpbmVyIHsKKyAgICB3aWR0aDogMjAwcHg7CisgIH0KKzwvc3R5bGU+CisKKzxkaXYgY29u
dGVudGVkaXRhYmxlIGlkPSJ0ZXh0Q29udGFpbmVyIj4KK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKzwvZGl2PgorCis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisgIHRleHRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4
dENvbnRhaW5lciIpOworICB0ZXh0ID0gdGV4dENvbnRhaW5lci5jaGlsZE5vZGVzWzBdOworCisg
IGdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGV4dCwgMCk7CisgIGdldFNlbGVjdGlv
bigpLm1vZGlmeSgibW92ZSIsICJmb3J3YXJkIiwgImxpbmUiKTsKKyAgZ2V0U2VsZWN0aW9uKCku
bW9kaWZ5KCJleHRlbmQiLCAiZm9yd2FyZCIsICJsaW5lYm91bmRhcnkiKTsKKworICBNYXJrdXAu
ZGVzY3JpcHRpb24oIlRlc3RzIHNlbGVjdGluZyBmcm9tIHRoZSBzdGFydCBvZiBhIGxpbmUgdG8g
dGhlIGVuZCB1c2luZyBsaW5lYm91bmRhcnkiKTsKKyAgTWFya3VwLmR1bXAodGV4dENvbnRhaW5l
cik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggYTRkYjIxMmM3MDZlYmIxMDYzN2ExMmM3MzQyOTNhOTQ0N2U0YzdlMC4u
NTYxYjgzMjg1MDNjMTVmYTBmZGNjYjRkODk3YzZkNWEwYmUzODA2OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxMC0xMi0xMiAgQmVuamFtaW4gS2FsbWFuICA8a2FsbWFuQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGlmdC1FbmQgZG9l
cyBub3Qgc2VsZWN0IHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNjEwCisKKyAgICAgICAgVGVzdDogZWRpdGlu
Zy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnkuaHRtbAorCisgICAgICAgICogZWRp
dGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdGlv
bkNvbnRyb2xsZXI6OnBvc2l0aW9uRm9yUGxhdGZvcm0pOiBVc2UgdmlzaWJsZVN0YXJ0L3Zpc2li
bGVFbmQgcmF0aGVyIHRoYW4KKyAgICAgICAgc3RhcnQvZW5kLgorICAgICAgICAoV2ViQ29yZTo6
U2VsZWN0aW9uQ29udHJvbGxlcjo6bW9kaWZ5RXh0ZW5kaW5nRm9yd2FyZCk6CisKIDIwMTAtMTIt
MDkgIEphc21pbiBMYXBhbG1lICA8amxhcGFsbWVAZHJ1aWRlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRy
b2xsZXIuY3BwCmluZGV4IGJjMDA0NDIzNmNhNGZkNjg2NmZjNTVjZDliNDAxMzU0N2IzMTI2ZTAu
LjNjYzg4NTlkNjUyZDQ2ZjdiNTM5ZDRiODAxZTc4MGFmNTFjNjU4NjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2VkaXRp
bmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKQEAgLTMwMiwxOSArMzAyLDE3IEBAIFRleHREaXJl
Y3Rpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6ZGlyZWN0aW9uT2ZFbmNsb3NpbmdCbG9jaygpCiAK
IFZpc2libGVQb3NpdGlvbiBTZWxlY3Rpb25Db250cm9sbGVyOjpwb3NpdGlvbkZvclBsYXRmb3Jt
KGJvb2wgaXNHZXRTdGFydCkgY29uc3QKIHsKLSAgICBQb3NpdGlvbiBwb3M7CiAgICAgU2V0dGlu
Z3MqIHNldHRpbmdzID0gbV9mcmFtZSA/IG1fZnJhbWUtPnNldHRpbmdzKCkgOiAwOwogICAgIGlm
IChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+ZWRpdGluZ0JlaGF2aW9yVHlwZSgpID09IEVkaXRpbmdN
YWNCZWhhdmlvcikKLSAgICAgICAgcG9zID0gaXNHZXRTdGFydCA/IG1fc2VsZWN0aW9uLnN0YXJ0
KCkgOiBtX3NlbGVjdGlvbi5lbmQoKTsKKyAgICAgICAgcmV0dXJuIGlzR2V0U3RhcnQgPyBtX3Nl
bGVjdGlvbi52aXNpYmxlU3RhcnQoKSA6IG1fc2VsZWN0aW9uLnZpc2libGVFbmQoKTsKICAgICBl
bHNlIHsKICAgICAgICAgLy8gTGludXggYW5kIFdpbmRvd3MgYWx3YXlzIGV4dGVuZCBzZWxlY3Rp
b25zIGZyb20gdGhlIGV4dGVudCBlbmRwb2ludC4KICAgICAgICAgLy8gRklYTUU6IFZpc2libGVT
ZWxlY3Rpb24gc2hvdWxkIGJlIGZpeGVkIHRvIGVuc3VyZSBhcyBhbiBpbnZhcmlhbnQgdGhhdAog
ICAgICAgICAvLyBiYXNlL2V4dGVudCBhbHdheXMgcG9pbnQgdG8gdGhlIHNhbWUgbm9kZXMgYXMg
c3RhcnQvZW5kLCBidXQgd2hpY2ggcG9pbnRzCiAgICAgICAgIC8vIHRvIHdoaWNoIGRlcGVuZHMg
b24gdGhlIHZhbHVlIG9mIGlzQmFzZUZpcnN0LiBUaGVuIHRoaXMgY2FuIGJlIGNoYW5nZWQKICAg
ICAgICAgLy8gdG8ganVzdCByZXR1cm4gbV9zZWwuZXh0ZW50KCkuCi0gICAgICAgIHBvcyA9IG1f
c2VsZWN0aW9uLmlzQmFzZUZpcnN0KCkgPyBtX3NlbGVjdGlvbi5lbmQoKSA6IG1fc2VsZWN0aW9u
LnN0YXJ0KCk7CisgICAgICAgIHJldHVybiBtX3NlbGVjdGlvbi5pc0Jhc2VGaXJzdCgpID8gbV9z
ZWxlY3Rpb24udmlzaWJsZUVuZCgpIDogbV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCk7CiAgICAg
fQotICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9zLCBtX3NlbGVjdGlvbi5hZmZpbml0eSgp
KTsKIH0KIAogVmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OnN0YXJ0Rm9yUGxh
dGZvcm0oKSBjb25zdApAQCAtMzg1LDkgKzM4Myw3IEBAIFZpc2libGVQb3NpdGlvbiBTZWxlY3Rp
b25Db250cm9sbGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKFRleHRHcmFudWxhcml0eSBncmFu
CiAgICAgICAgIHBvcyA9IGVuZE9mU2VudGVuY2UoZW5kRm9yUGxhdGZvcm0oKSk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgTGluZUJvdW5kYXJ5OgotICAgICAgICBwb3MgPSBlbmRGb3JQbGF0
Zm9ybSgpOwotICAgICAgICBwb3Muc2V0QWZmaW5pdHkoVVBTVFJFQU0pOwotICAgICAgICBwb3Mg
PSBsb2dpY2FsRW5kT2ZMaW5lKHBvcyk7CisgICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUo
ZW5kRm9yUGxhdGZvcm0oKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFyYWdyYXBoQm91
bmRhcnk6CiAgICAgICAgIHBvcyA9IGVuZE9mUGFyYWdyYXBoKGVuZEZvclBsYXRmb3JtKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>76710</attachid>
            <date>2010-12-15 16:44:41 -0800</date>
            <delta_ts>2010-12-15 16:44:41 -0800</delta_ts>
            <desc>Demonstration of failing test</desc>
            <filename>18.html</filename>
            <type>text/html</type>
            <size>813</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">PGRpdiBpZD0iYSIgY29udGVudGVkaXRhYmxlIHN0eWxlPSJsaW5lLWJyZWFrOmJlZm9yZS13aGl0
ZS1zcGFjZTsgd2lkdGg6MTAwcHgiPmFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyA8L2Rpdj4KPGRpdiBpZD0iYiIgY29udGVudGVkaXRhYmxlIHN0eWxlPSJs
aW5lLWJyZWFrOmFmdGVyLXdoaXRlLXNwYWNlOyB3aWR0aDoxMDBweCI+YWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIDwvZGl2PgoKPHNjcmlwdD4KICBmdW5j
dGlvbiBhKCkgewogICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhIik7CiAgfQog
IGZ1bmN0aW9uIGF0KCkgewogICAgcmV0dXJuIGEoKS5jaGlsZE5vZGVzWzBdOwogIH0KICBmdW5j
dGlvbiBiKCkgewogICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiIik7CiAgfQog
IGZ1bmN0aW9uIGJ0KCkgewogICAgcmV0dXJuIGIoKS5jaGlsZE5vZGVzWzBdOwogIH0KICBmdW5j
dGlvbiBzZXQobm9kZSkgewogICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRl
bnQobm9kZSwgMCk7CiAgfQogIGZ1bmN0aW9uIGVsKGRpcmVjdGlvbikgewogICAgd2luZG93Lmdl
dFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwgZGlyZWN0aW9uLCAibGluZWJvdW5kYXJ5Iik7
CiAgfQo8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76987</attachid>
            <date>2010-12-20 05:03:25 -0800</date>
            <delta_ts>2010-12-20 16:35:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101221000322.patch</filename>
            <type>text/plain</type>
            <size>9854</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYjNlNzhkMDRkYzM2MjU0NjlmZjM3ZjUwMzU4YzAxMmQzNTA4MzAwLi4zMjZjMDA4
NjZlMWFhYTc3Y2Y5OWQ1MjA0NmYzYjIxNTc2NzkxNjNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjAgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3Vu
ZGFyeS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rp
b24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQ6CisKIDIwMTAtMTItMjAg
IEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBleHBlY3RhdGlvbiByZXN1bHRzIHVwZGF0ZS4gQWRkZWQgYWxzbyB0aGUgdGVzdHMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24t
aG9tZS1lbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0
ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQKaW5kZXggYWU1MmY2YTZiZGM4NGFl
YWIzNWJhODM0MDc0NmQzODdiMjczOWRlYi4uZGYwYmY5ZjNlYzhlNzcyZGVkOGFmMzU2NzQ0YmRk
YWVhMjlkNTNjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0
ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQKQEAg
LTEyNCwxNCArMTI0LDE0IEBAIFRlc3QgMjAsIFJUTDoKICAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAg
IkFCQyBhYmMgREVGIlsoMCwxMSksICgwLDApXQogVGVzdCAyMSwgTFRSOgogICBFeHRlbmRpbmcg
Zm9yd2FyZDogImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyAiWygwLDApLCAoMCw4KV0KLSAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpXQorICBFeHRlbmRpbmcg
YmFja3dhcmQ6ICAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnICJbKDAsOCksICgwLDApXQogVGVzdCAyMSwgUlRMOgogICBFeHRlbmRpbmcgZm9yd2FyZDog
ImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDAp
LCAoMCw4KV0KLSAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpXQorICBFeHRlbmRpbmcgYmFja3dhcmQ6
ICAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAs
OCksICgwLDApXQogVGVzdCAyMiwgTFRSOgogICBFeHRlbmRpbmcgZm9yd2FyZDogImFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDApLCAoMCw4KV0K
LSAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpXQorICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCksICgwLDAp
XQogVGVzdCAyMiwgUlRMOgogICBFeHRlbmRpbmcgZm9yd2FyZDogImFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDApLCAoMCw4KV0KLSAgRXh0ZW5k
aW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyAiWygwLDgpXQorICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCksICgwLDApXQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3Vu
ZGFyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQt
dG8tbGluZS1ib3VuZGFyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg0YjE2N2NiNGU1OGFm
NTY4Mzg2ZGVmOGEwZWE2YzgxNDk3MjcyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKK1Rlc3RzIHNlbGVjdGluZyBmcm9tIHRoZSBzdGFydCBvZiBhIGxpbmUg
dG8gdGhlIGVuZCB1c2luZyBsaW5lYm91bmRhcnkKK3wgIgorTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIDwjc2VsZWN0aW9uLWFuY2hvcj5jb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBz
ZWQgPCNzZWxlY3Rpb24tZm9jdXM+ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJv
cmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlkYzMxYTdjYjViNTJmNjExZTU0NzIwNGNmYjI4ZjY1Zjk5ZjZkMmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3Vu
ZGFyeS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8c3R5bGU+Cisg
ICN0ZXh0Q29udGFpbmVyIHsKKyAgICB3aWR0aDogMjAwcHg7CisgIH0KKzwvc3R5bGU+CisKKzxk
aXYgY29udGVudGVkaXRhYmxlIGlkPSJ0ZXh0Q29udGFpbmVyIj4KK0xvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKzwvZGl2
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgIHRleHRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGV4dENvbnRhaW5lciIpOworICB0ZXh0ID0gdGV4dENvbnRhaW5lci5jaGlsZE5vZGVzWzBd
OworCisgIGdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGV4dCwgMCk7CisgIGdldFNl
bGVjdGlvbigpLm1vZGlmeSgibW92ZSIsICJmb3J3YXJkIiwgImxpbmUiKTsKKyAgZ2V0U2VsZWN0
aW9uKCkubW9kaWZ5KCJleHRlbmQiLCAiZm9yd2FyZCIsICJsaW5lYm91bmRhcnkiKTsKKworICBN
YXJrdXAuZGVzY3JpcHRpb24oIlRlc3RzIHNlbGVjdGluZyBmcm9tIHRoZSBzdGFydCBvZiBhIGxp
bmUgdG8gdGhlIGVuZCB1c2luZyBsaW5lYm91bmRhcnkiKTsKKyAgTWFya3VwLmR1bXAodGV4dENv
bnRhaW5lcik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2Vs
ZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dAppbmRleCBhZTUyZjZhNmJkYzg0YWVhYjM1YmE4
MzQwNzQ2ZDM4N2IyNzM5ZGViLi5kZjBiZjlmM2VjOGU3NzJkZWQ4YWYzNTY3NDRiZGRhZWEyOWQ1
M2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rp
b24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1l
bmQtZXhwZWN0ZWQudHh0CkBAIC0xMjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6CiAgIEV4
dGVuZGluZyBiYWNrd2FyZDogICJBQkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRlc3QgMjEs
IExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2Fy
ZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlso
MCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJUTDoKICAg
RXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAg
RXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0ZW5kaW5n
IGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5n
IGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6
ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCww
KSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJk
OiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygw
LDgpLCAoMCwwKV0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMThmZTkwOTAxZWQzYThmMjYyNmVmMGQ3MzM1OTdhYWZlNjdmNmI1Li4z
N2Y3NGNlYTAxODExZTUyZjI5NjU0YTk4MjhmYzY0MGFkNjE5NDVjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEwLTEyLTIwICBCZW5qYW1pbiBLYWxtYW4gIDxrYWxtYW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNoaWZ0LUVuZCBkb2Vz
IG5vdCBzZWxlY3QgdG8gdGhlIGVuZCBvZiB0aGUgbGluZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA2MTAKKworICAgICAgICBUZXN0OiBlZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sCisKKyAgICAgICAgKiBlZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9u
Q29udHJvbGxlcjo6cG9zaXRpb25Gb3JQbGF0Zm9ybSk6IFVzZSB2aXNpYmxlU3RhcnQvdmlzaWJs
ZUVuZCByYXRoZXIgdGhhbgorICAgICAgICBzdGFydC9lbmQuCisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3Rpb25Db250cm9sbGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKToKKwogMjAxMC0xMi0y
MCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVj
dGlvbkNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIu
Y3BwCmluZGV4IDRmYzZiYmViMzc1ZjIyMDQxZGEwMjMyNTZiZWIxZjA3ZTkzMTE4ZTEuLjJmOTIy
MGM2ODc3NzVjZTJjYzNhZGUwNGQ1MTNlZjg2OTViZDgzZDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5jcHAKQEAgLTMwMiwxOSArMzAyLDE3IEBAIFRleHREaXJlY3Rpb24g
U2VsZWN0aW9uQ29udHJvbGxlcjo6ZGlyZWN0aW9uT2ZFbmNsb3NpbmdCbG9jaygpCiAKIFZpc2li
bGVQb3NpdGlvbiBTZWxlY3Rpb25Db250cm9sbGVyOjpwb3NpdGlvbkZvclBsYXRmb3JtKGJvb2wg
aXNHZXRTdGFydCkgY29uc3QKIHsKLSAgICBQb3NpdGlvbiBwb3M7CiAgICAgU2V0dGluZ3MqIHNl
dHRpbmdzID0gbV9mcmFtZSA/IG1fZnJhbWUtPnNldHRpbmdzKCkgOiAwOwogICAgIGlmIChzZXR0
aW5ncyAmJiBzZXR0aW5ncy0+ZWRpdGluZ0JlaGF2aW9yVHlwZSgpID09IEVkaXRpbmdNYWNCZWhh
dmlvcikKLSAgICAgICAgcG9zID0gaXNHZXRTdGFydCA/IG1fc2VsZWN0aW9uLnN0YXJ0KCkgOiBt
X3NlbGVjdGlvbi5lbmQoKTsKKyAgICAgICAgcmV0dXJuIGlzR2V0U3RhcnQgPyBtX3NlbGVjdGlv
bi52aXNpYmxlU3RhcnQoKSA6IG1fc2VsZWN0aW9uLnZpc2libGVFbmQoKTsKICAgICBlbHNlIHsK
ICAgICAgICAgLy8gTGludXggYW5kIFdpbmRvd3MgYWx3YXlzIGV4dGVuZCBzZWxlY3Rpb25zIGZy
b20gdGhlIGV4dGVudCBlbmRwb2ludC4KICAgICAgICAgLy8gRklYTUU6IFZpc2libGVTZWxlY3Rp
b24gc2hvdWxkIGJlIGZpeGVkIHRvIGVuc3VyZSBhcyBhbiBpbnZhcmlhbnQgdGhhdAogICAgICAg
ICAvLyBiYXNlL2V4dGVudCBhbHdheXMgcG9pbnQgdG8gdGhlIHNhbWUgbm9kZXMgYXMgc3RhcnQv
ZW5kLCBidXQgd2hpY2ggcG9pbnRzCiAgICAgICAgIC8vIHRvIHdoaWNoIGRlcGVuZHMgb24gdGhl
IHZhbHVlIG9mIGlzQmFzZUZpcnN0LiBUaGVuIHRoaXMgY2FuIGJlIGNoYW5nZWQKICAgICAgICAg
Ly8gdG8ganVzdCByZXR1cm4gbV9zZWwuZXh0ZW50KCkuCi0gICAgICAgIHBvcyA9IG1fc2VsZWN0
aW9uLmlzQmFzZUZpcnN0KCkgPyBtX3NlbGVjdGlvbi5lbmQoKSA6IG1fc2VsZWN0aW9uLnN0YXJ0
KCk7CisgICAgICAgIHJldHVybiBtX3NlbGVjdGlvbi5pc0Jhc2VGaXJzdCgpID8gbV9zZWxlY3Rp
b24udmlzaWJsZUVuZCgpIDogbV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCk7CiAgICAgfQotICAg
IHJldHVybiBWaXNpYmxlUG9zaXRpb24ocG9zLCBtX3NlbGVjdGlvbi5hZmZpbml0eSgpKTsKIH0K
IAogVmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OnN0YXJ0Rm9yUGxhdGZvcm0o
KSBjb25zdApAQCAtMzg1LDkgKzM4Myw3IEBAIFZpc2libGVQb3NpdGlvbiBTZWxlY3Rpb25Db250
cm9sbGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKFRleHRHcmFudWxhcml0eSBncmFuCiAgICAg
ICAgIHBvcyA9IGVuZE9mU2VudGVuY2UoZW5kRm9yUGxhdGZvcm0oKSk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgTGluZUJvdW5kYXJ5OgotICAgICAgICBwb3MgPSBlbmRGb3JQbGF0Zm9ybSgp
OwotICAgICAgICBwb3Muc2V0QWZmaW5pdHkoVVBTVFJFQU0pOwotICAgICAgICBwb3MgPSBsb2dp
Y2FsRW5kT2ZMaW5lKHBvcyk7CisgICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUoZW5kRm9y
UGxhdGZvcm0oKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFyYWdyYXBoQm91bmRhcnk6
CiAgICAgICAgIHBvcyA9IGVuZE9mUGFyYWdyYXBoKGVuZEZvclBsYXRmb3JtKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77052</attachid>
            <date>2010-12-20 16:36:02 -0800</date>
            <delta_ts>2010-12-20 20:19:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101221113558.patch</filename>
            <type>text/plain</type>
            <size>10592</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYjNlNzhkMDRkYzM2MjU0NjlmZjM3ZjUwMzU4YzAxMmQzNTA4MzAwLi4wY2U5Y2Iy
N2Q2MzJjZmZmZDYwMjMzMWNkZTdlNjQ3MDA0YWM2M2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMTItMjAgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgIEFkZCByZWdyZXNz
aW9uIHRlc3QgdGhhdCBzaGlmdC1lbmQgc2VsZWN0cyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLCBh
bmQgcmViYXNlbGluZSBhIHRlc3QKKyAgICAgICAgd2hpY2ggaGFkIGluY29ycmVjdCBleHBlY3Rl
ZCByZXN1bHRzLgorCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXNlbGVjdGlv
bi1ob21lLWVuZC1leHBlY3RlZC50eHQ6IE5ldyBiYXNlbGluZS4KKyAgICAgICAgKiBlZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQt
c2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dDogTmV3IGJhc2VsaW5lLgorCiAyMDEwLTEy
LTIwICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgZXhwZWN0YXRpb24gcmVzdWx0cyB1cGRhdGUuIEFkZGVkIGFsc28gdGhlIHRlc3Rz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0
aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQudHh0CmluZGV4IGFlNTJmNmE2YmRj
ODRhZWFiMzViYTgzNDA3NDZkMzg3YjI3MzlkZWIuLmRmMGJmOWYzZWM4ZTc3MmRlZDhhZjM1Njc0
NGJkZGFlYTI5ZDUzYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9u
L2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQudHh0
CkBAIC0xMjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6CiAgIEV4dGVuZGluZyBiYWNrd2Fy
ZDogICJBQkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRlc3QgMjEsIExUUjoKICAgRXh0ZW5k
aW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5k
aW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJUTDoKICAgRXh0ZW5kaW5nIGZvcndh
cmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlso
MCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3
YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAi
WygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAs
OCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAo
MCwwKV0KIFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4
dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUt
Ym91bmRhcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0
ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NGIxNjdjYjRl
NThhZjU2ODM4NmRlZjhhMGVhNmM4MTQ5NzI3MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACitUZXN0cyBzZWxlY3RpbmcgZnJvbSB0aGUgc3RhcnQgb2YgYSBs
aW5lIHRvIHRoZSBlbmQgdXNpbmcgbGluZWJvdW5kYXJ5Cit8ICIKK0xvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCA8I3NlbGVjdGlvbi1hbmNob3I+Y29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxp
dCwgc2VkIDwjc2VsZWN0aW9uLWZvY3VzPmRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQg
bGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ZGMzMWE3Y2I1YjUyZjYxMWU1NDcyMDRjZmIyOGY2NWY5OWY2ZDJkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUt
Ym91bmRhcnkuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKworPHN0eWxl
PgorICAjdGV4dENvbnRhaW5lciB7CisgICAgd2lkdGg6IDIwMHB4OworICB9Cis8L3N0eWxlPgor
Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZSBpZD0idGV4dENvbnRhaW5lciI+CitMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCis8
L2Rpdj4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorICB0ZXh0Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRleHRDb250YWluZXIiKTsKKyAgdGV4dCA9IHRleHRDb250YWluZXIuY2hpbGROb2Rl
c1swXTsKKworICBnZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRleHQsIDApOworICBn
ZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1vdmUiLCAiZm9yd2FyZCIsICJsaW5lIik7CisgIGdldFNl
bGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwgImZvcndhcmQiLCAibGluZWJvdW5kYXJ5Iik7CisK
KyAgTWFya3VwLmRlc2NyaXB0aW9uKCJUZXN0cyBzZWxlY3RpbmcgZnJvbSB0aGUgc3RhcnQgb2Yg
YSBsaW5lIHRvIHRoZSBlbmQgdXNpbmcgbGluZWJvdW5kYXJ5Iik7CisgIE1hcmt1cC5kdW1wKHRl
eHRDb250YWluZXIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5k
LXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQKaW5kZXggYWU1MmY2YTZiZGM4NGFlYWIz
NWJhODM0MDc0NmQzODdiMjczOWRlYi4uZGYwYmY5ZjNlYzhlNzcyZGVkOGFmMzU2NzQ0YmRkYWVh
MjlkNTNjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2Vs
ZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhv
bWUtZW5kLWV4cGVjdGVkLnR4dApAQCAtMTI0LDE0ICsxMjQsMTQgQEAgVGVzdCAyMCwgUlRMOgog
ICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiQUJDIGFiYyBERUYiWygwLDExKSwgKDAsMCldCiBUZXN0
IDIxLCBMVFI6CiAgIEV4dGVuZGluZyBmb3J3YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFj
a3dhcmQ6ICAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
ICJbKDAsOCldCisgIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KSwgKDAsMCldCiBUZXN0IDIxLCBSVEw6
CiAgIEV4dGVuZGluZyBmb3J3YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnICJbKDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAi
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCld
CisgIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KSwgKDAsMCldCiBUZXN0IDIyLCBMVFI6CiAgIEV4dGVu
ZGluZyBmb3J3YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnICJbKDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCldCisgIEV4dGVu
ZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgIlsoMCw4KSwgKDAsMCldCiBUZXN0IDIyLCBSVEw6CiAgIEV4dGVuZGluZyBmb3J3
YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJb
KDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCldCisgIEV4dGVuZGluZyBiYWNr
d2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCw4KSwgKDAsMCldCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggYzE4ZmU5MDkwMWVkM2E4ZjI2MjZlZjBkNzMzNTk3YWFmZTY3ZjZi
NS4uNzBlOWUwMmEyZjA1ZTc4MmNlM2E3MDYxMDc2OWI2NWU0OTM0ZGFjYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBA
QAorMjAxMC0xMi0yMCAgQmVuamFtaW4gS2FsbWFuICA8a2FsbWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGlmdC1FbmQg
ZG9lcyBub3Qgc2VsZWN0IHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNjEwCisKKyAgICAgICAgTGV0IHRoZSBW
aXNpYmxlUG9zaXRpb24gYWZmaW5pdHkgZm9yIGVuZCBvZiBsaW5lIHNlbGVjdGlvbiB0byBiZSBz
ZXQgYnkKKyAgICAgICAgdmlzaWJsZUVuZC92aXNpYmxlU3RhcnQgcmF0aGVyIHRoYW4gdXNpbmcg
ZW5kL3N0YXJ0IGFuZCBhbHdheXMgdXNpbmcgVVBTVFJFQU0uCisKKyAgICAgICAgVGVzdDogZWRp
dGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnkuaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVj
dGlvbkNvbnRyb2xsZXI6OnBvc2l0aW9uRm9yUGxhdGZvcm0pOiBVc2UgdmlzaWJsZVN0YXJ0L3Zp
c2libGVFbmQgcmF0aGVyIHRoYW4KKyAgICAgICAgc3RhcnQvZW5kLgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6bW9kaWZ5RXh0ZW5kaW5nRm9yd2FyZCk6IERvbid0IGV4
cGxpY2l0bHkgdXNlIFVQU1RSRUFNIGFmZmluaXR5LgorCiAyMDEwLTEyLTIwICBZdXJ5IFNlbWlr
aGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNGZj
NmJiZWIzNzVmMjIwNDFkYTAyMzI1NmJlYjFmMDdlOTMxMThlMS4uOWNkZGYxZDg5Yzk5ZmZkOTk1
ZTMxYTcxMDk0MWY5NWNjOTZiMGU2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVj
dGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9s
bGVyLmNwcApAQCAtMzAyLDE5ICszMDIsMTUgQEAgVGV4dERpcmVjdGlvbiBTZWxlY3Rpb25Db250
cm9sbGVyOjpkaXJlY3Rpb25PZkVuY2xvc2luZ0Jsb2NrKCkKIAogVmlzaWJsZVBvc2l0aW9uIFNl
bGVjdGlvbkNvbnRyb2xsZXI6OnBvc2l0aW9uRm9yUGxhdGZvcm0oYm9vbCBpc0dldFN0YXJ0KSBj
b25zdAogewotICAgIFBvc2l0aW9uIHBvczsKICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2Zy
YW1lID8gbV9mcmFtZS0+c2V0dGluZ3MoKSA6IDA7CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRp
bmdzLT5lZGl0aW5nQmVoYXZpb3JUeXBlKCkgPT0gRWRpdGluZ01hY0JlaGF2aW9yKQotICAgICAg
ICBwb3MgPSBpc0dldFN0YXJ0ID8gbV9zZWxlY3Rpb24uc3RhcnQoKSA6IG1fc2VsZWN0aW9uLmVu
ZCgpOwotICAgIGVsc2UgewotICAgICAgICAvLyBMaW51eCBhbmQgV2luZG93cyBhbHdheXMgZXh0
ZW5kIHNlbGVjdGlvbnMgZnJvbSB0aGUgZXh0ZW50IGVuZHBvaW50LgotICAgICAgICAvLyBGSVhN
RTogVmlzaWJsZVNlbGVjdGlvbiBzaG91bGQgYmUgZml4ZWQgdG8gZW5zdXJlIGFzIGFuIGludmFy
aWFudCB0aGF0Ci0gICAgICAgIC8vIGJhc2UvZXh0ZW50IGFsd2F5cyBwb2ludCB0byB0aGUgc2Ft
ZSBub2RlcyBhcyBzdGFydC9lbmQsIGJ1dCB3aGljaCBwb2ludHMKLSAgICAgICAgLy8gdG8gd2hp
Y2ggZGVwZW5kcyBvbiB0aGUgdmFsdWUgb2YgaXNCYXNlRmlyc3QuIFRoZW4gdGhpcyBjYW4gYmUg
Y2hhbmdlZAotICAgICAgICAvLyB0byBqdXN0IHJldHVybiBtX3NlbC5leHRlbnQoKS4KLSAgICAg
ICAgcG9zID0gbV9zZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSA/IG1fc2VsZWN0aW9uLmVuZCgpIDog
bV9zZWxlY3Rpb24uc3RhcnQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihw
b3MsIG1fc2VsZWN0aW9uLmFmZmluaXR5KCkpOworICAgICAgICByZXR1cm4gaXNHZXRTdGFydCA/
IG1fc2VsZWN0aW9uLnZpc2libGVTdGFydCgpIDogbV9zZWxlY3Rpb24udmlzaWJsZUVuZCgpOwor
ICAgIC8vIExpbnV4IGFuZCBXaW5kb3dzIGFsd2F5cyBleHRlbmQgc2VsZWN0aW9ucyBmcm9tIHRo
ZSBleHRlbnQgZW5kcG9pbnQuCisgICAgLy8gRklYTUU6IFZpc2libGVTZWxlY3Rpb24gc2hvdWxk
IGJlIGZpeGVkIHRvIGVuc3VyZSBhcyBhbiBpbnZhcmlhbnQgdGhhdAorICAgIC8vIGJhc2UvZXh0
ZW50IGFsd2F5cyBwb2ludCB0byB0aGUgc2FtZSBub2RlcyBhcyBzdGFydC9lbmQsIGJ1dCB3aGlj
aCBwb2ludHMKKyAgICAvLyB0byB3aGljaCBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiBpc0Jhc2VG
aXJzdC4gVGhlbiB0aGlzIGNhbiBiZSBjaGFuZ2VkCisgICAgLy8gdG8ganVzdCByZXR1cm4gbV9z
ZWwuZXh0ZW50KCkuCisgICAgcmV0dXJuIG1fc2VsZWN0aW9uLmlzQmFzZUZpcnN0KCkgPyBtX3Nl
bGVjdGlvbi52aXNpYmxlRW5kKCkgOiBtX3NlbGVjdGlvbi52aXNpYmxlU3RhcnQoKTsKIH0KIAog
VmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OnN0YXJ0Rm9yUGxhdGZvcm0oKSBj
b25zdApAQCAtMzg1LDkgKzM4MSw3IEBAIFZpc2libGVQb3NpdGlvbiBTZWxlY3Rpb25Db250cm9s
bGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKFRleHRHcmFudWxhcml0eSBncmFuCiAgICAgICAg
IHBvcyA9IGVuZE9mU2VudGVuY2UoZW5kRm9yUGxhdGZvcm0oKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgTGluZUJvdW5kYXJ5OgotICAgICAgICBwb3MgPSBlbmRGb3JQbGF0Zm9ybSgpOwot
ICAgICAgICBwb3Muc2V0QWZmaW5pdHkoVVBTVFJFQU0pOwotICAgICAgICBwb3MgPSBsb2dpY2Fs
RW5kT2ZMaW5lKHBvcyk7CisgICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUoZW5kRm9yUGxh
dGZvcm0oKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFyYWdyYXBoQm91bmRhcnk6CiAg
ICAgICAgIHBvcyA9IGVuZE9mUGFyYWdyYXBoKGVuZEZvclBsYXRmb3JtKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77079</attachid>
            <date>2010-12-20 20:20:09 -0800</date>
            <delta_ts>2010-12-21 04:12:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101221152005.patch</filename>
            <type>text/plain</type>
            <size>12016</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYjNlNzhkMDRkYzM2MjU0NjlmZjM3ZjUwMzU4YzAxMmQzNTA4MzAwLi4zMzBjNTUx
MDc5MjhkZTkxY2M2YTk5YjFhNGE2NjRiZWNlMTYxOWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMTItMjAgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgIEFkZCByZWdyZXNz
aW9uIHRlc3QgdGhhdCBzaGlmdC1lbmQgc2VsZWN0cyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lIGZv
ciBib3RoIExUUiBhbmQgUlRMIHRleHQuCisgICAgICAgIFJlYmFzZWxpbmUgYSB0ZXN0IHdoaWNo
IGFzc3VtZWQgaW5jb3JyZWN0IGJlaGF2aW91ciBvZiBzaGlmdC1lbmQgbm90IHNlbGVjdGluZyB0
byB0aGUgZW5kIG9mCisgICAgICAgIHRoZSBsaW5lLCBidXQgcmF0aGVyIG1vdmluZyBjdXJzb3Ig
dG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIGFib3ZlLgorCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQ6IE5ldyBiYXNlbGlu
ZS4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC10
by1saW5lLWJvdW5kYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dDogTmV3
IGJhc2VsaW5lLgorCiAyMDEwLTEyLTIwICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZXhwZWN0YXRpb24gcmVzdWx0cyB1cGRhdGUu
IEFkZGVkIGFsc28gdGhlIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CmluZGV4IGFlNTJmNmE2YmRjODRhZWFiMzViYTgzNDA3NDZkMzg3YjI3MzlkZWIuLmRmMGJm
OWYzZWM4ZTc3MmRlZDhhZjM1Njc0NGJkZGFlYTI5ZDUzYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24t
aG9tZS1lbmQtZXhwZWN0ZWQudHh0CkBAIC0xMjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6
CiAgIEV4dGVuZGluZyBiYWNrd2FyZDogICJBQkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRl
c3QgMjEsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBi
YWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJU
TDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDog
ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4
KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0
ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0
ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZv
cndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJh
Y2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyAiWygwLDgpLCAoMCwwKV0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI1ZmMzYWFkZjZkZjk1MGM4MmE3YWVjYjIwNWZmYjA2NGEyODU3NDQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGlu
ZS1ib3VuZGFyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0cyBzZWxlY3Rpbmcg
ZnJvbSB0aGUgc3RhcnQgb2YgYSBsaW5lIHRvIHRoZSBlbmQgdXNpbmcgbGluZWJvdW5kYXJ5LCBm
b3IgYm90aCBMVFIgYW5kIFJUTCAoSGVicmV3KSB0ZXh0CisKK0xUUiBzZWxlY3Rpb246Cit8ICJ0
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIDwjc2VsZWN0aW9uLWFuY2hvcj50aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBzIDwjc2VsZWN0aW9uLWZvY3VzPnRoZSBxdWljayBicm93biBmb3gganVtcHMi
CisKK1JUTCBzZWxlY3Rpb246Cit8ICLXqdeV1rzXqNeUINep15XWvNeo15Qg16nXlda816jXlCA8
I3NlbGVjdGlvbi1hbmNob3I+16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15QgPCNzZWxl
Y3Rpb24tZm9jdXM+16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15QiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRh
cnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yYTU3MjE4NmU0NjhiN2VmZGUzYzg0ODBmNzk0ZDRlNjM4ZTQz
YjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0
ZW5kLXRvLWxpbmUtYm91bmRhcnkuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZUEUgaHRt
bD4KKworPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIGNyZWF0ZUVkaXRhYmxlTXVsdGls
aW5lRGl2KHRleHQsIG51bUxpbmVzKSB7CisgICAgICAvLyBQdXQgdGV4dCBpbiBhIHNwYW4gc28g
dGhhdCB0aGUgd2lkdGggY2FuIGJlIG1lYXN1cmVkLgorICAgICAgdmFyIHNwYW4gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICBzcGFuLmlubmVySFRNTCA9IHRleHQ7Cisg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNwYW4pOworICAgICAgdmFyIHdpZHRoUHgg
PSBzcGFuLm9mZnNldFdpZHRoOworICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzcGFu
KTsKKworICAgICAgLy8gTWFrZSBkaXYgd2l0aCB0aG9zZSBkaW1lbnNpb25zIHNvIHRoYXQgdGhl
IHRleHQgd3JhcHMgcHJlZGljdGFibHkgcmVnYXJkbGVzcyBvZiBwbGF0Zm9ybS4KKyAgICAgIHZh
ciBsaW5lcyA9IHRleHQ7CisgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IG51bUxpbmVzOyBpKysp
CisgICAgICAgICAgbGluZXMgKz0gIiAiICsgdGV4dDsKKworICAgICAgdmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgZGl2LnNldEF0dHJpYnV0ZSgic3R5bGUi
LCAid2lkdGg6ICIgKyB3aWR0aFB4ICsgInB4Iik7CisgICAgICBkaXYuc2V0QXR0cmlidXRlKCJj
b250ZW50ZWRpdGFibGUiLCAidHJ1ZSIpOworICAgICAgZGl2LmlubmVySFRNTCA9IGxpbmVzOwor
CisgICAgICByZXR1cm4gZGl2OworICB9CisKKyAgZnVuY3Rpb24gc2VsZWN0U2Vjb25kTGluZShl
bGVtZW50KSB7CisgICAgICBnZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGVsZW1lbnQu
Y2hpbGROb2Rlc1swXSwgMCk7CisgICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1vdmUiLCAi
Zm9yd2FyZCIsICJsaW5lIik7CisgICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIs
ICJmb3J3YXJkIiwgImxpbmVib3VuZGFyeSIpOworICB9CisKKyAgTWFya3VwLmRlc2NyaXB0aW9u
KCJUZXN0cyBzZWxlY3RpbmcgZnJvbSB0aGUgc3RhcnQgb2YgYSBsaW5lIHRvIHRoZSBlbmQgdXNp
bmcgbGluZWJvdW5kYXJ5LCBmb3IgYm90aCBMVFIgYW5kIFJUTCAoSGVicmV3KSB0ZXh0Iik7CisK
KyAgbHRyVGV4dCA9ICJ0aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIjsKKyAgbHRyVGV4dENvbnRh
aW5lciA9IGNyZWF0ZUVkaXRhYmxlTXVsdGlsaW5lRGl2KGx0clRleHQsIDMpOworICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGx0clRleHRDb250YWluZXIpOworICBzZWxlY3RTZWNvbmRMaW5l
KGx0clRleHRDb250YWluZXIpOworICBNYXJrdXAuZHVtcChsdHJUZXh0Q29udGFpbmVyLCAiTFRS
IHNlbGVjdGlvbiIpOworCisgIHJ0bFRleHQgPSAiJiN4MDVFOTsmI3gwNUQ1OyYjeDA1QkM7JiN4
MDVFODsmI3gwNUQ0OyAmI3gwNUU5OyYjeDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7ICYj
eDA1RTk7JiN4MDVENTsmI3gwNUJDOyYjeDA1RTg7JiN4MDVENDsiOworICBydGxUZXh0Q29udGFp
bmVyID0gY3JlYXRlRWRpdGFibGVNdWx0aWxpbmVEaXYocnRsVGV4dCwgMyk7CisgIHJ0bFRleHRD
b250YWluZXIuc2V0QXR0cmlidXRlKCJkaXIiLCAicnRsIik7CisgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQocnRsVGV4dENvbnRhaW5lcik7CisgIHNlbGVjdFNlY29uZExpbmUocnRsVGV4dENv
bnRhaW5lcik7CisgIE1hcmt1cC5kdW1wKHJ0bFRleHRDb250YWluZXIsICJSVEwgc2VsZWN0aW9u
Iik7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQt
c2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dAppbmRleCBhZTUyZjZhNmJkYzg0YWVhYjM1
YmE4MzQwNzQ2ZDM4N2IyNzM5ZGViLi5kZjBiZjlmM2VjOGU3NzJkZWQ4YWYzNTY3NDRiZGRhZWEy
OWQ1M2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9t
ZS1lbmQtZXhwZWN0ZWQudHh0CkBAIC0xMjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6CiAg
IEV4dGVuZGluZyBiYWNrd2FyZDogICJBQkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRlc3Qg
MjEsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNr
d2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJUTDoK
ICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0K
KyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0ZW5k
aW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5k
aW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZvcndh
cmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlso
MCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3
YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAi
WygwLDgpLCAoMCwwKV0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBjMThmZTkwOTAxZWQzYThmMjYyNmVmMGQ3MzM1OTdhYWZlNjdmNmI1
Li43MGU5ZTAyYTJmMDVlNzgyY2UzYTcwNjEwNzY5YjY1ZTQ5MzRkYWNiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDEwLTEyLTIwICBCZW5qYW1pbiBLYWxtYW4gIDxrYWxtYW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNoaWZ0LUVuZCBk
b2VzIG5vdCBzZWxlY3QgdG8gdGhlIGVuZCBvZiB0aGUgbGluZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA2MTAKKworICAgICAgICBMZXQgdGhlIFZp
c2libGVQb3NpdGlvbiBhZmZpbml0eSBmb3IgZW5kIG9mIGxpbmUgc2VsZWN0aW9uIHRvIGJlIHNl
dCBieQorICAgICAgICB2aXNpYmxlRW5kL3Zpc2libGVTdGFydCByYXRoZXIgdGhhbiB1c2luZyBl
bmQvc3RhcnQgYW5kIGFsd2F5cyB1c2luZyBVUFNUUkVBTS4KKworICAgICAgICBUZXN0OiBlZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sCisKKyAgICAgICAgKiBl
ZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0
aW9uQ29udHJvbGxlcjo6cG9zaXRpb25Gb3JQbGF0Zm9ybSk6IFVzZSB2aXNpYmxlU3RhcnQvdmlz
aWJsZUVuZCByYXRoZXIgdGhhbgorICAgICAgICBzdGFydC9lbmQuCisgICAgICAgIChXZWJDb3Jl
OjpTZWxlY3Rpb25Db250cm9sbGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKTogRG9uJ3QgZXhw
bGljaXRseSB1c2UgVVBTVFJFQU0gYWZmaW5pdHkuCisKIDIwMTAtMTItMjAgIFl1cnkgU2VtaWto
YXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwg
RmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVy
LmNwcCBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAppbmRleCA0ZmM2
YmJlYjM3NWYyMjA0MWRhMDIzMjU2YmViMWYwN2U5MzExOGUxLi45Y2RkZjFkODljOTlmZmQ5OTVl
MzFhNzEwOTQxZjk1Y2M5NmIwZTY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0
aW9uQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xs
ZXIuY3BwCkBAIC0zMDIsMTkgKzMwMiwxNSBAQCBUZXh0RGlyZWN0aW9uIFNlbGVjdGlvbkNvbnRy
b2xsZXI6OmRpcmVjdGlvbk9mRW5jbG9zaW5nQmxvY2soKQogCiBWaXNpYmxlUG9zaXRpb24gU2Vs
ZWN0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25Gb3JQbGF0Zm9ybShib29sIGlzR2V0U3RhcnQpIGNv
bnN0CiB7Ci0gICAgUG9zaXRpb24gcG9zOwogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJh
bWUgPyBtX2ZyYW1lLT5zZXR0aW5ncygpIDogMDsKICAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGlu
Z3MtPmVkaXRpbmdCZWhhdmlvclR5cGUoKSA9PSBFZGl0aW5nTWFjQmVoYXZpb3IpCi0gICAgICAg
IHBvcyA9IGlzR2V0U3RhcnQgPyBtX3NlbGVjdGlvbi5zdGFydCgpIDogbV9zZWxlY3Rpb24uZW5k
KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIExpbnV4IGFuZCBXaW5kb3dzIGFsd2F5cyBleHRl
bmQgc2VsZWN0aW9ucyBmcm9tIHRoZSBleHRlbnQgZW5kcG9pbnQuCi0gICAgICAgIC8vIEZJWE1F
OiBWaXNpYmxlU2VsZWN0aW9uIHNob3VsZCBiZSBmaXhlZCB0byBlbnN1cmUgYXMgYW4gaW52YXJp
YW50IHRoYXQKLSAgICAgICAgLy8gYmFzZS9leHRlbnQgYWx3YXlzIHBvaW50IHRvIHRoZSBzYW1l
IG5vZGVzIGFzIHN0YXJ0L2VuZCwgYnV0IHdoaWNoIHBvaW50cwotICAgICAgICAvLyB0byB3aGlj
aCBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiBpc0Jhc2VGaXJzdC4gVGhlbiB0aGlzIGNhbiBiZSBj
aGFuZ2VkCi0gICAgICAgIC8vIHRvIGp1c3QgcmV0dXJuIG1fc2VsLmV4dGVudCgpLgotICAgICAg
ICBwb3MgPSBtX3NlbGVjdGlvbi5pc0Jhc2VGaXJzdCgpID8gbV9zZWxlY3Rpb24uZW5kKCkgOiBt
X3NlbGVjdGlvbi5zdGFydCgpOwotICAgIH0KLSAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBv
cywgbV9zZWxlY3Rpb24uYWZmaW5pdHkoKSk7CisgICAgICAgIHJldHVybiBpc0dldFN0YXJ0ID8g
bV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCkgOiBtX3NlbGVjdGlvbi52aXNpYmxlRW5kKCk7Cisg
ICAgLy8gTGludXggYW5kIFdpbmRvd3MgYWx3YXlzIGV4dGVuZCBzZWxlY3Rpb25zIGZyb20gdGhl
IGV4dGVudCBlbmRwb2ludC4KKyAgICAvLyBGSVhNRTogVmlzaWJsZVNlbGVjdGlvbiBzaG91bGQg
YmUgZml4ZWQgdG8gZW5zdXJlIGFzIGFuIGludmFyaWFudCB0aGF0CisgICAgLy8gYmFzZS9leHRl
bnQgYWx3YXlzIHBvaW50IHRvIHRoZSBzYW1lIG5vZGVzIGFzIHN0YXJ0L2VuZCwgYnV0IHdoaWNo
IHBvaW50cworICAgIC8vIHRvIHdoaWNoIGRlcGVuZHMgb24gdGhlIHZhbHVlIG9mIGlzQmFzZUZp
cnN0LiBUaGVuIHRoaXMgY2FuIGJlIGNoYW5nZWQKKyAgICAvLyB0byBqdXN0IHJldHVybiBtX3Nl
bC5leHRlbnQoKS4KKyAgICByZXR1cm4gbV9zZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSA/IG1fc2Vs
ZWN0aW9uLnZpc2libGVFbmQoKSA6IG1fc2VsZWN0aW9uLnZpc2libGVTdGFydCgpOwogfQogCiBW
aXNpYmxlUG9zaXRpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6c3RhcnRGb3JQbGF0Zm9ybSgpIGNv
bnN0CkBAIC0zODUsOSArMzgxLDcgQEAgVmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xs
ZXI6Om1vZGlmeUV4dGVuZGluZ0ZvcndhcmQoVGV4dEdyYW51bGFyaXR5IGdyYW4KICAgICAgICAg
cG9zID0gZW5kT2ZTZW50ZW5jZShlbmRGb3JQbGF0Zm9ybSgpKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBMaW5lQm91bmRhcnk6Ci0gICAgICAgIHBvcyA9IGVuZEZvclBsYXRmb3JtKCk7Ci0g
ICAgICAgIHBvcy5zZXRBZmZpbml0eShVUFNUUkVBTSk7Ci0gICAgICAgIHBvcyA9IGxvZ2ljYWxF
bmRPZkxpbmUocG9zKTsKKyAgICAgICAgcG9zID0gbG9naWNhbEVuZE9mTGluZShlbmRGb3JQbGF0
Zm9ybSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQYXJhZ3JhcGhCb3VuZGFyeToKICAg
ICAgICAgcG9zID0gZW5kT2ZQYXJhZ3JhcGgoZW5kRm9yUGxhdGZvcm0oKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77100</attachid>
            <date>2010-12-21 04:12:06 -0800</date>
            <delta_ts>2010-12-21 17:18:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101221231202.patch</filename>
            <type>text/plain</type>
            <size>11992</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYjNlNzhkMDRkYzM2MjU0NjlmZjM3ZjUwMzU4YzAxMmQzNTA4MzAwLi4zMzBjNTUx
MDc5MjhkZTkxY2M2YTk5YjFhNGE2NjRiZWNlMTYxOWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMTItMjAgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgIEFkZCByZWdyZXNz
aW9uIHRlc3QgdGhhdCBzaGlmdC1lbmQgc2VsZWN0cyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lIGZv
ciBib3RoIExUUiBhbmQgUlRMIHRleHQuCisgICAgICAgIFJlYmFzZWxpbmUgYSB0ZXN0IHdoaWNo
IGFzc3VtZWQgaW5jb3JyZWN0IGJlaGF2aW91ciBvZiBzaGlmdC1lbmQgbm90IHNlbGVjdGluZyB0
byB0aGUgZW5kIG9mCisgICAgICAgIHRoZSBsaW5lLCBidXQgcmF0aGVyIG1vdmluZyBjdXJzb3Ig
dG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIGFib3ZlLgorCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQ6IE5ldyBiYXNlbGlu
ZS4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC10
by1saW5lLWJvdW5kYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dDogTmV3
IGJhc2VsaW5lLgorCiAyMDEwLTEyLTIwICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZXhwZWN0YXRpb24gcmVzdWx0cyB1cGRhdGUu
IEFkZGVkIGFsc28gdGhlIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CmluZGV4IGFlNTJmNmE2YmRjODRhZWFiMzViYTgzNDA3NDZkMzg3YjI3MzlkZWIuLmRmMGJm
OWYzZWM4ZTc3MmRlZDhhZjM1Njc0NGJkZGFlYTI5ZDUzYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24t
aG9tZS1lbmQtZXhwZWN0ZWQudHh0CkBAIC0xMjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6
CiAgIEV4dGVuZGluZyBiYWNrd2FyZDogICJBQkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRl
c3QgMjEsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBi
YWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJU
TDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDog
ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4
KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0
ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0
ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZv
cndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJh
Y2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyAiWygwLDgpLCAoMCwwKV0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI1ZmMzYWFkZjZkZjk1MGM4MmE3YWVjYjIwNWZmYjA2NGEyODU3NDQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGlu
ZS1ib3VuZGFyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0cyBzZWxlY3Rpbmcg
ZnJvbSB0aGUgc3RhcnQgb2YgYSBsaW5lIHRvIHRoZSBlbmQgdXNpbmcgbGluZWJvdW5kYXJ5LCBm
b3IgYm90aCBMVFIgYW5kIFJUTCAoSGVicmV3KSB0ZXh0CisKK0xUUiBzZWxlY3Rpb246Cit8ICJ0
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIDwjc2VsZWN0aW9uLWFuY2hvcj50aGUgcXVpY2sgYnJv
d24gZm94IGp1bXBzIDwjc2VsZWN0aW9uLWZvY3VzPnRoZSBxdWljayBicm93biBmb3gganVtcHMi
CisKK1JUTCBzZWxlY3Rpb246Cit8ICLXqdeV1rzXqNeUINep15XWvNeo15Qg16nXlda816jXlCA8
I3NlbGVjdGlvbi1hbmNob3I+16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15QgPCNzZWxl
Y3Rpb24tZm9jdXM+16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15QiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRh
cnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44Mzg3MGM3MzJjOGM0NDk2NGQ1MTA1YTczYmVmMWNlMzAwMmMz
ZjhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0
ZW5kLXRvLWxpbmUtYm91bmRhcnkuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBmdW5jdGlvbiBjcmVhdGVFZGl0YWJsZU11bHRpbGlu
ZURpdih0ZXh0LCBudW1MaW5lcykgeworICAgICAgLy8gUHV0IHRleHQgaW4gYSBzcGFuIHNvIHRo
YXQgdGhlIHdpZHRoIGNhbiBiZSBtZWFzdXJlZC4KKyAgICAgIHZhciBzcGFuID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgICAgc3Bhbi5pbm5lckhUTUwgPSB0ZXh0OworICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzcGFuKTsKKyAgICAgIHZhciB3aWR0aFB4ID0g
c3Bhbi5vZmZzZXRXaWR0aDsKKyAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3Bhbik7
CisKKyAgICAgIC8vIE1ha2UgZGl2IHdpdGggdGhvc2UgZGltZW5zaW9ucyBzbyB0aGF0IHRoZSB0
ZXh0IHdyYXBzIHByZWRpY3RhYmx5IHJlZ2FyZGxlc3Mgb2YgcGxhdGZvcm0uCisgICAgICB2YXIg
bGluZXMgPSB0ZXh0OworICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBudW1MaW5lczsgaSsrKQor
ICAgICAgICAgIGxpbmVzICs9ICIgIiArIHRleHQ7CisKKyAgICAgIHZhciBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgIGRpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwg
IndpZHRoOiAiICsgd2lkdGhQeCArICJweCIpOworICAgICAgZGl2LmNvbnRlbnRFZGl0YWJsZSA9
IHRydWU7CisgICAgICBkaXYuaW5uZXJIVE1MID0gbGluZXM7CisKKyAgICAgIHJldHVybiBkaXY7
CisgIH0KKworICBmdW5jdGlvbiBzZWxlY3RTZWNvbmRMaW5lKGVsZW1lbnQpIHsKKyAgICAgIGdl
dFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGVsZW1lbnQuY2hpbGROb2Rlc1swXSwgMCk7CisgICAg
ICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1vdmUiLCAiZm9yd2FyZCIsICJsaW5lIik7CisgICAg
ICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIsICJmb3J3YXJkIiwgImxpbmVib3VuZGFy
eSIpOworICB9CisKKyAgTWFya3VwLmRlc2NyaXB0aW9uKCJUZXN0cyBzZWxlY3RpbmcgZnJvbSB0
aGUgc3RhcnQgb2YgYSBsaW5lIHRvIHRoZSBlbmQgdXNpbmcgbGluZWJvdW5kYXJ5LCBmb3IgYm90
aCBMVFIgYW5kIFJUTCAoSGVicmV3KSB0ZXh0Iik7CisKKyAgbHRyVGV4dCA9ICJ0aGUgcXVpY2sg
YnJvd24gZm94IGp1bXBzIjsKKyAgbHRyVGV4dENvbnRhaW5lciA9IGNyZWF0ZUVkaXRhYmxlTXVs
dGlsaW5lRGl2KGx0clRleHQsIDMpOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGx0clRl
eHRDb250YWluZXIpOworICBzZWxlY3RTZWNvbmRMaW5lKGx0clRleHRDb250YWluZXIpOworICBN
YXJrdXAuZHVtcChsdHJUZXh0Q29udGFpbmVyLCAiTFRSIHNlbGVjdGlvbiIpOworCisgIHJ0bFRl
eHQgPSAiJiN4MDVFOTsmI3gwNUQ1OyYjeDA1QkM7JiN4MDVFODsmI3gwNUQ0OyAmI3gwNUU5OyYj
eDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7ICYjeDA1RTk7JiN4MDVENTsmI3gwNUJDOyYj
eDA1RTg7JiN4MDVENDsiOworICBydGxUZXh0Q29udGFpbmVyID0gY3JlYXRlRWRpdGFibGVNdWx0
aWxpbmVEaXYocnRsVGV4dCwgMyk7CisgIHJ0bFRleHRDb250YWluZXIuc2V0QXR0cmlidXRlKCJk
aXIiLCAicnRsIik7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocnRsVGV4dENvbnRhaW5l
cik7CisgIHNlbGVjdFNlY29uZExpbmUocnRsVGV4dENvbnRhaW5lcik7CisgIE1hcmt1cC5kdW1w
KHJ0bFRleHRDb250YWluZXIsICJSVEwgc2VsZWN0aW9uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9l
eHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVj
dGVkLnR4dAppbmRleCBhZTUyZjZhNmJkYzg0YWVhYjM1YmE4MzQwNzQ2ZDM4N2IyNzM5ZGViLi5k
ZjBiZjlmM2VjOGU3NzJkZWQ4YWYzNTY3NDRiZGRhZWEyOWQ1M2M5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1o
b21lLWVuZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRp
bmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQudHh0CkBAIC0x
MjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6CiAgIEV4dGVuZGluZyBiYWNrd2FyZDogICJB
QkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRlc3QgMjEsIExUUjoKICAgRXh0ZW5kaW5nIGZv
cndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJh
Y2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJUTDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwg
KDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAg
ImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgp
LCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0g
IEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0K
IFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGlu
ZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMThmZTkw
OTAxZWQzYThmMjYyNmVmMGQ3MzM1OTdhYWZlNjdmNmI1Li43MGU5ZTAyYTJmMDVlNzgyY2UzYTcw
NjEwNzY5YjY1ZTQ5MzRkYWNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTEyLTIwICBCZW5qYW1pbiBL
YWxtYW4gIDxrYWxtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNoaWZ0LUVuZCBkb2VzIG5vdCBzZWxlY3QgdG8gdGhlIGVu
ZCBvZiB0aGUgbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTA2MTAKKworICAgICAgICBMZXQgdGhlIFZpc2libGVQb3NpdGlvbiBhZmZpbml0eSBm
b3IgZW5kIG9mIGxpbmUgc2VsZWN0aW9uIHRvIGJlIHNldCBieQorICAgICAgICB2aXNpYmxlRW5k
L3Zpc2libGVTdGFydCByYXRoZXIgdGhhbiB1c2luZyBlbmQvc3RhcnQgYW5kIGFsd2F5cyB1c2lu
ZyBVUFNUUkVBTS4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8t
bGluZS1ib3VuZGFyeS5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25G
b3JQbGF0Zm9ybSk6IFVzZSB2aXNpYmxlU3RhcnQvdmlzaWJsZUVuZCByYXRoZXIgdGhhbgorICAg
ICAgICBzdGFydC9lbmQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjpt
b2RpZnlFeHRlbmRpbmdGb3J3YXJkKTogRG9uJ3QgZXhwbGljaXRseSB1c2UgVVBTVFJFQU0gYWZm
aW5pdHkuCisKIDIwMTAtMTItMjAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9T
ZWxlY3Rpb25Db250cm9sbGVyLmNwcAppbmRleCA0ZmM2YmJlYjM3NWYyMjA0MWRhMDIzMjU2YmVi
MWYwN2U5MzExOGUxLi45Y2RkZjFkODljOTlmZmQ5OTVlMzFhNzEwOTQxZjk1Y2M5NmIwZTY2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKKysrIGIv
V2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0zMDIsMTkgKzMwMiwx
NSBAQCBUZXh0RGlyZWN0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OmRpcmVjdGlvbk9mRW5jbG9z
aW5nQmxvY2soKQogCiBWaXNpYmxlUG9zaXRpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6cG9zaXRp
b25Gb3JQbGF0Zm9ybShib29sIGlzR2V0U3RhcnQpIGNvbnN0CiB7Ci0gICAgUG9zaXRpb24gcG9z
OwogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUgPyBtX2ZyYW1lLT5zZXR0aW5ncygp
IDogMDsKICAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmVkaXRpbmdCZWhhdmlvclR5cGUo
KSA9PSBFZGl0aW5nTWFjQmVoYXZpb3IpCi0gICAgICAgIHBvcyA9IGlzR2V0U3RhcnQgPyBtX3Nl
bGVjdGlvbi5zdGFydCgpIDogbV9zZWxlY3Rpb24uZW5kKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAg
IC8vIExpbnV4IGFuZCBXaW5kb3dzIGFsd2F5cyBleHRlbmQgc2VsZWN0aW9ucyBmcm9tIHRoZSBl
eHRlbnQgZW5kcG9pbnQuCi0gICAgICAgIC8vIEZJWE1FOiBWaXNpYmxlU2VsZWN0aW9uIHNob3Vs
ZCBiZSBmaXhlZCB0byBlbnN1cmUgYXMgYW4gaW52YXJpYW50IHRoYXQKLSAgICAgICAgLy8gYmFz
ZS9leHRlbnQgYWx3YXlzIHBvaW50IHRvIHRoZSBzYW1lIG5vZGVzIGFzIHN0YXJ0L2VuZCwgYnV0
IHdoaWNoIHBvaW50cwotICAgICAgICAvLyB0byB3aGljaCBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBv
ZiBpc0Jhc2VGaXJzdC4gVGhlbiB0aGlzIGNhbiBiZSBjaGFuZ2VkCi0gICAgICAgIC8vIHRvIGp1
c3QgcmV0dXJuIG1fc2VsLmV4dGVudCgpLgotICAgICAgICBwb3MgPSBtX3NlbGVjdGlvbi5pc0Jh
c2VGaXJzdCgpID8gbV9zZWxlY3Rpb24uZW5kKCkgOiBtX3NlbGVjdGlvbi5zdGFydCgpOwotICAg
IH0KLSAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgbV9zZWxlY3Rpb24uYWZmaW5pdHko
KSk7CisgICAgICAgIHJldHVybiBpc0dldFN0YXJ0ID8gbV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0
KCkgOiBtX3NlbGVjdGlvbi52aXNpYmxlRW5kKCk7CisgICAgLy8gTGludXggYW5kIFdpbmRvd3Mg
YWx3YXlzIGV4dGVuZCBzZWxlY3Rpb25zIGZyb20gdGhlIGV4dGVudCBlbmRwb2ludC4KKyAgICAv
LyBGSVhNRTogVmlzaWJsZVNlbGVjdGlvbiBzaG91bGQgYmUgZml4ZWQgdG8gZW5zdXJlIGFzIGFu
IGludmFyaWFudCB0aGF0CisgICAgLy8gYmFzZS9leHRlbnQgYWx3YXlzIHBvaW50IHRvIHRoZSBz
YW1lIG5vZGVzIGFzIHN0YXJ0L2VuZCwgYnV0IHdoaWNoIHBvaW50cworICAgIC8vIHRvIHdoaWNo
IGRlcGVuZHMgb24gdGhlIHZhbHVlIG9mIGlzQmFzZUZpcnN0LiBUaGVuIHRoaXMgY2FuIGJlIGNo
YW5nZWQKKyAgICAvLyB0byBqdXN0IHJldHVybiBtX3NlbC5leHRlbnQoKS4KKyAgICByZXR1cm4g
bV9zZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSA/IG1fc2VsZWN0aW9uLnZpc2libGVFbmQoKSA6IG1f
c2VsZWN0aW9uLnZpc2libGVTdGFydCgpOwogfQogCiBWaXNpYmxlUG9zaXRpb24gU2VsZWN0aW9u
Q29udHJvbGxlcjo6c3RhcnRGb3JQbGF0Zm9ybSgpIGNvbnN0CkBAIC0zODUsOSArMzgxLDcgQEAg
VmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6Om1vZGlmeUV4dGVuZGluZ0Zvcndh
cmQoVGV4dEdyYW51bGFyaXR5IGdyYW4KICAgICAgICAgcG9zID0gZW5kT2ZTZW50ZW5jZShlbmRG
b3JQbGF0Zm9ybSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMaW5lQm91bmRhcnk6Ci0g
ICAgICAgIHBvcyA9IGVuZEZvclBsYXRmb3JtKCk7Ci0gICAgICAgIHBvcy5zZXRBZmZpbml0eShV
UFNUUkVBTSk7Ci0gICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUocG9zKTsKKyAgICAgICAg
cG9zID0gbG9naWNhbEVuZE9mTGluZShlbmRGb3JQbGF0Zm9ybSgpKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBQYXJhZ3JhcGhCb3VuZGFyeToKICAgICAgICAgcG9zID0gZW5kT2ZQYXJhZ3Jh
cGgoZW5kRm9yUGxhdGZvcm0oKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77169</attachid>
            <date>2010-12-21 17:18:32 -0800</date>
            <delta_ts>2010-12-21 17:33:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101222121829.patch</filename>
            <type>text/plain</type>
            <size>12416</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYjNlNzhkMDRkYzM2MjU0NjlmZjM3ZjUwMzU4YzAxMmQzNTA4MzAwLi4zMzBjNTUx
MDc5MjhkZTkxY2M2YTk5YjFhNGE2NjRiZWNlMTYxOWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMTItMjAgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgIEFkZCByZWdyZXNz
aW9uIHRlc3QgdGhhdCBzaGlmdC1lbmQgc2VsZWN0cyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lIGZv
ciBib3RoIExUUiBhbmQgUlRMIHRleHQuCisgICAgICAgIFJlYmFzZWxpbmUgYSB0ZXN0IHdoaWNo
IGFzc3VtZWQgaW5jb3JyZWN0IGJlaGF2aW91ciBvZiBzaGlmdC1lbmQgbm90IHNlbGVjdGluZyB0
byB0aGUgZW5kIG9mCisgICAgICAgIHRoZSBsaW5lLCBidXQgcmF0aGVyIG1vdmluZyBjdXJzb3Ig
dG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIGFib3ZlLgorCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQ6IE5ldyBiYXNlbGlu
ZS4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC10
by1saW5lLWJvdW5kYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dDogTmV3
IGJhc2VsaW5lLgorCiAyMDEwLTEyLTIwICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZXhwZWN0YXRpb24gcmVzdWx0cyB1cGRhdGUu
IEFkZGVkIGFsc28gdGhlIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CmluZGV4IGFlNTJmNmE2YmRjODRhZWFiMzViYTgzNDA3NDZkMzg3YjI3MzlkZWIuLmRmMGJm
OWYzZWM4ZTc3MmRlZDhhZjM1Njc0NGJkZGFlYTI5ZDUzYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24t
aG9tZS1lbmQtZXhwZWN0ZWQudHh0CkBAIC0xMjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6
CiAgIEV4dGVuZGluZyBiYWNrd2FyZDogICJBQkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRl
c3QgMjEsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBi
YWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJU
TDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDog
ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4
KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0
ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0
ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZv
cndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJh
Y2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyAiWygwLDgpLCAoMCwwKV0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdmNWRjMWI0MmU1N2Q5ZmI5MDA1NDA0MmU5OTUwOTNiM2JmNzA1YTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGlu
ZS1ib3VuZGFyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitQQVNTIGZvciBMVFIKK1BB
U1MgZm9yIFJUTAorCit0aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIHRoZSBxdWljayBicm93biBm
b3gganVtcHMgdGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcwor16nXlda816jXlCDXqdeV1rzXqNeU
INep15XWvNeo15Qg16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15Qg16nXlda816jXlCDX
qdeV1rzXqNeUINep15XWvNeo15QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmMjJl
NjRjZGZkYWI4ZDRlYzA5MTRmZGEyMmM3MzJjNjYwMDY3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1s
CkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8cHJlIGlkPSJjb25z
b2xlIj48L3ByZT4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gbG9nKHMpIHsKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gcyArICJcbiI7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gY3JlYXRlRWRpdGFibGVNdWx0aWxpbmVEaXYodGV4dCwgbnVt
TGluZXMpIHsKKyAgICAgICAgLy8gUHV0IHRleHQgaW4gYSBzcGFuIHNvIHRoYXQgdGhlIHdpZHRo
IGNhbiBiZSBtZWFzdXJlZC4KKyAgICAgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIik7CisgICAgICAgIHNwYW4uaW5uZXJIVE1MID0gdGV4dDsKKyAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChzcGFuKTsKKyAgICAgICAgdmFyIHdpZHRoUHggPSBzcGFu
Lm9mZnNldFdpZHRoOworICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNwYW4pOwor
CisgICAgICAgIC8vIE1ha2UgZGl2IHdpdGggdGhvc2UgZGltZW5zaW9ucyBzbyB0aGF0IHRoZSB0
ZXh0IHdyYXBzIHByZWRpY3RhYmx5IHJlZ2FyZGxlc3Mgb2YgcGxhdGZvcm0uCisgICAgICAgIHZh
ciBsaW5lcyA9IHRleHQ7CisgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgbnVtTGluZXM7IGkr
KykKKyAgICAgICAgICAgIGxpbmVzICs9ICIgIiArIHRleHQ7CisKKyAgICAgICAgdmFyIGRpdiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBkaXYuc2V0QXR0cmlidXRl
KCJzdHlsZSIsICJ3aWR0aDogIiArIHdpZHRoUHggKyAicHgiKTsKKyAgICAgICAgZGl2LmNvbnRl
bnRFZGl0YWJsZSA9IHRydWU7CisgICAgICAgIGRpdi5pbm5lckhUTUwgPSBsaW5lczsKKworICAg
ICAgICByZXR1cm4gZGl2OworICAgIH0KKworICAgIGZ1bmN0aW9uIHNlbGVjdFNlY29uZExpbmUo
ZWxlbWVudCkgeworICAgICAgICBnZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbihlbGVtZW50LmNo
aWxkTm9kZXNbMF0sIDApOworICAgICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoIm1vdmUiLCAi
Zm9yd2FyZCIsICJsaW5lIik7CisgICAgICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5k
IiwgImZvcndhcmQiLCAibGluZWJvdW5kYXJ5Iik7CisgICAgfQorCisgICAgZnVuY3Rpb24gdW5l
c2NhcGVSdGwocnRsVGV4dCkgeworICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKKyAgICAgICAgZS5pbm5lckhUTUwgPSBydGxUZXh0OworICAgICAgICByZXR1
cm4gZS5pbm5lckhUTUw7CisgICAgfQorCisgICAgbHRyVGV4dCA9ICJ0aGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBzIjsKKyAgICBsdHJUZXh0Q29udGFpbmVyID0gY3JlYXRlRWRpdGFibGVNdWx0aWxp
bmVEaXYobHRyVGV4dCwgMyk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsdHJUZXh0
Q29udGFpbmVyKTsKKyAgICBzZWxlY3RTZWNvbmRMaW5lKGx0clRleHRDb250YWluZXIpOworCisg
ICAgaWYgKGdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgPT09IGx0clRleHQgKyAiICIpCisgICAg
ICAgIGxvZygiUEFTUyBmb3IgTFRSIik7CisgICAgZWxzZQorICAgICAgICBsb2coIkZBSUwgZm9y
IExUUiwgc2VsZWN0aW9uIGlzICciICsgZ2V0U2VsZWN0aW9uKCkgKyAiJyBidXQgc2hvdWxkIGJl
ICciICsgbHRyVGV4dCArICIgJyIpOworCisgICAgcnRsVGV4dCA9IHVuZXNjYXBlUnRsKCImI3gw
NUU5OyYjeDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7ICIgKworICAgICAgICAgICAgICAg
ICAgICAgICAgICAiJiN4MDVFOTsmI3gwNUQ1OyYjeDA1QkM7JiN4MDVFODsmI3gwNUQ0OyAiICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIiYjeDA1RTk7JiN4MDVENTsmI3gwNUJDOyYjeDA1
RTg7JiN4MDVENDsiKTsKKyAgICBydGxUZXh0Q29udGFpbmVyID0gY3JlYXRlRWRpdGFibGVNdWx0
aWxpbmVEaXYocnRsVGV4dCwgMyk7CisgICAgcnRsVGV4dENvbnRhaW5lci5zZXRBdHRyaWJ1dGUo
ImRpciIsICJydGwiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJ0bFRleHRDb250
YWluZXIpOworICAgIHNlbGVjdFNlY29uZExpbmUocnRsVGV4dENvbnRhaW5lcik7CisKKyAgICBp
ZiAoZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSA9PT0gcnRsVGV4dCArICIgIikKKyAgICAgICAg
bG9nKCJQQVNTIGZvciBSVEwiKTsKKyAgICBlbHNlCisgICAgICAgIGxvZygiRkFJTCBmb3IgUlRM
LCBzZWxlY3Rpb24gaXMgJyIgKyBnZXRTZWxlY3Rpb24oKSArICInIGJ1dCBzaG91bGQgYmUgJyIg
KyBydGxUZXh0ICsgIiAnIik7CisKKyAgICBsb2coIiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5k
LXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQKaW5kZXggYWU1MmY2YTZiZGM4NGFlYWIz
NWJhODM0MDc0NmQzODdiMjczOWRlYi4uZGYwYmY5ZjNlYzhlNzcyZGVkOGFmMzU2NzQ0YmRkYWVh
MjlkNTNjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2Vs
ZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhv
bWUtZW5kLWV4cGVjdGVkLnR4dApAQCAtMTI0LDE0ICsxMjQsMTQgQEAgVGVzdCAyMCwgUlRMOgog
ICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiQUJDIGFiYyBERUYiWygwLDExKSwgKDAsMCldCiBUZXN0
IDIxLCBMVFI6CiAgIEV4dGVuZGluZyBmb3J3YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFj
a3dhcmQ6ICAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
ICJbKDAsOCldCisgIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KSwgKDAsMCldCiBUZXN0IDIxLCBSVEw6
CiAgIEV4dGVuZGluZyBmb3J3YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnICJbKDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAi
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCld
CisgIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KSwgKDAsMCldCiBUZXN0IDIyLCBMVFI6CiAgIEV4dGVu
ZGluZyBmb3J3YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnICJbKDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCldCisgIEV4dGVu
ZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgIlsoMCw4KSwgKDAsMCldCiBUZXN0IDIyLCBSVEw6CiAgIEV4dGVuZGluZyBmb3J3
YXJkOiAiYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJb
KDAsMCksICgwLDgpXQotICBFeHRlbmRpbmcgYmFja3dhcmQ6ICAiYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYSBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnICJbKDAsOCldCisgIEV4dGVuZGluZyBiYWNr
d2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCw4KSwgKDAsMCldCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggYzE4ZmU5MDkwMWVkM2E4ZjI2MjZlZjBkNzMzNTk3YWFmZTY3ZjZi
NS4uNzBlOWUwMmEyZjA1ZTc4MmNlM2E3MDYxMDc2OWI2NWU0OTM0ZGFjYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBA
QAorMjAxMC0xMi0yMCAgQmVuamFtaW4gS2FsbWFuICA8a2FsbWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaGlmdC1FbmQg
ZG9lcyBub3Qgc2VsZWN0IHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNjEwCisKKyAgICAgICAgTGV0IHRoZSBW
aXNpYmxlUG9zaXRpb24gYWZmaW5pdHkgZm9yIGVuZCBvZiBsaW5lIHNlbGVjdGlvbiB0byBiZSBz
ZXQgYnkKKyAgICAgICAgdmlzaWJsZUVuZC92aXNpYmxlU3RhcnQgcmF0aGVyIHRoYW4gdXNpbmcg
ZW5kL3N0YXJ0IGFuZCBhbHdheXMgdXNpbmcgVVBTVFJFQU0uCisKKyAgICAgICAgVGVzdDogZWRp
dGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnkuaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVj
dGlvbkNvbnRyb2xsZXI6OnBvc2l0aW9uRm9yUGxhdGZvcm0pOiBVc2UgdmlzaWJsZVN0YXJ0L3Zp
c2libGVFbmQgcmF0aGVyIHRoYW4KKyAgICAgICAgc3RhcnQvZW5kLgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6bW9kaWZ5RXh0ZW5kaW5nRm9yd2FyZCk6IERvbid0IGV4
cGxpY2l0bHkgdXNlIFVQU1RSRUFNIGFmZmluaXR5LgorCiAyMDEwLTEyLTIwICBZdXJ5IFNlbWlr
aGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNGZj
NmJiZWIzNzVmMjIwNDFkYTAyMzI1NmJlYjFmMDdlOTMxMThlMS4uOWNkZGYxZDg5Yzk5ZmZkOTk1
ZTMxYTcxMDk0MWY5NWNjOTZiMGU2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVj
dGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9s
bGVyLmNwcApAQCAtMzAyLDE5ICszMDIsMTUgQEAgVGV4dERpcmVjdGlvbiBTZWxlY3Rpb25Db250
cm9sbGVyOjpkaXJlY3Rpb25PZkVuY2xvc2luZ0Jsb2NrKCkKIAogVmlzaWJsZVBvc2l0aW9uIFNl
bGVjdGlvbkNvbnRyb2xsZXI6OnBvc2l0aW9uRm9yUGxhdGZvcm0oYm9vbCBpc0dldFN0YXJ0KSBj
b25zdAogewotICAgIFBvc2l0aW9uIHBvczsKICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2Zy
YW1lID8gbV9mcmFtZS0+c2V0dGluZ3MoKSA6IDA7CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRp
bmdzLT5lZGl0aW5nQmVoYXZpb3JUeXBlKCkgPT0gRWRpdGluZ01hY0JlaGF2aW9yKQotICAgICAg
ICBwb3MgPSBpc0dldFN0YXJ0ID8gbV9zZWxlY3Rpb24uc3RhcnQoKSA6IG1fc2VsZWN0aW9uLmVu
ZCgpOwotICAgIGVsc2UgewotICAgICAgICAvLyBMaW51eCBhbmQgV2luZG93cyBhbHdheXMgZXh0
ZW5kIHNlbGVjdGlvbnMgZnJvbSB0aGUgZXh0ZW50IGVuZHBvaW50LgotICAgICAgICAvLyBGSVhN
RTogVmlzaWJsZVNlbGVjdGlvbiBzaG91bGQgYmUgZml4ZWQgdG8gZW5zdXJlIGFzIGFuIGludmFy
aWFudCB0aGF0Ci0gICAgICAgIC8vIGJhc2UvZXh0ZW50IGFsd2F5cyBwb2ludCB0byB0aGUgc2Ft
ZSBub2RlcyBhcyBzdGFydC9lbmQsIGJ1dCB3aGljaCBwb2ludHMKLSAgICAgICAgLy8gdG8gd2hp
Y2ggZGVwZW5kcyBvbiB0aGUgdmFsdWUgb2YgaXNCYXNlRmlyc3QuIFRoZW4gdGhpcyBjYW4gYmUg
Y2hhbmdlZAotICAgICAgICAvLyB0byBqdXN0IHJldHVybiBtX3NlbC5leHRlbnQoKS4KLSAgICAg
ICAgcG9zID0gbV9zZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSA/IG1fc2VsZWN0aW9uLmVuZCgpIDog
bV9zZWxlY3Rpb24uc3RhcnQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihw
b3MsIG1fc2VsZWN0aW9uLmFmZmluaXR5KCkpOworICAgICAgICByZXR1cm4gaXNHZXRTdGFydCA/
IG1fc2VsZWN0aW9uLnZpc2libGVTdGFydCgpIDogbV9zZWxlY3Rpb24udmlzaWJsZUVuZCgpOwor
ICAgIC8vIExpbnV4IGFuZCBXaW5kb3dzIGFsd2F5cyBleHRlbmQgc2VsZWN0aW9ucyBmcm9tIHRo
ZSBleHRlbnQgZW5kcG9pbnQuCisgICAgLy8gRklYTUU6IFZpc2libGVTZWxlY3Rpb24gc2hvdWxk
IGJlIGZpeGVkIHRvIGVuc3VyZSBhcyBhbiBpbnZhcmlhbnQgdGhhdAorICAgIC8vIGJhc2UvZXh0
ZW50IGFsd2F5cyBwb2ludCB0byB0aGUgc2FtZSBub2RlcyBhcyBzdGFydC9lbmQsIGJ1dCB3aGlj
aCBwb2ludHMKKyAgICAvLyB0byB3aGljaCBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiBpc0Jhc2VG
aXJzdC4gVGhlbiB0aGlzIGNhbiBiZSBjaGFuZ2VkCisgICAgLy8gdG8ganVzdCByZXR1cm4gbV9z
ZWwuZXh0ZW50KCkuCisgICAgcmV0dXJuIG1fc2VsZWN0aW9uLmlzQmFzZUZpcnN0KCkgPyBtX3Nl
bGVjdGlvbi52aXNpYmxlRW5kKCkgOiBtX3NlbGVjdGlvbi52aXNpYmxlU3RhcnQoKTsKIH0KIAog
VmlzaWJsZVBvc2l0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OnN0YXJ0Rm9yUGxhdGZvcm0oKSBj
b25zdApAQCAtMzg1LDkgKzM4MSw3IEBAIFZpc2libGVQb3NpdGlvbiBTZWxlY3Rpb25Db250cm9s
bGVyOjptb2RpZnlFeHRlbmRpbmdGb3J3YXJkKFRleHRHcmFudWxhcml0eSBncmFuCiAgICAgICAg
IHBvcyA9IGVuZE9mU2VudGVuY2UoZW5kRm9yUGxhdGZvcm0oKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgTGluZUJvdW5kYXJ5OgotICAgICAgICBwb3MgPSBlbmRGb3JQbGF0Zm9ybSgpOwot
ICAgICAgICBwb3Muc2V0QWZmaW5pdHkoVVBTVFJFQU0pOwotICAgICAgICBwb3MgPSBsb2dpY2Fs
RW5kT2ZMaW5lKHBvcyk7CisgICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUoZW5kRm9yUGxh
dGZvcm0oKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGFyYWdyYXBoQm91bmRhcnk6CiAg
ICAgICAgIHBvcyA9IGVuZE9mUGFyYWdyYXBoKGVuZEZvclBsYXRmb3JtKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77171</attachid>
            <date>2010-12-21 17:33:39 -0800</date>
            <delta_ts>2010-12-21 19:45:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50610-20101222123335.patch</filename>
            <type>text/plain</type>
            <size>12208</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmYjNlNzhkMDRkYzM2MjU0NjlmZjM3ZjUwMzU4YzAxMmQzNTA4MzAwLi4zMzBjNTUx
MDc5MjhkZTkxY2M2YTk5YjFhNGE2NjRiZWNlMTYxOWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMTItMjAgIEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hpZnQtRW5kIGRv
ZXMgbm90IHNlbGVjdCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDYxMAorCisgICAgICAgIEFkZCByZWdyZXNz
aW9uIHRlc3QgdGhhdCBzaGlmdC1lbmQgc2VsZWN0cyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lIGZv
ciBib3RoIExUUiBhbmQgUlRMIHRleHQuCisgICAgICAgIFJlYmFzZWxpbmUgYSB0ZXN0IHdoaWNo
IGFzc3VtZWQgaW5jb3JyZWN0IGJlaGF2aW91ciBvZiBzaGlmdC1lbmQgbm90IHNlbGVjdGluZyB0
byB0aGUgZW5kIG9mCisgICAgICAgIHRoZSBsaW5lLCBidXQgcmF0aGVyIG1vdmluZyBjdXJzb3Ig
dG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIGFib3ZlLgorCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBlY3RlZC50eHQ6IE5ldyBiYXNlbGlu
ZS4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC10
by1saW5lLWJvdW5kYXJ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dDogTmV3
IGJhc2VsaW5lLgorCiAyMDEwLTEyLTIwICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZXhwZWN0YXRpb24gcmVzdWx0cyB1cGRhdGUu
IEFkZGVkIGFsc28gdGhlIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CmluZGV4IGFlNTJmNmE2YmRjODRhZWFiMzViYTgzNDA3NDZkMzg3YjI3MzlkZWIuLmRmMGJm
OWYzZWM4ZTc3MmRlZDhhZjM1Njc0NGJkZGFlYTI5ZDUzYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1zZWxlY3Rpb24t
aG9tZS1lbmQtZXhwZWN0ZWQudHh0CkBAIC0xMjQsMTQgKzEyNCwxNCBAQCBUZXN0IDIwLCBSVEw6
CiAgIEV4dGVuZGluZyBiYWNrd2FyZDogICJBQkMgYWJjIERFRiJbKDAsMTEpLCAoMCwwKV0KIFRl
c3QgMjEsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBi
YWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjEsIFJU
TDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDog
ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4
KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIExUUjoKICAgRXh0
ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0
ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIFJUTDoKICAgRXh0ZW5kaW5nIGZv
cndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcg
IlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcg
YWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZn
IGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJh
Y2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyAiWygwLDgpLCAoMCwwKV0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXRvLWxpbmUtYm91bmRhcnktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdmNWRjMWI0MmU1N2Q5ZmI5MDA1NDA0MmU5OTUwOTNiM2JmNzA1YTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGlu
ZS1ib3VuZGFyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitQQVNTIGZvciBMVFIKK1BB
U1MgZm9yIFJUTAorCit0aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIHRoZSBxdWljayBicm93biBm
b3gganVtcHMgdGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcwor16nXlda816jXlCDXqdeV1rzXqNeU
INep15XWvNeo15Qg16nXlda816jXlCDXqdeV1rzXqNeUINep15XWvNeo15Qg16nXlda816jXlCDX
qdeV1rzXqNeUINep15XWvNeo15QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2V4dGVuZC10by1saW5lLWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3MjYx
ZmZmMzJiMGYzNWU3MWJiN2YxYmQ0YWZkNDlkYjFkNWQzODAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFyeS5odG1s
CkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8cHJlIGlkPSJjb25z
b2xlIj48L3ByZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cocykgeworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IHMgKyAiXG4iOworfQorCitmdW5j
dGlvbiBjcmVhdGVFZGl0YWJsZU11bHRpbGluZURpdih0ZXh0LCBudW1MaW5lcykgeworICAgIC8v
IFB1dCB0ZXh0IGluIGEgc3BhbiBzbyB0aGF0IHRoZSB3aWR0aCBjYW4gYmUgbWVhc3VyZWQuCisg
ICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgc3Bhbi5p
bm5lckhUTUwgPSB0ZXh0OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3Bhbik7Cisg
ICAgdmFyIHdpZHRoUHggPSBzcGFuLm9mZnNldFdpZHRoOworICAgIGRvY3VtZW50LmJvZHkucmVt
b3ZlQ2hpbGQoc3Bhbik7CisKKyAgICAvLyBNYWtlIGRpdiB3aXRoIHRob3NlIGRpbWVuc2lvbnMg
c28gdGhhdCB0aGUgdGV4dCB3cmFwcyBwcmVkaWN0YWJseSByZWdhcmRsZXNzIG9mIHBsYXRmb3Jt
LgorICAgIHZhciBsaW5lcyA9IHRleHQ7CisgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBudW1MaW5l
czsgaSsrKQorICAgICAgICBsaW5lcyArPSAiICIgKyB0ZXh0OworCisgICAgdmFyIGRpdiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRpdi5zZXRBdHRyaWJ1dGUoInN0eWxl
IiwgIndpZHRoOiAiICsgd2lkdGhQeCArICJweCIpOworICAgIGRpdi5jb250ZW50RWRpdGFibGUg
PSB0cnVlOworICAgIGRpdi5pbm5lckhUTUwgPSBsaW5lczsKKworICAgIHJldHVybiBkaXY7Cit9
CisKK2Z1bmN0aW9uIHNlbGVjdFNlY29uZExpbmUoZWxlbWVudCkgeworICAgIGdldFNlbGVjdGlv
bigpLnNldFBvc2l0aW9uKGVsZW1lbnQuY2hpbGROb2Rlc1swXSwgMCk7CisgICAgZ2V0U2VsZWN0
aW9uKCkubW9kaWZ5KCJtb3ZlIiwgImZvcndhcmQiLCAibGluZSIpOworICAgIGdldFNlbGVjdGlv
bigpLm1vZGlmeSgiZXh0ZW5kIiwgImZvcndhcmQiLCAibGluZWJvdW5kYXJ5Iik7Cit9CisKK2Z1
bmN0aW9uIHVuZXNjYXBlUnRsKHJ0bFRleHQpIHsKKyAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBlLmlubmVySFRNTCA9IHJ0bFRleHQ7CisgICAgcmV0dXJu
IGUuaW5uZXJIVE1MOworfQorCitsdHJUZXh0ID0gInRoZSBxdWljayBicm93biBmb3gganVtcHMi
OworbHRyVGV4dENvbnRhaW5lciA9IGNyZWF0ZUVkaXRhYmxlTXVsdGlsaW5lRGl2KGx0clRleHQs
IDMpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsdHJUZXh0Q29udGFpbmVyKTsKK3NlbGVj
dFNlY29uZExpbmUobHRyVGV4dENvbnRhaW5lcik7CisKK2lmIChnZXRTZWxlY3Rpb24oKS50b1N0
cmluZygpID09PSBsdHJUZXh0ICsgIiAiKQorICAgIGxvZygiUEFTUyBmb3IgTFRSIik7CitlbHNl
CisgICAgbG9nKCJGQUlMIGZvciBMVFIsIHNlbGVjdGlvbiBpcyAnIiArIGdldFNlbGVjdGlvbigp
ICsgIicgYnV0IHNob3VsZCBiZSAnIiArIGx0clRleHQgKyAiICciKTsKKworcnRsVGV4dCA9IHVu
ZXNjYXBlUnRsKCImI3gwNUU5OyYjeDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYjeDA1RDQ7ICIgKwor
ICAgICAgICAgICAgICAgICAgICAgICImI3gwNUU5OyYjeDA1RDU7JiN4MDVCQzsmI3gwNUU4OyYj
eDA1RDQ7ICIgKworICAgICAgICAgICAgICAgICAgICAgICImI3gwNUU5OyYjeDA1RDU7JiN4MDVC
QzsmI3gwNUU4OyYjeDA1RDQ7Iik7CitydGxUZXh0Q29udGFpbmVyID0gY3JlYXRlRWRpdGFibGVN
dWx0aWxpbmVEaXYocnRsVGV4dCwgMyk7CitydGxUZXh0Q29udGFpbmVyLnNldEF0dHJpYnV0ZSgi
ZGlyIiwgInJ0bCIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChydGxUZXh0Q29udGFpbmVy
KTsKK3NlbGVjdFNlY29uZExpbmUocnRsVGV4dENvbnRhaW5lcik7CisKK2lmIChnZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpID09PSBydGxUZXh0ICsgIiAiKQorICAgIGxvZygiUEFTUyBmb3IgUlRM
Iik7CitlbHNlCisgICAgbG9nKCJGQUlMIGZvciBSVEwsIHNlbGVjdGlvbiBpcyAnIiArIGdldFNl
bGVjdGlvbigpICsgIicgYnV0IHNob3VsZCBiZSAnIiArIHJ0bFRleHQgKyAiICciKTsKKworbG9n
KCIiKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0
aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9lZGl0
aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWhvbWUtZW5kLWV4cGVjdGVkLnR4dAppbmRl
eCBhZTUyZjZhNmJkYzg0YWVhYjM1YmE4MzQwNzQ2ZDM4N2IyNzM5ZGViLi5kZjBiZjlmM2VjOGU3
NzJkZWQ4YWYzNTY3NDRiZGRhZWEyOWQ1M2M5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLXNlbGVjdGlvbi1ob21lLWVuZC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2VkaXRpbmcvc2VsZWN0aW9u
L2V4dGVuZC1zZWxlY3Rpb24taG9tZS1lbmQtZXhwZWN0ZWQudHh0CkBAIC0xMjQsMTQgKzEyNCwx
NCBAQCBUZXN0IDIwLCBSVEw6CiAgIEV4dGVuZGluZyBiYWNrd2FyZDogICJBQkMgYWJjIERFRiJb
KDAsMTEpLCAoMCwwKV0KIFRlc3QgMjEsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAs
OCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBh
YmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAo
MCwwKV0KIFRlc3QgMjEsIFJUTDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4
dGVuZGluZyBiYWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFi
Y2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRl
c3QgMjIsIExUUjoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBi
YWNrd2FyZDogICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgIlsoMCw4KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGEgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIFRlc3QgMjIsIFJU
TDoKICAgRXh0ZW5kaW5nIGZvcndhcmQ6ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVm
ZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCwwKSwgKDAsOCldCi0gIEV4dGVuZGluZyBiYWNrd2FyZDog
ICJhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2Rl
ZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgIlsoMCw4
KV0KKyAgRXh0ZW5kaW5nIGJhY2t3YXJkOiAgImFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGEgYWJj
ZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNkZWZnIGFiY2RlZmcgYWJjZGVmZyBhYmNk
ZWZnIGFiY2RlZmcgYWJjZGVmZyAiWygwLDgpLCAoMCwwKV0KIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMThmZTkwOTAxZWQzYThmMjYy
NmVmMGQ3MzM1OTdhYWZlNjdmNmI1Li43MGU5ZTAyYTJmMDVlNzgyY2UzYTcwNjEwNzY5YjY1ZTQ5
MzRkYWNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEwLTEyLTIwICBCZW5qYW1pbiBLYWxtYW4gIDxrYWxt
YW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNoaWZ0LUVuZCBkb2VzIG5vdCBzZWxlY3QgdG8gdGhlIGVuZCBvZiB0aGUgbGlu
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA2MTAK
KworICAgICAgICBMZXQgdGhlIFZpc2libGVQb3NpdGlvbiBhZmZpbml0eSBmb3IgZW5kIG9mIGxp
bmUgc2VsZWN0aW9uIHRvIGJlIHNldCBieQorICAgICAgICB2aXNpYmxlRW5kL3Zpc2libGVTdGFy
dCByYXRoZXIgdGhhbiB1c2luZyBlbmQvc3RhcnQgYW5kIGFsd2F5cyB1c2luZyBVUFNUUkVBTS4K
KworICAgICAgICBUZXN0OiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtdG8tbGluZS1ib3VuZGFy
eS5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25Gb3JQbGF0Zm9ybSk6
IFVzZSB2aXNpYmxlU3RhcnQvdmlzaWJsZUVuZCByYXRoZXIgdGhhbgorICAgICAgICBzdGFydC9l
bmQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjptb2RpZnlFeHRlbmRp
bmdGb3J3YXJkKTogRG9uJ3QgZXhwbGljaXRseSB1c2UgVVBTVFJFQU0gYWZmaW5pdHkuCisKIDIw
MTAtMTItMjAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGlu
Zy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250
cm9sbGVyLmNwcAppbmRleCA0ZmM2YmJlYjM3NWYyMjA0MWRhMDIzMjU2YmViMWYwN2U5MzExOGUx
Li45Y2RkZjFkODljOTlmZmQ5OTVlMzFhNzEwOTQxZjk1Y2M5NmIwZTY2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0zMDIsMTkgKzMwMiwxNSBAQCBUZXh0RGly
ZWN0aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6OmRpcmVjdGlvbk9mRW5jbG9zaW5nQmxvY2soKQog
CiBWaXNpYmxlUG9zaXRpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25Gb3JQbGF0Zm9y
bShib29sIGlzR2V0U3RhcnQpIGNvbnN0CiB7Ci0gICAgUG9zaXRpb24gcG9zOwogICAgIFNldHRp
bmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUgPyBtX2ZyYW1lLT5zZXR0aW5ncygpIDogMDsKICAgICBp
ZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmVkaXRpbmdCZWhhdmlvclR5cGUoKSA9PSBFZGl0aW5n
TWFjQmVoYXZpb3IpCi0gICAgICAgIHBvcyA9IGlzR2V0U3RhcnQgPyBtX3NlbGVjdGlvbi5zdGFy
dCgpIDogbV9zZWxlY3Rpb24uZW5kKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIExpbnV4IGFu
ZCBXaW5kb3dzIGFsd2F5cyBleHRlbmQgc2VsZWN0aW9ucyBmcm9tIHRoZSBleHRlbnQgZW5kcG9p
bnQuCi0gICAgICAgIC8vIEZJWE1FOiBWaXNpYmxlU2VsZWN0aW9uIHNob3VsZCBiZSBmaXhlZCB0
byBlbnN1cmUgYXMgYW4gaW52YXJpYW50IHRoYXQKLSAgICAgICAgLy8gYmFzZS9leHRlbnQgYWx3
YXlzIHBvaW50IHRvIHRoZSBzYW1lIG5vZGVzIGFzIHN0YXJ0L2VuZCwgYnV0IHdoaWNoIHBvaW50
cwotICAgICAgICAvLyB0byB3aGljaCBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiBpc0Jhc2VGaXJz
dC4gVGhlbiB0aGlzIGNhbiBiZSBjaGFuZ2VkCi0gICAgICAgIC8vIHRvIGp1c3QgcmV0dXJuIG1f
c2VsLmV4dGVudCgpLgotICAgICAgICBwb3MgPSBtX3NlbGVjdGlvbi5pc0Jhc2VGaXJzdCgpID8g
bV9zZWxlY3Rpb24uZW5kKCkgOiBtX3NlbGVjdGlvbi5zdGFydCgpOwotICAgIH0KLSAgICByZXR1
cm4gVmlzaWJsZVBvc2l0aW9uKHBvcywgbV9zZWxlY3Rpb24uYWZmaW5pdHkoKSk7CisgICAgICAg
IHJldHVybiBpc0dldFN0YXJ0ID8gbV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCkgOiBtX3NlbGVj
dGlvbi52aXNpYmxlRW5kKCk7CisgICAgLy8gTGludXggYW5kIFdpbmRvd3MgYWx3YXlzIGV4dGVu
ZCBzZWxlY3Rpb25zIGZyb20gdGhlIGV4dGVudCBlbmRwb2ludC4KKyAgICAvLyBGSVhNRTogVmlz
aWJsZVNlbGVjdGlvbiBzaG91bGQgYmUgZml4ZWQgdG8gZW5zdXJlIGFzIGFuIGludmFyaWFudCB0
aGF0CisgICAgLy8gYmFzZS9leHRlbnQgYWx3YXlzIHBvaW50IHRvIHRoZSBzYW1lIG5vZGVzIGFz
IHN0YXJ0L2VuZCwgYnV0IHdoaWNoIHBvaW50cworICAgIC8vIHRvIHdoaWNoIGRlcGVuZHMgb24g
dGhlIHZhbHVlIG9mIGlzQmFzZUZpcnN0LiBUaGVuIHRoaXMgY2FuIGJlIGNoYW5nZWQKKyAgICAv
LyB0byBqdXN0IHJldHVybiBtX3NlbC5leHRlbnQoKS4KKyAgICByZXR1cm4gbV9zZWxlY3Rpb24u
aXNCYXNlRmlyc3QoKSA/IG1fc2VsZWN0aW9uLnZpc2libGVFbmQoKSA6IG1fc2VsZWN0aW9uLnZp
c2libGVTdGFydCgpOwogfQogCiBWaXNpYmxlUG9zaXRpb24gU2VsZWN0aW9uQ29udHJvbGxlcjo6
c3RhcnRGb3JQbGF0Zm9ybSgpIGNvbnN0CkBAIC0zODUsOSArMzgxLDcgQEAgVmlzaWJsZVBvc2l0
aW9uIFNlbGVjdGlvbkNvbnRyb2xsZXI6Om1vZGlmeUV4dGVuZGluZ0ZvcndhcmQoVGV4dEdyYW51
bGFyaXR5IGdyYW4KICAgICAgICAgcG9zID0gZW5kT2ZTZW50ZW5jZShlbmRGb3JQbGF0Zm9ybSgp
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMaW5lQm91bmRhcnk6Ci0gICAgICAgIHBvcyA9
IGVuZEZvclBsYXRmb3JtKCk7Ci0gICAgICAgIHBvcy5zZXRBZmZpbml0eShVUFNUUkVBTSk7Ci0g
ICAgICAgIHBvcyA9IGxvZ2ljYWxFbmRPZkxpbmUocG9zKTsKKyAgICAgICAgcG9zID0gbG9naWNh
bEVuZE9mTGluZShlbmRGb3JQbGF0Zm9ybSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQ
YXJhZ3JhcGhCb3VuZGFyeToKICAgICAgICAgcG9zID0gZW5kT2ZQYXJhZ3JhcGgoZW5kRm9yUGxh
dGZvcm0oKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>