<?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>97390</bug_id>
          
          <creation_ts>2012-09-22 00:56:20 -0700</creation_ts>
          <short_desc>REGRESSION (r128837): mathml/presentation/subsup.xhtml became flaky</short_desc>
          <delta_ts>2012-11-01 13:42:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>MathML</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>98791</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Dave Barton">dbarton</assigned_to>
          <cc>dbarton</cc>
    
    <cc>eric</cc>
    
    <cc>fred.wang</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>726088</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-09-22 00:56:20 -0700</bug_when>
    <thetext>This MathML test became flaky after the changes that were made in r128837[1]. The rebaseline for these changes was done in r128862[2] and after that the test is intermittently failing with the following diff:

--- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/mathml/presentation/subsup-expected.txt 
+++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/mathml/presentation/subsup-actual.txt 
@@ -1,15 +1,15 @@
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x308
-  RenderBlock {html} at (0,0) size 800x308
-    RenderBody {body} at (8,16) size 784x276
+layer at (0,0) size 800x306
+  RenderBlock {html} at (0,0) size 800x306
+    RenderBody {body} at (8,16) size 784x274
       RenderBlock {p} at (0,0) size 784x20
         RenderText {#text} at (0,0) size 36x19
           text run at (0,0) width 36: &quot;both: &quot;
         RenderMathMLMath {math} at (36,0) size 16x20 [padding: 0 1 0 1]
           RenderMathMLSubSup {msubsup} at (1,0) size 14x20
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 7x20 [padding: 7 0 2 0]
-              RenderBlock {mi} at (0,7) size 7x11
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 7x20 [padding: 7 0 1 0]
+              RenderBlock {mi} at (0,7) size 7x12
                 RenderText {#text} at (0,-9) size 7x25
                   text run at (0,-9) width 7: &quot;x&quot;
             RenderMathMLBlock (anonymous, flex) at (7,0) size 7x20
@@ -25,8 +25,8 @@
           text run at (0,0) width 148: &quot;long subscript w/ both: &quot;
         RenderMathMLMath {math} at (148,0) size 53x21 [padding: 0 1 0 1]
           RenderMathMLSubSup {msubsup} at (1,0) size 51x21
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 9x21 [padding: 4 0 2 0]
-              RenderBlock {mi} at (0,4) size 9x15
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 9x21 [padding: 4 0 1 0]
+              RenderBlock {mi} at (0,4) size 9x16
                 RenderText {#text} at (0,-6) size 9x25
                   text run at (0,-6) width 9: &quot;Z&quot;
             RenderMathMLBlock (anonymous, flex) at (9,0) size 42x21
@@ -54,17 +54,17 @@
                 RenderText {#text} at (0,-5) size 3x19
                   text run at (0,-5) width 3: &quot;j&quot;
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {p} at (0,73) size 784x21
+      RenderBlock {p} at (0,73) size 784x19
         RenderText {#text} at (0,1) size 160x19
           text run at (0,1) width 160: &quot;long superscript w/ both: &quot;
-        RenderMathMLMath {math} at (160,0) size 34x21 [padding: 0 1 0 1]
-          RenderMathMLSubSup {msubsup} at (1,0) size 32x21
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 9x21 [padding: 5 0 4 0]
+        RenderMathMLMath {math} at (160,0) size 34x19 [padding: 0 1 0 1]
+          RenderMathMLSubSup {msubsup} at (1,0) size 32x19
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 9x19 [padding: 5 0 2 0]
               RenderBlock {mi} at (0,5) size 9x12
                 RenderText {#text} at (0,-6) size 9x25
                   text run at (0,-6) width 9: &quot;Z&quot;
-            RenderMathMLBlock (anonymous, flex) at (9,0) size 23x21
-              RenderBlock {mi} at (0,14) size 23x7
+            RenderMathMLBlock (anonymous, flex) at (9,0) size 23x19
+              RenderBlock {mi} at (0,12) size 23x7
                 RenderText {#text} at (0,-7) size 5x19
                   text run at (0,-7) width 5: &quot;x&quot;
               RenderMathMLRow {mrow} at (1,0) size 22x12
@@ -80,13 +80,13 @@
                   RenderText {#text} at (0,-5) size 3x19
                     text run at (0,-5) width 3: &quot;j&quot;
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {p} at (0,110) size 784x22
+      RenderBlock {p} at (0,108) size 784x22
         RenderText {#text} at (0,1) size 88x19
           text run at (0,1) width 88: &quot;long w/ both: &quot;
         RenderMathMLMath {math} at (88,0) size 53x22 [padding: 0 1 0 1]
           RenderMathMLSubSup {msubsup} at (1,0) size 51x22
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 9x22 [padding: 5 0 2 0]
-              RenderBlock {mi} at (0,5) size 9x15
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 9x22 [padding: 5 0 1 0]
+              RenderBlock {mi} at (0,5) size 9x16
                 RenderText {#text} at (0,-6) size 9x25
                   text run at (0,-6) width 9: &quot;Z&quot;
             RenderMathMLBlock (anonymous, flex) at (9,0) size 42x22
@@ -123,14 +123,14 @@
                   RenderText {#text} at (0,-5) size 3x19
                     text run at (0,-5) width 3: &quot;j&quot;
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {p} at (0,148) size 784x20
+      RenderBlock {p} at (0,146) size 784x20
         RenderText {#text} at (0,0) size 123x19
           text run at (0,0) width 123: &quot;Wrapped in mrow: &quot;
         RenderMathMLMath {math} at (123,0) size 16x20 [padding: 0 1 0 1]
           RenderMathMLRow {mrow} at (1,0) size 14x20
             RenderMathMLSubSup {msubsup} at (0,0) size 14x20
-              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x20 [padding: 7 0 3 0]
-                RenderBlock {mi} at (0,7) size 7x10
+              RenderMathMLBlock (anonymous, flex) at (0,0) size 7x20 [padding: 7 0 2 0]
+                RenderBlock {mi} at (0,7) size 7x11
                   RenderText {#text} at (0,-9) size 7x25
                     text run at (0,-9) width 7: &quot;x&quot;
               RenderMathMLBlock (anonymous, flex) at (7,0) size 7x20
@@ -141,17 +141,17 @@
                   RenderText {#text} at (0,-4) size 5x19
                     text run at (0,-4) width 5: &quot;k&quot;
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {p} at (0,184) size 784x52
+      RenderBlock {p} at (0,182) size 784x52
         RenderText {#text} at (0,15) size 169x19
           text run at (0,15) width 169: &quot;parts with various heights: &quot;
         RenderMathMLMath {math} at (169,0) size 118x52 [padding: 0 1 0 1]
-          RenderMathMLSubSup {msubsup} at (1,0) size 20x35
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 7x35 [padding: 22 0 4 0]
+          RenderMathMLSubSup {msubsup} at (1,0) size 20x33
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 7x33 [padding: 22 0 2 0]
               RenderBlock {mi} at (0,22) size 7x9
                 RenderText {#text} at (0,-9) size 7x25
                   text run at (0,-9) width 7: &quot;x&quot;
-            RenderMathMLBlock (anonymous, flex) at (7,0) size 13x35
-              RenderBlock {mi} at (0,28) size 13x7
+            RenderMathMLBlock (anonymous, flex) at (7,0) size 13x33
+              RenderBlock {mi} at (0,26) size 13x7
                 RenderText {#text} at (0,-7) size 6x19
                   text run at (0,-7) width 6: &quot;n&quot;
               RenderMathMLFraction {mfrac} at (1,0) size 11x26
@@ -169,8 +169,8 @@
                 RenderText {mo} at (0,-8) size 11x25
                   text run at (0,-8) width 11: &quot;+&quot;
           RenderMathMLSubSup {msubsup} at (38,18) size 20x33
-            RenderMathMLBlock (anonymous, flex) at (0,0) size 7x33 [padding: 4 0 2 0]
-              RenderBlock {mi} at (0,4) size 7x27
+            RenderMathMLBlock (anonymous, flex) at (0,0) size 7x33 [padding: 4 0 1 0]
+              RenderBlock {mi} at (0,4) size 7x28
                 RenderText {#text} at (0,-9) size 7x25
                   text run at (0,-9) width 7: &quot;x&quot;
             RenderMathMLBlock (anonymous, flex) at (7,0) size 13x33
@@ -213,7 +213,7 @@
                 RenderText {#text} at (0,-7) size 5x19
                   text run at (0,-7) width 5: &quot;x&quot;
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock {p} at (0,252) size 784x24
+      RenderBlock {p} at (0,250) size 784x24
         RenderText {#text} at (0,6) size 26x19
           text run at (0,6) width 26: &quot;For &quot;
         RenderInline {a} at (0,0) size 71x19 [color=#0000EE]
@@ -241,51 +241,51 @@
                     RenderText {#text} at (0,-3) size 5x15
                       text run at (0,-3) width 5: &quot;2&quot;
         RenderText {#text} at (0,0) size 0x0
-layer at (253,207) size 7x10 scrollHeight 19
+layer at (253,205) size 7x10 scrollHeight 19
   RenderMathMLBlock (flex) {mfenced} at (0,0) size 7x10
     RenderBlock (anonymous) at (0,0) size 7x10
-layer at (253,217) size 7x10 scrollHeight 18
+layer at (253,215) size 7x10 scrollHeight 18
   RenderMathMLBlock (flex) {mfenced} at (0,10) size 7x10
     RenderBlock (anonymous) at (0,0) size 7x10
       RenderText {mfenced} at (0,-4) size 7x22
         text run at (0,-4) width 7: &quot;\x{239C}&quot;
-layer at (253,227) size 7x10 scrollHeight 18
+layer at (253,225) size 7x10 scrollHeight 18
   RenderMathMLBlock (flex) {mfenced} at (0,20) size 7x10
     RenderBlock (anonymous) at (0,0) size 7x10
       RenderText {mfenced} at (0,-4) size 7x22
         text run at (0,-4) width 7: &quot;\x{239C}&quot;
-layer at (253,237) size 7x15 scrollHeight 18
+layer at (253,235) size 7x15 scrollHeight 18
   RenderMathMLBlock (flex) {mfenced} at (0,30) size 7x15
     RenderBlock (anonymous) at (0,0) size 7x15
-layer at (279,207) size 7x10 scrollHeight 19
+layer at (279,205) size 7x10 scrollHeight 19
   RenderMathMLBlock (flex) {mfenced} at (0,0) size 7x10
     RenderBlock (anonymous) at (0,0) size 7x10
-layer at (279,217) size 7x10 scrollHeight 18
+layer at (279,215) size 7x10 scrollHeight 18
   RenderMathMLBlock (flex) {mfenced} at (0,10) size 7x10
     RenderBlock (anonymous) at (0,0) size 7x10
       RenderText {mfenced} at (0,-4) size 7x22
         text run at (0,-4) width 7: &quot;\x{239F}&quot;
-layer at (279,227) size 7x10 scrollHeight 18
+layer at (279,225) size 7x10 scrollHeight 18
   RenderMathMLBlock (flex) {mfenced} at (0,20) size 7x10
     RenderBlock (anonymous) at (0,0) size 7x10
       RenderText {mfenced} at (0,-4) size 7x22
         text run at (0,-4) width 7: &quot;\x{239F}&quot;
-layer at (279,237) size 7x15 scrollHeight 18
+layer at (279,235) size 7x15 scrollHeight 18
   RenderMathMLBlock (flex) {mfenced} at (0,30) size 7x15
     RenderBlock (anonymous) at (0,0) size 7x15
-layer at (253,208) size 7x15 backgroundClip at (253,207) size 7x10 clip at (253,207) size 7x10 outlineClip at (253,207) size 7x10
+layer at (253,206) size 7x15 backgroundClip at (253,205) size 7x10 clip at (253,205) size 7x10 outlineClip at (253,205) size 7x10
   RenderBlock (relative positioned) {mfenced} at (0,0) size 7x15
     RenderText {mfenced} at (0,-4) size 7x22
       text run at (0,-4) width 7: &quot;\x{239B}&quot;
-layer at (253,234) size 7x15 backgroundClip at (253,237) size 7x15 clip at (253,237) size 7x15 outlineClip at (253,237) size 7x15
+layer at (253,232) size 7x15 backgroundClip at (253,235) size 7x15 clip at (253,235) size 7x15 outlineClip at (253,235) size 7x15
   RenderBlock (relative positioned) {mfenced} at (0,0) size 7x15
     RenderText {mfenced} at (0,-4) size 7x22
       text run at (0,-4) width 7: &quot;\x{239D}&quot;
-layer at (279,208) size 7x15 backgroundClip at (279,207) size 7x10 clip at (279,207) size 7x10 outlineClip at (279,207) size 7x10
+layer at (279,206) size 7x15 backgroundClip at (279,205) size 7x10 clip at (279,205) size 7x10 outlineClip at (279,205) size 7x10
   RenderBlock (relative positioned) {mfenced} at (0,0) size 7x15
     RenderText {mfenced} at (0,-4) size 7x22
       text run at (0,-4) width 7: &quot;\x{239E}&quot;
-layer at (279,234) size 7x15 backgroundClip at (279,237) size 7x15 clip at (279,237) size 7x15 outlineClip at (279,237) size 7x15
+layer at (279,232) size 7x15 backgroundClip at (279,235) size 7x15 clip at (279,235) size 7x15 outlineClip at (279,235) size 7x15
   RenderBlock (relative positioned) {mfenced} at (0,0) size 7x15
     RenderText {mfenced} at (0,-4) size 7x22
       text run at (0,-4) width 7: &quot;\x{23A0}&quot;


[1] http://trac.webkit.org/changeset/128837
[2] http://trac.webkit.org/changeset/128862</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731307</commentid>
    <comment_count>1</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-09-30 11:10:53 -0700</bug_when>
    <thetext>I believe the problem is that RenderMathMLSubSup::layout should now mark more sub-parts as needing layout, because of flex stretching. I&apos;ll be unavailable most of this week, so I&apos;ll probably get to this the week of Oct 8.

Feel free to cc me on future MathML issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734503</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-04 01:45:37 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I believe the problem is that RenderMathMLSubSup::layout should now mark more sub-parts as needing layout, because of flex stretching. I&apos;ll be unavailable most of this week, so I&apos;ll probably get to this the week of Oct 8.
&gt; 
&gt; Feel free to cc me on future MathML issues.

The test is only flaky on GTK 64-bit release builder though:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20webkit.org&amp;tests=mathml%2Fpresentation%2Fsubsup.xhtml

The nature of regressing commit made me think that the GTK port has some issues with the flexbox model and that resolving this could perhaps make a few other tests more stable. If you&apos;d still like to have a look please go ahead, but it seems to me this flakiness is originating from a GTK-specific problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738378</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-10-09 17:54:55 -0700</bug_when>
    <thetext>I have a patch for this, which I&apos;ll upload after bug 98791 closes. I think it&apos;s my MathML mistake, not a gtk problem. Thanks for reporting it so well, and sorry for the bug. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750229</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-10-24 17:13:32 -0700</bug_when>
    <thetext>subsup.xhtml and msubsup-base-changed.xhtml are flaky on chromium also. The problem is now that MathML is using flexboxes, we have to do firstChild()-&gt;style()-&gt;setFlexDirection(FlowColumn); at some point [basically inside fixScriptsStyle(), renamed to fixChildStyles()], so that baseHeight in layout() will be an unstretched height. That is, we don&apos;t want flexing to stretch our base&apos;s height.

I&apos;ll upload a patch after bug 98791 closes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753961</commentid>
    <comment_count>5</comment_count>
      <attachid>171365</attachid>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-10-29 20:26:53 -0700</bug_when>
    <thetext>Created attachment 171365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753963</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-10-29 20:35:14 -0700</bug_when>
    <thetext>I feel bad always asking Eric for reviews. Any chance Ojan or Tony wants to review a quick MathML/flexbox issue?

This patch just changes the flex direction of the RenderMathMLSubSup base wrapper that Ojan&apos;s been looking at lately. :) That&apos;s the wrapper that surrounds a term&apos;s &quot;base&quot;, i.e. the part without a subscript and/or superscript (exponent).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753981</commentid>
    <comment_count>7</comment_count>
      <attachid>171365</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-29 22:05:25 -0700</bug_when>
    <thetext>Comment on attachment 171365
Patch

Seems reasonable to me.  Tony/Ojan are the flexbox experts more than I, so you might leave them until morning to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754420</commentid>
    <comment_count>8</comment_count>
      <attachid>171365</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-30 09:17:39 -0700</bug_when>
    <thetext>Comment on attachment 171365
Patch

Do you just want to disable stretching? You could just set firstChild-&gt;style()-&gt;setAlignItems(FlexStart) for that. I&apos;m not sure what else making it a column buys you here other than avoiding stretching.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754422</commentid>
    <comment_count>9</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-30 09:18:42 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 171365 [details])
&gt; Do you just want to disable stretching? You could just set firstChild-&gt;style()-&gt;setAlignItems(FlexStart) for that. I&apos;m not sure what else making it a column buys you here other than avoiding stretching.

Sorry, that should have been setAlignSelf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>754476</commentid>
    <comment_count>10</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-10-30 10:15:18 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (From update of attachment 171365 [details] [details])
&gt; &gt; Do you just want to disable stretching? You could just set firstChild-&gt;style()-&gt;setAlignItems(FlexStart) for that. I&apos;m not sure what else making it a column buys you here other than avoiding stretching.
&gt; 
&gt; Sorry, that should have been setAlignSelf.

Thanks for the expert comment.

&lt;mmultiscripts&gt; will probably use this or similar code, and it seemed maybe simpler especially in that case if all the children (base and subscript/superscript pairs) were &apos;column&apos;, instead of all but one. Also perhaps the padding-top on the base wrapper is really more of a margin-top, but that might possibly interact with flex-start, maybe in the future? I think the specs on alignment/justification, i.e. CSS Box Alignment Module Level 3, are still evolving, so I was waiting on that.

In summary, I think either way would work, but this was my thinking on my choice. I&apos;d be happy to change if you recommend it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755566</commentid>
    <comment_count>11</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-31 13:03:38 -0700</bug_when>
    <thetext>I don&apos;t know that it makes a big difference either way. There are cases where using column will cause a second layout, so, all things being equal, I&apos;d adjust the alignment instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756466</commentid>
    <comment_count>12</comment_count>
      <attachid>171894</attachid>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2012-11-01 11:16:56 -0700</bug_when>
    <thetext>Created attachment 171894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756581</commentid>
    <comment_count>13</comment_count>
      <attachid>171894</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 13:42:49 -0700</bug_when>
    <thetext>Comment on attachment 171894
Patch

Clearing flags on attachment: 171894

Committed r133221: &lt;http://trac.webkit.org/changeset/133221&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756582</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-01 13:42:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171365</attachid>
            <date>2012-10-29 20:26:53 -0700</date>
            <delta_ts>2012-11-01 11:16:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97390-20121029202517.patch</filename>
            <type>text/plain</type>
            <size>9858</size>
            <attacher name="Dave Barton">dbarton</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjg2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTI5ICBEYXZpZCBC
YXJ0b24gIDxkYmFydG9uQG1hdGhzY3JpYmUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIx
Mjg4MzcpOiBtYXRobWwvcHJlc2VudGF0aW9uL3N1YnN1cC54aHRtbCBiZWNhbWUgZmxha3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MzkwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gYSBSZW5kZXJN
YXRoTUxTdWJTdXAsIHdlIG5lZWQgdG8gc2V0IHRoZSBiYXNlJ3Mgd3JhcHBlciB0byBoYXZlIHsg
ZmxleC1kaXJlY3Rpb246IGNvbHVtbiB9CisgICAgICAgIHNvIGJhc2VIZWlnaHQgaW4gbGF5b3V0
KCkgd2lsbCBiZSB0aGUgYmFzZSdzIHRydWUgaGVpZ2h0LCB3aXRob3V0IGFueSBmbGV4Ym94IHN0
cmV0Y2hpbmcuCisKKyAgICAgICAgVGVzdGVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAg
ICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWF0aE1MU3ViU3VwOjpmaXhBbm9ueW1vdXNTdHlsZXMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWF0aE1MU3ViU3VwOjphZGRDaGlsZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJNYXRoTUxTdWJTdXA6OnN0eWxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiByZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5oOgorICAgICAgICAoUmVuZGVyTWF0aE1MU3Vi
U3VwKToKKwogMjAxMi0xMC0yOSAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4K
IAogICAgICAgICBOU0xvY2FsZSBsZWFrcyBpbiBMb2NhbGVNYWMKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5jcHAJ
KHJldmlzaW9uIDEzMjczNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MU3ViU3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsOCArNjEsMTIgQEAgUmVu
ZGVyQm94TW9kZWxPYmplY3QqIFJlbmRlck1hdGhNTFN1YlN1cAogICAgIHJldHVybiB0b1JlbmRl
ckJveE1vZGVsT2JqZWN0KGJhc2UpOwogfQogCi12b2lkIFJlbmRlck1hdGhNTFN1YlN1cDo6Zml4
U2NyaXB0c1N0eWxlKCkKK3ZvaWQgUmVuZGVyTWF0aE1MU3ViU3VwOjpmaXhBbm9ueW1vdXNTdHls
ZXMoKQogeworICAgIC8vIFNldCB0aGUgYmFzZSB3cmFwcGVyIHRvIGhhdmUgeyBmbGV4LWRpcmVj
dGlvbjogY29sdW1uIH0gc28gYmFzZUhlaWdodCBpbiBsYXlvdXQoKSB3aWxsIGJlIGFuIHVuc3Ry
ZXRjaGVkIGhlaWdodC4KKyAgICBBU1NFUlQoZmlyc3RDaGlsZCgpICYmIGZpcnN0Q2hpbGQoKS0+
c3R5bGUoKS0+cmVmQ291bnQoKSA9PSAxKTsKKyAgICBmaXJzdENoaWxkKCktPnN0eWxlKCktPnNl
dEZsZXhEaXJlY3Rpb24oRmxvd0NvbHVtbik7CisgICAgCiAgICAgQVNTRVJUKG1fc2NyaXB0cyAm
JiBtX3NjcmlwdHMtPnN0eWxlKCktPnJlZkNvdW50KCkgPT0gMSk7CiAgICAgUmVuZGVyU3R5bGUq
IHNjcmlwdHNTdHlsZSA9IG1fc2NyaXB0cy0+c3R5bGUoKTsKICAgICBzY3JpcHRzU3R5bGUtPnNl
dEZsZXhEaXJlY3Rpb24oRmxvd0NvbHVtbik7CkBAIC04MCw3ICs4NCw4IEBAIHZvaWQgUmVuZGVy
TWF0aE1MU3ViU3VwOjphZGRDaGlsZChSZW5kZXIKICAgICAgICAgCiAgICAgICAgIG1fc2NyaXB0
cyA9IGNyZWF0ZUFub255bW91c01hdGhNTEJsb2NrKCk7CiAgICAgICAgIFJlbmRlck1hdGhNTEJs
b2NrOjphZGRDaGlsZChtX3NjcmlwdHMpOwotICAgICAgICBmaXhTY3JpcHRzU3R5bGUoKTsKKyAg
ICAgICAgCisgICAgICAgIGZpeEFub255bW91c1N0eWxlcygpOwogICAgIH0KICAgICAKICAgICBp
ZiAoZmlyc3RDaGlsZCgpLT5pc0VtcHR5KCkpCkBAIC05Myw4ICs5OCw4IEBAIHZvaWQgUmVuZGVy
TWF0aE1MU3ViU3VwOjpzdHlsZURpZENoYW5nZSgKIHsKICAgICBSZW5kZXJNYXRoTUxCbG9jazo6
c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOwogICAgIAotICAgIGlmIChtX3NjcmlwdHMp
Ci0gICAgICAgIGZpeFNjcmlwdHNTdHlsZSgpOworICAgIGlmICghaXNFbXB0eSgpKQorICAgICAg
ICBmaXhBbm9ueW1vdXNTdHlsZXMoKTsKIH0KIAogUmVuZGVyTWF0aE1MT3BlcmF0b3IqIFJlbmRl
ck1hdGhNTFN1YlN1cDo6dW5lbWJlbGxpc2hlZE9wZXJhdG9yKCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuaAkocmV2
aXNpb24gMTMyNzM3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxTdWJTdXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOwogICAgIAogcHJpdmF0ZToKLSAgICB2b2lkIGZp
eFNjcmlwdHNTdHlsZSgpOworICAgIHZvaWQgZml4QW5vbnltb3VzU3R5bGVzKCk7CiAgICAgdmly
dHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWxlKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJNYXRoTUxTdWJTdXAiOyB9CkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMzI4NjgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0yOSAgRGF2aWQgQmFydG9uICA8ZGJhcnRvbkBtYXRo
c2NyaWJlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTI4ODM3KTogbWF0aG1sL3ByZXNl
bnRhdGlvbi9zdWJzdXAueGh0bWwgYmVjYW1lIGZsYWt5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzM5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMi0xMC0yNSAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5u
ZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIGZlSW1hZ2Ugc2hvdWxkIG5vdCBiZSBhbGxvd2Vk
IHRvIHNlbGYgcmVmZXJlbmNlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDEzMjg0OSkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTE5Nzcs
OSArMTk3NywxMSBAQCB3ZWJraXQub3JnL2IvMTAwNDYzIG1hdGhtbC9tc3Vic3VwLWZ1enouCiAj
IFRoZSBtYXRobWwgcGl4ZWwgdGVzdHMgd2lsbCBiZSBjaGFuZ2luZyBmb3IgYSBmZXcgZGF5cy4g
VGhleSdsbCBuZWVkIHJlYmFzZWxpbmUgYWZ0ZXIgdGhhdC4KIHdlYmtpdC5vcmcvYi85Njk2MCBb
IEFuZHJvaWQgTGludXggV2luIF0gbWF0aG1sL3hIZWlnaHQueGh0bWwgWyBQYXNzIEZhaWx1cmUg
SW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTY5NjAgWyBBbmRyb2lkIExpbnV4IFdp
biBdIG1hdGhtbC9wcmVzZW50YXRpb24gWyBQYXNzIEZhaWx1cmUgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci0jIFRoZSBuZXh0IDIgYXJlIGZsYWt5LCBidXQgSSBoYXZlIGEgZml4IGFuZCB3aWxsIHN1Ym1p
dCBpdCBzb29uLgorIyBOZWVkcyByZWJhc2VsaW5lIGFmdGVyIGJ1ZyA5NzM5MAord2Via2l0Lm9y
Zy9iLzk3MzkwIFsgTWFjIF0gbWF0aG1sL3ByZXNlbnRhdGlvbi9tby1zdHJldGNoLmh0bWwgWyBG
YWlsdXJlIFBhc3MgXQord2Via2l0Lm9yZy9iLzk3MzkwIFsgTWFjIF0gbWF0aG1sL3ByZXNlbnRh
dGlvbi9yb3ctYWxpZ25tZW50LnhodG1sIFsgRmFpbHVyZSBQYXNzIF0KK3dlYmtpdC5vcmcvYi85
NzM5MCBbIE1hYyBdIG1hdGhtbC9wcmVzZW50YXRpb24vdGFibGVzLnhodG1sIFsgRmFpbHVyZSBQ
YXNzIF0KIHdlYmtpdC5vcmcvYi85NzM5MCBbIE1hYyBdIG1hdGhtbC9wcmVzZW50YXRpb24vc3Vi
c3VwLnhodG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcvYi85NzM5MCBbIE1hYyBdIG1h
dGhtbC9wcmVzZW50YXRpb24vbXN1YnN1cC1iYXNlLWNoYW5nZWQueGh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIFBhc3MgXQogIyBPbmNlIGNocm9taXVtIGRlY2lkZXMgdG8gZGVmaW5pdGVseSBlbmFi
bGUgTWF0aE1MLCB3ZSBjYW4gZGVsZXRlIHRoZSBvbGQgcGxhdGZvcm0vY2hyb21pdW0gYmFzZWxp
bmUgZm9yIHRoaXM6CiB3ZWJraXQub3JnL2IvOTY5NjAgaHR0cC90ZXN0cy94bWx2aWV3ZXIvZHVt
cEFzVGV4dC9tYXRobWwueG1sIFsgUGFzcyBGYWlsdXJlIF0KIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDEzMjg0MykKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTgwLDE1ICsxNTgwLDE3IEBAIHdlYmtpdC5vcmcvYi85ODU4NyBmYXN0L3dyaXRpbmctbW9kZS92
ZXIKIHdlYmtpdC5vcmcvYi85OTg3OCBjc3MzL2ZsZXhib3gvZmxleGJveC1iYXNlbGluZS1tYXJn
aW5zLmh0bWwgWyBNaXNzaW5nIEltYWdlT25seUZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTAw
NDYzIG1hdGhtbC9tc3Vic3VwLWZ1enouaHRtbCBbIENyYXNoIFBhc3MgXQotIyBOZWVkcyByZWJh
c2VsaW5lIGV2ZW50dWFsbHkKKyMgTmVlZHMgcmViYXNlbGluZQogd2Via2l0Lm9yZy9iLzk3OTkw
IG1hdGhtbC9wcmVzZW50YXRpb24vYXR0cmlidXRlcy54aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzk3OTkwIG1hdGhtbC9wcmVzZW50YXRpb24vZnJhY3Rpb25zLnhodG1sIFsgRmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvOTc5OTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9mcmFjdGlvbnMtdmVy
dGljYWwtYWxpZ25tZW50LnhodG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvOTc5OTAgbWF0
aG1sL3ByZXNlbnRhdGlvbi9tby1zdHJldGNoLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi85Nzk5MCBtYXRobWwvcHJlc2VudGF0aW9uL3Jvb3RzLnhodG1sIFsgRmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvOTc5OTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50LnhodG1sIFsg
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvOTc5OTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9zdWJzdXAu
eGh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85OTkyMSBtYXRobWwvcHJlc2VudGF0aW9u
L2ZlbmNlZC54aHRtbCBbIEZhaWx1cmUgXQorIyBOZWVkcyByZWJhc2VsaW5lIGFmdGVyIGJ1ZyA5
NzM5MAord2Via2l0Lm9yZy9iLzk3MzkwIG1hdGhtbC9wcmVzZW50YXRpb24vbW8tc3RyZXRjaC5o
dG1sIFsgRmFpbHVyZSBQYXNzIF0KK3dlYmtpdC5vcmcvYi85NzM5MCBtYXRobWwvcHJlc2VudGF0
aW9uL3Jvdy1hbGlnbm1lbnQueGh0bWwgWyBGYWlsdXJlIFBhc3MgXQord2Via2l0Lm9yZy9iLzk3
MzkwIG1hdGhtbC9wcmVzZW50YXRpb24vdGFibGVzLnhodG1sIFsgRmFpbHVyZSBQYXNzIF0KK3dl
YmtpdC5vcmcvYi85NzM5MCBtYXRobWwvcHJlc2VudGF0aW9uL3N1YnN1cC54aHRtbCBbIEZhaWx1
cmUgUGFzcyBdCiAKICMgY3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJs
ZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTMyODQzKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkK
QEAgLTQyMywxMyArNDIzLDE2IEBAIHdlYmtpdC5vcmcvYi85OTA1OSBmYXN0L2RvbS90aW1lci10
aHJvdHQKIHdlYmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKIAogd2Via2l0Lm9y
Zy9iLzEwMDQ2MyBtYXRobWwvbXN1YnN1cC1mdXp6Lmh0bWwgWyBDcmFzaCBQYXNzIF0KLSMgTWF0
aE1MIGxheW91dCBpcyBiZWluZyB0dW5lZC9yZXdvcmtlZC4KKyMgTmVlZHMgcmViYXNlbGluZQog
d2Via2l0Lm9yZy9iLzk5OTIxIG1hdGhtbC9wcmVzZW50YXRpb24vZmVuY2VkLnhodG1sIFsgRmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvOTk5MjEgbWF0aG1sL3ByZXNlbnRhdGlvbi9tby54aHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzk5OTIxIG1hdGhtbC9wcmVzZW50YXRpb24vbW8tc3Ry
ZXRjaC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTk5MjEgbWF0aG1sL3ByZXNlbnRh
dGlvbi9vdmVyLnhodG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTk5MjEgbWF0aG1sL3By
ZXNlbnRhdGlvbi9yb3cueGh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi85OTkyMSBtYXRo
bWwvcHJlc2VudGF0aW9uL3Jvdy1hbGlnbm1lbnQueGh0bWwgWyBGYWlsdXJlIF0KKyMgTmVlZHMg
cmViYXNlbGluZSBhZnRlciBidWcgOTczOTAKK3dlYmtpdC5vcmcvYi85NzM5MCBtYXRobWwvcHJl
c2VudGF0aW9uL21vLXN0cmV0Y2guaHRtbCBbIEZhaWx1cmUgUGFzcyBdCit3ZWJraXQub3JnL2Iv
OTczOTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50LnhodG1sIFsgRmFpbHVyZSBQ
YXNzIF0KK3dlYmtpdC5vcmcvYi85NzM5MCBtYXRobWwvcHJlc2VudGF0aW9uL3RhYmxlcy54aHRt
bCBbIEZhaWx1cmUgUGFzcyBdCit3ZWJraXQub3JnL2IvOTczOTAgbWF0aG1sL3ByZXNlbnRhdGlv
bi9zdWJzdXAueGh0bWwgWyBGYWlsdXJlIFBhc3MgXQogCiAjIFJlcXVpcmVzIFJlc29sdXRpb24g
TWVkaWEgUXVlcnkgc3VwcG9ydAogd2Via2l0Lm9yZy9iLzEwMDEzNyBmYXN0L21lZGlhL21xLXJl
c29sdXRpb24uaHRtbCBbIEZhaWx1cmUgXQpAQCAtNTgxLDkgKzU4NCw2IEBAIHdlYmtpdC5vcmcv
Yi85MzgxMiBbIFJlbGVhc2UgXSBzdmcvY3VzdG8KIAogd2Via2l0Lm9yZy9iLzk1NDMwIGZhc3Qv
bGF5ZXJzL3Njcm9sbC1uby12aXNpYmxlLWNvbnRlbnQtYnV0LXZpc2libGUtZGVzY2VuZGFudC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBQYXNzIF0KIAotd2Via2l0Lm9yZy9iLzk3MzkwIG1hdGht
bC9wcmVzZW50YXRpb24vc3Vic3VwLnhodG1sIFsgRmFpbHVyZSBQYXNzIF0KLXdlYmtpdC5vcmcv
Yi85NzM5MCBtYXRobWwvcHJlc2VudGF0aW9uL21zdWJzdXAtYmFzZS1jaGFuZ2VkLnhodG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBQYXNzIF0KLQogd2Via2l0Lm9yZy9iLzczNDA5IGZhc3QvZm9ybXMv
dGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBQYXNzIF0KIAogd2Via2l0Lm9yZy9iLzc4ODE5IGZhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2Vy
LWxvYWQtZXJyb3IuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTMyODQzKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTEyOTks
MTQgKzEyOTksMTYgQEAgd2Via2l0Lm9yZy9iLzgwMzk0IGZhc3QvYmxvY2svbWFyZ2luLWNvbAog
d2Via2l0Lm9yZy9iLzgwMzk0IGZhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlL2Jsb2NrLWluc2lk
ZS1pbmxpbmUvMDI1Lmh0bWwgWyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzEwMDQ2MyBtYXRo
bWwvbXN1YnN1cC1mdXp6Lmh0bWwgWyBDcmFzaCBQYXNzIF0KLSMgTmVlZHMgcmViYXNlbGluaW5n
IGFmdGVyIGJ1ZyA5OTkyMQorIyBOZWVkcyByZWJhc2VsaW5lCiB3ZWJraXQub3JnL2IvOTk5MjEg
bWF0aG1sL3ByZXNlbnRhdGlvbi9mZW5jZWQueGh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi85OTkyMSBtYXRobWwvcHJlc2VudGF0aW9uL21vLnhodG1sIFsgRmFpbHVyZSBdCi13ZWJraXQu
b3JnL2IvOTk5MjEgbWF0aG1sL3ByZXNlbnRhdGlvbi9tby1zdHJldGNoLmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi85OTkyMSBtYXRobWwvcHJlc2VudGF0aW9uL292ZXIueGh0bWwgWyBG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi85OTkyMSBtYXRobWwvcHJlc2VudGF0aW9uL3Jvdy54aHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzk5OTIxIG1hdGhtbC9wcmVzZW50YXRpb24vcm93
LWFsaWdubWVudC54aHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzk5OTIxIG1hdGhtbC9w
cmVzZW50YXRpb24vc3Vic3VwLnhodG1sIFsgRmFpbHVyZSBdCisjIE5lZWRzIHJlYmFzZWxpbmUg
YWZ0ZXIgYnVnIDk3MzkwCit3ZWJraXQub3JnL2IvOTczOTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9t
by1zdHJldGNoLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQord2Via2l0Lm9yZy9iLzk3MzkwIG1hdGht
bC9wcmVzZW50YXRpb24vcm93LWFsaWdubWVudC54aHRtbCBbIEZhaWx1cmUgUGFzcyBdCit3ZWJr
aXQub3JnL2IvOTczOTAgbWF0aG1sL3ByZXNlbnRhdGlvbi90YWJsZXMueGh0bWwgWyBGYWlsdXJl
IFBhc3MgXQord2Via2l0Lm9yZy9iLzk3MzkwIG1hdGhtbC9wcmVzZW50YXRpb24vc3Vic3VwLnho
dG1sIFsgRmFpbHVyZSBQYXNzIF0KIAogIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5v
dCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171894</attachid>
            <date>2012-11-01 11:16:56 -0700</date>
            <delta_ts>2012-11-01 13:42:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97390-20121101111517.patch</filename>
            <type>text/plain</type>
            <size>9814</size>
            <attacher name="Dave Barton">dbarton</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjg2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTI5ICBEYXZpZCBC
YXJ0b24gIDxkYmFydG9uQG1hdGhzY3JpYmUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIx
Mjg4MzcpOiBtYXRobWwvcHJlc2VudGF0aW9uL3N1YnN1cC54aHRtbCBiZWNhbWUgZmxha3kKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MzkwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gYSBSZW5kZXJN
YXRoTUxTdWJTdXAsIHdlIG5lZWQgdG8gc2V0IHRoZSBiYXNlJ3Mgd3JhcHBlcidzIHN0eWxlIHNv
IHRoYXQgYmFzZUhlaWdodAorICAgICAgICBpbiBsYXlvdXQoKSB3aWxsIGJlIHRoZSBiYXNlJ3Mg
dHJ1ZSBoZWlnaHQsIHdpdGhvdXQgYW55IGZsZXhib3ggc3RyZXRjaGluZy4KKworICAgICAgICBU
ZXN0ZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFN1YlN1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxTdWJT
dXA6OmZpeEFub255bW91c1N0eWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxT
dWJTdXA6OmFkZENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFN1YlN1cDo6
c3R5bGVEaWRDaGFuZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
U3ViU3VwLmg6CisgICAgICAgIChSZW5kZXJNYXRoTUxTdWJTdXApOgorCiAyMDEyLTEwLTI5ICBL
ZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIE5TTG9jYWxlIGxl
YWtzIGluIExvY2FsZU1hYwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxTdWJTdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmNwcAkocmV2aXNpb24gMTMyNzM3KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTdWJTdXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02MSw4ICs2MSwxMiBAQCBSZW5kZXJCb3hNb2RlbE9iamVjdCogUmVu
ZGVyTWF0aE1MU3ViU3VwCiAgICAgcmV0dXJuIHRvUmVuZGVyQm94TW9kZWxPYmplY3QoYmFzZSk7
CiB9CiAKLXZvaWQgUmVuZGVyTWF0aE1MU3ViU3VwOjpmaXhTY3JpcHRzU3R5bGUoKQordm9pZCBS
ZW5kZXJNYXRoTUxTdWJTdXA6OmZpeEFub255bW91c1N0eWxlcygpCiB7CisgICAgLy8gU2V0IHRo
ZSBiYXNlIHdyYXBwZXIncyBzdHlsZSBzbyB0aGF0IGJhc2VIZWlnaHQgaW4gbGF5b3V0KCkgd2ls
bCBiZSBhbiB1bnN0cmV0Y2hlZCBoZWlnaHQuCisgICAgQVNTRVJUKGZpcnN0Q2hpbGQoKSAmJiBm
aXJzdENoaWxkKCktPnN0eWxlKCktPnJlZkNvdW50KCkgPT0gMSk7CisgICAgZmlyc3RDaGlsZCgp
LT5zdHlsZSgpLT5zZXRBbGlnblNlbGYoQWxpZ25GbGV4U3RhcnQpOworICAgIAogICAgIEFTU0VS
VChtX3NjcmlwdHMgJiYgbV9zY3JpcHRzLT5zdHlsZSgpLT5yZWZDb3VudCgpID09IDEpOwogICAg
IFJlbmRlclN0eWxlKiBzY3JpcHRzU3R5bGUgPSBtX3NjcmlwdHMtPnN0eWxlKCk7CiAgICAgc2Ny
aXB0c1N0eWxlLT5zZXRGbGV4RGlyZWN0aW9uKEZsb3dDb2x1bW4pOwpAQCAtODAsNyArODQsOCBA
QCB2b2lkIFJlbmRlck1hdGhNTFN1YlN1cDo6YWRkQ2hpbGQoUmVuZGVyCiAgICAgICAgIAogICAg
ICAgICBtX3NjcmlwdHMgPSBjcmVhdGVBbm9ueW1vdXNNYXRoTUxCbG9jaygpOwogICAgICAgICBS
ZW5kZXJNYXRoTUxCbG9jazo6YWRkQ2hpbGQobV9zY3JpcHRzKTsKLSAgICAgICAgZml4U2NyaXB0
c1N0eWxlKCk7CisgICAgICAgIAorICAgICAgICBmaXhBbm9ueW1vdXNTdHlsZXMoKTsKICAgICB9
CiAgICAgCiAgICAgaWYgKGZpcnN0Q2hpbGQoKS0+aXNFbXB0eSgpKQpAQCAtOTMsOCArOTgsOCBA
QCB2b2lkIFJlbmRlck1hdGhNTFN1YlN1cDo6c3R5bGVEaWRDaGFuZ2UoCiB7CiAgICAgUmVuZGVy
TWF0aE1MQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICAKLSAgICBp
ZiAobV9zY3JpcHRzKQotICAgICAgICBmaXhTY3JpcHRzU3R5bGUoKTsKKyAgICBpZiAoIWlzRW1w
dHkoKSkKKyAgICAgICAgZml4QW5vbnltb3VzU3R5bGVzKCk7CiB9CiAKIFJlbmRlck1hdGhNTE9w
ZXJhdG9yKiBSZW5kZXJNYXRoTUxTdWJTdXA6OnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFN1YlN1cC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
U3ViU3VwLmgJKHJldmlzaW9uIDEzMjczNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MU3ViU3VwLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcg
QEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKICAgICAKIHByaXZhdGU6
Ci0gICAgdm9pZCBmaXhTY3JpcHRzU3R5bGUoKTsKKyAgICB2b2lkIGZpeEFub255bW91c1N0eWxl
cygpOwogICAgIHZpcnR1YWwgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNv
bnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIGNvbnN0
IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyTWF0aE1MU3ViU3VwIjsg
fQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTMyODY4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTAtMjkgIERhdmlkIEJhcnRvbiAg
PGRiYXJ0b25AbWF0aHNjcmliZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjEyODgzNyk6
IG1hdGhtbC9wcmVzZW50YXRpb24vc3Vic3VwLnhodG1sIGJlY2FtZSBmbGFreQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTczOTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMTAtMjUgIFN0ZXBoZW4gQ2hl
bm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBmZUltYWdlIHNob3VsZCBu
b3QgYmUgYWxsb3dlZCB0byBzZWxmIHJlZmVyZW5jZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxMzI4NDkpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNv
cHkpCkBAIC0xOTc3LDkgKzE5NzcsMTEgQEAgd2Via2l0Lm9yZy9iLzEwMDQ2MyBtYXRobWwvbXN1
YnN1cC1mdXp6LgogIyBUaGUgbWF0aG1sIHBpeGVsIHRlc3RzIHdpbGwgYmUgY2hhbmdpbmcgZm9y
IGEgZmV3IGRheXMuIFRoZXknbGwgbmVlZCByZWJhc2VsaW5lIGFmdGVyIHRoYXQuCiB3ZWJraXQu
b3JnL2IvOTY5NjAgWyBBbmRyb2lkIExpbnV4IFdpbiBdIG1hdGhtbC94SGVpZ2h0LnhodG1sIFsg
UGFzcyBGYWlsdXJlIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk2OTYwIFsgQW5k
cm9pZCBMaW51eCBXaW4gXSBtYXRobWwvcHJlc2VudGF0aW9uIFsgUGFzcyBGYWlsdXJlIEltYWdl
T25seUZhaWx1cmUgXQotIyBUaGUgbmV4dCAyIGFyZSBmbGFreSwgYnV0IEkgaGF2ZSBhIGZpeCBh
bmQgd2lsbCBzdWJtaXQgaXQgc29vbi4KKyMgTmVlZHMgcmViYXNlbGluZSBhZnRlciBidWcgOTcz
OTAKK3dlYmtpdC5vcmcvYi85NzM5MCBbIE1hYyBdIG1hdGhtbC9wcmVzZW50YXRpb24vbW8tc3Ry
ZXRjaC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KK3dlYmtpdC5vcmcvYi85NzM5MCBbIE1hYyBdIG1h
dGhtbC9wcmVzZW50YXRpb24vcm93LWFsaWdubWVudC54aHRtbCBbIEZhaWx1cmUgUGFzcyBdCit3
ZWJraXQub3JnL2IvOTczOTAgWyBNYWMgXSBtYXRobWwvcHJlc2VudGF0aW9uL3RhYmxlcy54aHRt
bCBbIEZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3JnL2IvOTczOTAgWyBNYWMgXSBtYXRobWwvcHJl
c2VudGF0aW9uL3N1YnN1cC54aHRtbCBbIEZhaWx1cmUgUGFzcyBdCi13ZWJraXQub3JnL2IvOTcz
OTAgWyBNYWMgXSBtYXRobWwvcHJlc2VudGF0aW9uL21zdWJzdXAtYmFzZS1jaGFuZ2VkLnhodG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBQYXNzIF0KICMgT25jZSBjaHJvbWl1bSBkZWNpZGVzIHRvIGRl
ZmluaXRlbHkgZW5hYmxlIE1hdGhNTCwgd2UgY2FuIGRlbGV0ZSB0aGUgb2xkIHBsYXRmb3JtL2No
cm9taXVtIGJhc2VsaW5lIGZvciB0aGlzOgogd2Via2l0Lm9yZy9iLzk2OTYwIGh0dHAvdGVzdHMv
eG1sdmlld2VyL2R1bXBBc1RleHQvbWF0aG1sLnhtbCBbIFBhc3MgRmFpbHVyZSBdCiAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxMzI4
NDMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwkod29ya2lu
ZyBjb3B5KQpAQCAtMTU4MCwxNSArMTU4MCwxNyBAQCB3ZWJraXQub3JnL2IvOTg1ODcgZmFzdC93
cml0aW5nLW1vZGUvdmVyCiB3ZWJraXQub3JnL2IvOTk4NzggY3NzMy9mbGV4Ym94L2ZsZXhib3gt
YmFzZWxpbmUtbWFyZ2lucy5odG1sIFsgTWlzc2luZyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Vi
a2l0Lm9yZy9iLzEwMDQ2MyBtYXRobWwvbXN1YnN1cC1mdXp6Lmh0bWwgWyBDcmFzaCBQYXNzIF0K
LSMgTmVlZHMgcmViYXNlbGluZSBldmVudHVhbGx5CisjIE5lZWRzIHJlYmFzZWxpbmUKIHdlYmtp
dC5vcmcvYi85Nzk5MCBtYXRobWwvcHJlc2VudGF0aW9uL2F0dHJpYnV0ZXMueGh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi85Nzk5MCBtYXRobWwvcHJlc2VudGF0aW9uL2ZyYWN0aW9ucy54
aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk3OTkwIG1hdGhtbC9wcmVzZW50YXRpb24v
ZnJhY3Rpb25zLXZlcnRpY2FsLWFsaWdubWVudC54aHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzk3OTkwIG1hdGhtbC9wcmVzZW50YXRpb24vbW8tc3RyZXRjaC5odG1sIFsgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvOTc5OTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9yb290cy54aHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzk3OTkwIG1hdGhtbC9wcmVzZW50YXRpb24vcm93LWFsaWdu
bWVudC54aHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzk3OTkwIG1hdGhtbC9wcmVzZW50
YXRpb24vc3Vic3VwLnhodG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTk5MjEgbWF0aG1s
L3ByZXNlbnRhdGlvbi9mZW5jZWQueGh0bWwgWyBGYWlsdXJlIF0KKyMgTmVlZHMgcmViYXNlbGlu
ZSBhZnRlciBidWcgOTczOTAKK3dlYmtpdC5vcmcvYi85NzM5MCBtYXRobWwvcHJlc2VudGF0aW9u
L21vLXN0cmV0Y2guaHRtbCBbIEZhaWx1cmUgUGFzcyBdCit3ZWJraXQub3JnL2IvOTczOTAgbWF0
aG1sL3ByZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50LnhodG1sIFsgRmFpbHVyZSBQYXNzIF0KK3dl
YmtpdC5vcmcvYi85NzM5MCBtYXRobWwvcHJlc2VudGF0aW9uL3RhYmxlcy54aHRtbCBbIEZhaWx1
cmUgUGFzcyBdCit3ZWJraXQub3JnL2IvOTczOTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9zdWJzdXAu
eGh0bWwgWyBGYWlsdXJlIFBhc3MgXQogCiAjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMg
bm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRtbApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9u
IDEzMjg0MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCSh3
b3JraW5nIGNvcHkpCkBAIC00MjMsMTMgKzQyMywxNiBAQCB3ZWJraXQub3JnL2IvOTkwNTkgZmFz
dC9kb20vdGltZXItdGhyb3R0CiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9zdXBwb3J0cy5odG1s
CiAKIHdlYmtpdC5vcmcvYi8xMDA0NjMgbWF0aG1sL21zdWJzdXAtZnV6ei5odG1sIFsgQ3Jhc2gg
UGFzcyBdCi0jIE1hdGhNTCBsYXlvdXQgaXMgYmVpbmcgdHVuZWQvcmV3b3JrZWQuCisjIE5lZWRz
IHJlYmFzZWxpbmUKIHdlYmtpdC5vcmcvYi85OTkyMSBtYXRobWwvcHJlc2VudGF0aW9uL2ZlbmNl
ZC54aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk5OTIxIG1hdGhtbC9wcmVzZW50YXRp
b24vbW8ueGh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi85OTkyMSBtYXRobWwvcHJlc2Vu
dGF0aW9uL21vLXN0cmV0Y2guaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk5OTIxIG1h
dGhtbC9wcmVzZW50YXRpb24vb3Zlci54aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzk5
OTIxIG1hdGhtbC9wcmVzZW50YXRpb24vcm93LnhodG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3Jn
L2IvOTk5MjEgbWF0aG1sL3ByZXNlbnRhdGlvbi9yb3ctYWxpZ25tZW50LnhodG1sIFsgRmFpbHVy
ZSBdCisjIE5lZWRzIHJlYmFzZWxpbmUgYWZ0ZXIgYnVnIDk3MzkwCit3ZWJraXQub3JnL2IvOTcz
OTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9tby1zdHJldGNoLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQor
d2Via2l0Lm9yZy9iLzk3MzkwIG1hdGhtbC9wcmVzZW50YXRpb24vcm93LWFsaWdubWVudC54aHRt
bCBbIEZhaWx1cmUgUGFzcyBdCit3ZWJraXQub3JnL2IvOTczOTAgbWF0aG1sL3ByZXNlbnRhdGlv
bi90YWJsZXMueGh0bWwgWyBGYWlsdXJlIFBhc3MgXQord2Via2l0Lm9yZy9iLzk3MzkwIG1hdGht
bC9wcmVzZW50YXRpb24vc3Vic3VwLnhodG1sIFsgRmFpbHVyZSBQYXNzIF0KIAogIyBSZXF1aXJl
cyBSZXNvbHV0aW9uIE1lZGlhIFF1ZXJ5IHN1cHBvcnQKIHdlYmtpdC5vcmcvYi8xMDAxMzcgZmFz
dC9tZWRpYS9tcS1yZXNvbHV0aW9uLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTU4MSw5ICs1ODQsNiBA
QCB3ZWJraXQub3JnL2IvOTM4MTIgWyBSZWxlYXNlIF0gc3ZnL2N1c3RvCiAKIHdlYmtpdC5vcmcv
Yi85NTQzMCBmYXN0L2xheWVycy9zY3JvbGwtbm8tdmlzaWJsZS1jb250ZW50LWJ1dC12aXNpYmxl
LWRlc2NlbmRhbnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgUGFzcyBdCiAKLXdlYmtpdC5vcmcv
Yi85NzM5MCBtYXRobWwvcHJlc2VudGF0aW9uL3N1YnN1cC54aHRtbCBbIEZhaWx1cmUgUGFzcyBd
Ci13ZWJraXQub3JnL2IvOTczOTAgbWF0aG1sL3ByZXNlbnRhdGlvbi9tc3Vic3VwLWJhc2UtY2hh
bmdlZC54aHRtbCBbIEltYWdlT25seUZhaWx1cmUgUGFzcyBdCi0KIHdlYmtpdC5vcmcvYi83MzQw
OSBmYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgUGFzcyBdCiAKIHdlYmtpdC5vcmcvYi83ODgxOSBmYXN0L3dvcmtlcnMv
c2hhcmVkLXdvcmtlci1sb2FkLWVycm9yLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDEzMjg0MykK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjk5LDE0ICsxMjk5LDE2IEBAIHdlYmtpdC5vcmcvYi84MDM5NCBmYXN0L2Jsb2Nr
L21hcmdpbi1jb2wKIHdlYmtpdC5vcmcvYi84MDM5NCBmYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBz
ZS9ibG9jay1pbnNpZGUtaW5saW5lLzAyNS5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcv
Yi8xMDA0NjMgbWF0aG1sL21zdWJzdXAtZnV6ei5odG1sIFsgQ3Jhc2ggUGFzcyBdCi0jIE5lZWRz
IHJlYmFzZWxpbmluZyBhZnRlciBidWcgOTk5MjEKKyMgTmVlZHMgcmViYXNlbGluZQogd2Via2l0
Lm9yZy9iLzk5OTIxIG1hdGhtbC9wcmVzZW50YXRpb24vZmVuY2VkLnhodG1sIFsgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvOTk5MjEgbWF0aG1sL3ByZXNlbnRhdGlvbi9tby54aHRtbCBbIEZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzk5OTIxIG1hdGhtbC9wcmVzZW50YXRpb24vbW8tc3RyZXRjaC5o
dG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTk5MjEgbWF0aG1sL3ByZXNlbnRhdGlvbi9v
dmVyLnhodG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvOTk5MjEgbWF0aG1sL3ByZXNlbnRh
dGlvbi9yb3cueGh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi85OTkyMSBtYXRobWwvcHJl
c2VudGF0aW9uL3Jvdy1hbGlnbm1lbnQueGh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi85
OTkyMSBtYXRobWwvcHJlc2VudGF0aW9uL3N1YnN1cC54aHRtbCBbIEZhaWx1cmUgXQorIyBOZWVk
cyByZWJhc2VsaW5lIGFmdGVyIGJ1ZyA5NzM5MAord2Via2l0Lm9yZy9iLzk3MzkwIG1hdGhtbC9w
cmVzZW50YXRpb24vbW8tc3RyZXRjaC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KK3dlYmtpdC5vcmcv
Yi85NzM5MCBtYXRobWwvcHJlc2VudGF0aW9uL3Jvdy1hbGlnbm1lbnQueGh0bWwgWyBGYWlsdXJl
IFBhc3MgXQord2Via2l0Lm9yZy9iLzk3MzkwIG1hdGhtbC9wcmVzZW50YXRpb24vdGFibGVzLnho
dG1sIFsgRmFpbHVyZSBQYXNzIF0KK3dlYmtpdC5vcmcvYi85NzM5MCBtYXRobWwvcHJlc2VudGF0
aW9uL3N1YnN1cC54aHRtbCBbIEZhaWx1cmUgUGFzcyBdCiAKICMgY3NzMy1jb25kaXRpb25hbHMg
c3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9zdXBw
b3J0cy5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>