<?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>110686</bug_id>
          
          <creation_ts>2013-02-23 01:35:35 -0800</creation_ts>
          <short_desc>[CSS Regions] Crash when MathML used in CSS Regions</short_desc>
          <delta_ts>2013-03-25 17:45:12 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>AdobeTracked</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="A George">ancil0504</reporter>
          <assigned_to name="Andrei Bucur">abucur</assigned_to>
          <cc>abucur</cc>
    
    <cc>davidc</cc>
    
    <cc>dbarton</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>esprehn</cc>
    
    <cc>hyatt</cc>
    
    <cc>mihnea</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>840331</commentid>
    <comment_count>0</comment_count>
      <attachid>189913</attachid>
    <who name="A George">ancil0504</who>
    <bug_when>2013-02-23 01:35:35 -0800</bug_when>
    <thetext>Created attachment 189913
Test Page - Regions MathML

Browser crashes when MathML is included in CSS Regions.
Attached is the test page.

Tested on Chrome Version 24.0.1312.57 m by enabling CSS Regions through Webkit Experimental Flags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840877</commentid>
    <comment_count>1</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-02-25 04:56:53 -0800</bug_when>
    <thetext>Taking a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845138</commentid>
    <comment_count>2</comment_count>
      <attachid>190959</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2013-03-01 06:50:53 -0800</bug_when>
    <thetext>Created attachment 190959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845151</commentid>
    <comment_count>3</comment_count>
      <attachid>190959</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-03-01 07:26:13 -0800</bug_when>
    <thetext>Comment on attachment 190959
Patch

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

&gt; Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:80
&gt; +    RenderView* renderView = view();

You could move this new code in the constructor of a local class called FragmentationDisabler and also move the sibling code below in the destructor of the same local class.

&gt; Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:95
&gt;      setNeedsLayout(true, MarkOnlyThis);

Previously, setNeedsLayout was called before pushLayoutState, not after.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845155</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2013-03-01 07:30:09 -0800</bug_when>
    <thetext>Ojan posted this excerpt from chat in a comment on his blog, which I assume relates to this bug:

8:58 AM &lt;dhyatt&gt; minPreferredLogicalWidth() is not supposed to depend on layout(), otherwise you can get into cycles
8:58 AM &lt;abucur&gt; ok. when we compute the preferredwidths for RenderMathMLRow
8:58 AM &lt;dhyatt&gt; which is what you are running into
8:58 AM &lt;abucur&gt; well...
8:58 AM &lt;abucur&gt; void RenderMathMLRow::computePreferredLogicalWidths()
8:58 AM &lt;abucur&gt; {
8:58 AM &lt;abucur&gt;     ASSERT(preferredLogicalWidthsDirty() &amp;&amp; needsLayout());
8:58 AM &lt;abucur&gt; #ifndef NDEBUG
8:58 AM &lt;abucur&gt;     // FIXME: Remove this once mathml stops modifying the render tree here.
8:58 AM &lt;abucur&gt;     SetLayoutNeededForbiddenScope layoutForbiddenScope(this, false);
8:58 AM &lt;abucur&gt; #endif
8:58 AM &lt;abucur&gt;     computeChildrenPreferredLogicalHeights();
8:58 AM &lt;dhyatt&gt; .....
8:58 AM &lt;abucur&gt; the last line is doing a children layout
8:58 AM &lt;dhyatt&gt; this should never have made it past review.﻿

I wrote RenderMathMLRow::computePreferredLogicalWidths() and computeChildrenPreferredLogicalHeights(). They haven&apos;t gotten into cycles up to now because they only call layout recursively on descendents (after temporarily setting a very large container width, and later caching the results). This was done because MathML preferred widths depend on preferred heights of certain descendents, not just their widths, e.g. because of tall parentheses and brackets. (This also seems plausible to me for general layout. When you ask something complicated for its preferred width, it ought to be able to look at its children&apos;s preferred sizes - though not final layout sizes - and visual features in order to answer. I could imagine Adobe or someone proposing a new CSS layout feature someday that would need this, for instance. Certainly MathML would like it, if possible.) See bug 107353 for more discussion. In bug 107353 comment 35 Tony proposed a change to avoid the descendent layout calls, though Ojan has since expressed concern that even it would be too complicated to maintain.

Could someone say more about why my approach should never have made it past review, i.e. why it must cause circularity? I don&apos;t believe it has caused any bugs up to now. I do understand that it&apos;s different than HTML layout code so far, hence unfamiliar, but not why it can&apos;t work.

I do think this issue is difficult. I would be happy to talk about it in a video chat (e.g. Google Hangout), unless there&apos;s a simple compelling bug or reason why the best approach is clear, that can be summarized in a bug page comment. For instance, is Tony&apos;s approach either necessary or sufficient?

Again, I&apos;m not saying I&apos;m right. I&apos;m just saying that I wish someone would talk to me about the issue. I did ask for design advice before implementing this code, and got very little.

P.S. Andrei&apos;s patch was submitted as I was typing this. I am grateful that he didn&apos;t remove my code, but if my code is causing problems, I would still like to know if it should be removed or modified. Thanks and sorry for the inconvenience.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845159</commentid>
    <comment_count>5</comment_count>
      <attachid>190959</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2013-03-01 07:33:34 -0800</bug_when>
    <thetext>Comment on attachment 190959
Patch

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

&gt;&gt; Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:80
&gt;&gt; +    RenderView* renderView = view();
&gt; 
&gt; You could move this new code in the constructor of a local class called FragmentationDisabler and also move the sibling code below in the destructor of the same local class.

Good suggestion.

&gt;&gt; Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:95
&gt;&gt;      setNeedsLayout(true, MarkOnlyThis);
&gt; 
&gt; Previously, setNeedsLayout was called before pushLayoutState, not after.

They shouldn&apos;t be related. I think this structure is easier to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845166</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2013-03-01 07:42:00 -0800</bug_when>
    <thetext>P.S. I guess by &quot;someone&quot;, I mean dhyatt. I know Ojan thinks my approach is complicated or confusing, but I&apos;m not sure why dhyatt stated he thinks it shouldn&apos;t have made it past review, or what he&apos;d recommend instead.

I do like the idea of this patch, and the comment to improve it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845179</commentid>
    <comment_count>7</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2013-03-01 07:52:44 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; P.S. I guess by &quot;someone&quot;, I mean dhyatt. I know Ojan thinks my approach is complicated or confusing, but I&apos;m not sure why dhyatt stated he thinks it shouldn&apos;t have made it past review, or what he&apos;d recommend instead.
&gt; 
&gt; I do like the idea of this patch, and the comment to improve it.

I think we shouldn&apos;t emit conclusions from some IRC logs. Best thing is to catch David and talk a bit about why he thinks this is wrong. It could as well be a misunderstanding; maybe I&apos;ve explained something wrong during the discussion.

The idea of the patch still stands in my opinion. Even without regions, you don&apos;t want to layout the content and be concerned about the content being fragmented. It&apos;s possible you get the wrong results for the preferred height (lines can be shifted to accomodate for page breaks).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845189</commentid>
    <comment_count>8</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2013-03-01 08:12:08 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; P.S. I guess by &quot;someone&quot;, I mean dhyatt. I know Ojan thinks my approach is complicated or confusing, but I&apos;m not sure why dhyatt stated he thinks it shouldn&apos;t have made it past review, or what he&apos;d recommend instead.
&gt; &gt; 
&gt; &gt; I do like the idea of this patch, and the comment to improve it.
&gt; 
&gt; I think we shouldn&apos;t emit conclusions from some IRC logs. Best thing is to catch David and talk a bit about why he thinks this is wrong. It could as well be a misunderstanding; maybe I&apos;ve explained something wrong during the discussion.
&gt; 
&gt; The idea of the patch still stands in my opinion. Even without regions, you don&apos;t want to layout the content and be concerned about the content being fragmented. It&apos;s possible you get the wrong results for the preferred height (lines can be shifted to accomodate for page breaks).

Thanks, I agree with all this. In particular, any MathML idea of preferred height doesn&apos;t want to include page breaks, IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845231</commentid>
    <comment_count>9</comment_count>
      <attachid>190959</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-03-01 09:17:38 -0800</bug_when>
    <thetext>Comment on attachment 190959
Patch

Broken by my change to turn the bit into a state, so you&apos;ll need to re-post.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846363</commentid>
    <comment_count>10</comment_count>
      <attachid>191210</attachid>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2013-03-04 05:40:24 -0800</bug_when>
    <thetext>Created attachment 191210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846533</commentid>
    <comment_count>11</comment_count>
      <attachid>191210</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-03-04 08:51:52 -0800</bug_when>
    <thetext>Comment on attachment 191210
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846542</commentid>
    <comment_count>12</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-03-04 08:59:51 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; P.S. I guess by &quot;someone&quot;, I mean dhyatt. I know Ojan thinks my approach is complicated or confusing, but I&apos;m not sure why dhyatt stated he thinks it shouldn&apos;t have made it past review, or what he&apos;d recommend instead.
&gt; 
&gt; I do like the idea of this patch, and the comment to improve it.

Layout is supposed to depend on preferred logical widths, but the reverse cannot be true or you risk getting into cycles. Essentially it should be possible to run the preferred logical widths algorithm independently without ever invoking layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846572</commentid>
    <comment_count>13</comment_count>
      <attachid>191210</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-03-04 09:35:58 -0800</bug_when>
    <thetext>Comment on attachment 191210
Patch

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

&gt; Source/WebCore/rendering/RenderView.cpp:1150
&gt; +FragmentationDisabler::FragmentationDisabler(RenderObject* root)

It would be nice if this was all be hidden behind the MATHML feature ifdef since not all ports ship mathml. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846640</commentid>
    <comment_count>14</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2013-03-04 11:00:08 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Layout is supposed to depend on preferred logical widths, but the reverse cannot be true or you risk getting into cycles. Essentially it should be possible to run the preferred logical widths algorithm independently without ever invoking layout.

Thanks very much for the reply. Isn&apos;t &quot;cannot&quot; too strong a word here? Because MathML preferred logical widths only depend on the preferred logical heights of *descendents*, circularity is avoided, as I explained in comment 4. It&apos;s just a bottom-up (non-circular) algorithm inside RenderMathMLRow::computePreferredLogicalWidths() and computeChildrenPreferredLogicalHeights().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846648</commentid>
    <comment_count>15</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2013-03-04 11:05:55 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 191210 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191210&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderView.cpp:1150
&gt; &gt; +FragmentationDisabler::FragmentationDisabler(RenderObject* root)
&gt; 
&gt; It would be nice if this was all be hidden behind the MATHML feature ifdef since not all ports ship mathml. :)

I can move this to RenderMathMLBlock. It was added to RenderView because I thought it may be needed in other circumstances.
I suppose we could just move it out when it will be the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846725</commentid>
    <comment_count>16</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-03-04 12:26:17 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #13)
&gt; &gt; (From update of attachment 191210 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191210&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/rendering/RenderView.cpp:1150
&gt; &gt; &gt; +FragmentationDisabler::FragmentationDisabler(RenderObject* root)
&gt; &gt; 
&gt; &gt; It would be nice if this was all be hidden behind the MATHML feature ifdef since not all ports ship mathml. :)
&gt; 
&gt; I can move this to RenderMathMLBlock. It was added to RenderView because I thought it may be needed in other circumstances.
&gt; I suppose we could just move it out when it will be the case.

I actually would like it to stay in RenderView. I suspect we will have use for it beyond MathML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846729</commentid>
    <comment_count>17</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-03-04 12:30:01 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #12)
&gt; &gt; Layout is supposed to depend on preferred logical widths, but the reverse cannot be true or you risk getting into cycles. Essentially it should be possible to run the preferred logical widths algorithm independently without ever invoking layout.
&gt; 
&gt; Thanks very much for the reply. Isn&apos;t &quot;cannot&quot; too strong a word here? Because MathML preferred logical widths only depend on the preferred logical heights of *descendents*, circularity is avoided, as I explained in comment 4. It&apos;s just a bottom-up (non-circular) algorithm inside RenderMathMLRow::computePreferredLogicalWidths() and computeChildrenPreferredLogicalHeights().

Well, in general it would be nice for the one to not depend on the other, since originally it was even done as a separate pass before layout. Is it really the case that the layout of these descendants would never ask for the width of the container? 

If that width is the very intrinsic width you&apos;re computing, then the answer you give to the children will be wrong. I don&apos;t think it will cause a cycle, because we will simply assume the correct width got stored in the renderer, but since it didn&apos;t, you&apos;ll just use the wrong value.

That&apos;s my main point, that there is circularity. You may be getting lucky and not experiencing the circularity because of how the code happens to be set up, in which case you avoid the cycle by rendering wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846756</commentid>
    <comment_count>18</comment_count>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2013-03-04 12:57:58 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #14)
&gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; Layout is supposed to depend on preferred logical widths, but the reverse cannot be true or you risk getting into cycles. Essentially it should be possible to run the preferred logical widths algorithm independently without ever invoking layout.
&gt; &gt; 
&gt; &gt; Thanks very much for the reply. Isn&apos;t &quot;cannot&quot; too strong a word here? Because MathML preferred logical widths only depend on the preferred logical heights of *descendents*, circularity is avoided, as I explained in comment 4. It&apos;s just a bottom-up (non-circular) algorithm inside RenderMathMLRow::computePreferredLogicalWidths() and computeChildrenPreferredLogicalHeights().
&gt; 
&gt; Well, in general it would be nice for the one to not depend on the other, since originally it was even done as a separate pass before layout. Is it really the case that the layout of these descendants would never ask for the width of the container? 

The final *layout* of the descendents might depend on the container width, for line wrapping, as in the HTML case. However, the *preferred* width and height of the descendents is defined to *not* depend on wrapping, just like the HTML preferred (logical) maximum width.

&gt; If that width is the very intrinsic width you&apos;re computing, then the answer you give to the children will be wrong. I don&apos;t think it will cause a cycle, because we will simply assume the correct width got stored in the renderer, but since it didn&apos;t, you&apos;ll just use the wrong value.
&gt; 
&gt; That&apos;s my main point, that there is circularity. You may be getting lucky and not experiencing the circularity because of how the code happens to be set up, in which case you avoid the cycle by rendering wrong.

I think the answer isn&apos;t &quot;wrong&quot;, it&apos;s just preferred vs. final height, like for width.

The preferred heights of descendents are used to stretch adjacent parentheses and other brackets, e.g. around matrices. The height of a stretched parenthesis affects its width, even its preferred width, so it needs to know the preferred heights of its (unstretched) siblings. See &lt;http://www.w3.org/TR/MathML3/chapter3.html#presm.op.stretch&gt;, e.g. &lt;http://www.w3.org/TR/MathML3/chapter3.html#id.3.2.5.8.2&gt;. In other words, I agree you&apos;re right that you can&apos;t compute the final layout height of renderers at preferred logical widths time, because line wrapping could conceivably occur later. But stretching to match unwrapped heights is almost always good enough, and I would argue what you really want anyway. So preferred logical heights are good enough, and final layout heights are unnecessary, at preferred logical width time.

I find this totally analogous to layout logical widths vs. preferred logical widths, and the use cases for the latter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847479</commentid>
    <comment_count>19</comment_count>
      <attachid>191210</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 02:29:39 -0800</bug_when>
    <thetext>Comment on attachment 191210
Patch

Clearing flags on attachment: 191210

Committed r144744: &lt;http://trac.webkit.org/changeset/144744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847480</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 02:29:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851975</commentid>
    <comment_count>21</comment_count>
      <attachid>192385</attachid>
    <who name="Dave Barton">dbarton</who>
    <bug_when>2013-03-10 14:09:47 -0700</bug_when>
    <thetext>Created attachment 192385
example of preferred height &amp; operator stretching, with line breaking

This attached image example is from Neil Soiffer of the w3c MathML committee, to show what should happen with preferred heights, operator stretching, and line breaking. The committee discussed this in their monthly conference call on Thursday, and will add a clarification to the spec. Basically they agree with what I said in comment 18 for the common case of an &lt;mrow&gt;. Stretching in &lt;mtable&gt;s however is typically used for arrows in a commutative diagram, which would ideally be handled differently, though this is rarer and something WebKit probably won&apos;t get to for a while. They also said this is all a clarification of what&apos;s already in the MathML spec sections I mentioned, not a change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>189913</attachid>
            <date>2013-02-23 01:35:35 -0800</date>
            <delta_ts>2013-02-23 01:35:35 -0800</delta_ts>
            <desc>Test Page - Regions MathML</desc>
            <filename>crash-regions-mathml.html</filename>
            <type>text/html</type>
            <size>739</size>
            <attacher name="A George">ancil0504</attacher>
            
              <data encoding="base64">PGh0bWw+DQo8aGVhZD4NCiAgPHRpdGxlPlRlc3QgZm9yIE1hdGhNTCBjcmFzaDwvdGl0bGU+DQoN
CjxzdHlsZT4NCi5leGFtcGxlLXRleHQgew0KICAgLXdlYmtpdC1mbG93LWludG86IGV4YW1wbGUt
dGV4dC1mbG93Ow0KICAgcGFkZGluZzogMDsNCiAgIG1hcmdpbjogMDsNCn0NCi5yZWdpb25zIHsN
CiAgIC13ZWJraXQtZmxvdy1mcm9tOiBleGFtcGxlLXRleHQtZmxvdzsNCiAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsYWNrOw0KICAgcGFkZGluZzogMnB4Ow0KICAgbWFyZ2luOiA1cHg7DQogICB3aWR0
aDogMjAwcHg7DQogICBoZWlnaHQ6IDUwcHg7DQp9DQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+
DQoNCjxkaXY+DQoJPGRpdiBjbGFzcz0iZXhhbXBsZS10ZXh0IiA+DQoJICBMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuDQoJ
ICANCgkgDQoJCTxkaXY+DQoJCQk8bWF0aD4NCgkJCQk8bXJvdz4NCgkJCQkJPG1uPjI8L21uPg0K
CQkJCQk8bW8+KzwvbW8+DQoJCQkJCTxtbj40PC9tbj4NCgkJCQk8L21yb3c+DQoJCQk8L21hdGg+
DQoJCTwvZGl2Pg0KCTwvZGl2Pg0KCQ0KCTxkaXYgY2xhc3M9InJlZ2lvbnMiPjwvZGl2Pg0KCTxk
aXYgY2xhc3M9InJlZ2lvbnMiPjwvZGl2Pg0KPC9kaXY+DQoNCjwvYm9keT4NCjwvaHRtbD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190959</attachid>
            <date>2013-03-01 06:50:53 -0800</date>
            <delta_ts>2013-03-04 05:40:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110686-20130301164703.patch</filename>
            <type>text/plain</type>
            <size>6255</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTIzYWM0NTU4ZTI1YzIz
MzE2NjM1ZjJmOTZlNWNmMDgyZTlkNGVjZi4uZDQwZTM3NDdkOTRiZjVlYTVjYWVjYTA3ZWMxNWRj
Y2UzM2Q4NzhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAzLTAxICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gQ3Jh
c2ggd2hlbiBNYXRoTUwgdXNlZCBpbiBDU1MgUmVnaW9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNjg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIE1hdGhNTCBibG9ja3MgdHJpZ2dlciBhIGNo
aWxkcmVuIGxheW91dCB3aGVuIGNvbXB1dGluZyB0aGUgcHJlZmVycmVkIHdpZHRocy4gVGhpcyBo
YXBwZW5zIHRvIGRldGVybWluZSB0aGUgcHJlZmVycmVkCisgICAgICAgIGxvZ2ljYWwgaGVpZ2h0
cyBvZiB0aGUgY2hpbGRyZW4uIFdoZW4gdGhlIGxheW91dCByZWFjaGVzIHRoZSBsaW5lIGJveGVz
IGNvbXB1dGF0aW9uIHRoZSBwcmVmZXJyZWQgd2lkdGggb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2sK
KyAgICAgICAgaXMgcmVxdWVzdGVkLiBCZWNhdXNlIGl0IHdhc24ndCBjb21wdXRlZCwgdGhlIGxh
eW91dCBvZiB0aGUgY2hpbGRyZW4gaXMgc3RhcnRlZCBhZ2FpbiB0byBkZXRlcm1pbmUgdGhlIHBy
ZWZlcnJlZCBsb2dpY2FsIGhlaWdodHMuCisgICAgICAgIFRoaXMgY2F1c2VzIGFuIGluZmluaXRl
IHJlY3Vyc2lvbiBhbmQgdHJpZ2dlcnMgYSBzdGFjayBvdmVyZmxvdy4KKworICAgICAgICBUaGUg
cGF0Y2ggZGlzYWJsZXMgcGFnaW5hdGlvbiBhbmQgcmVnaW9ucyBkdXJpbmcgdGhlIGxheW91dCBv
ZiB0aGUgcHJlZmVycmVkIGhlaWdodHMuIFRoaXMgYWxsb3dzIHRoZSBjaGlsZHJlbiB0byBsYXlv
dXQgd2l0aG91dAorICAgICAgICBwYWdlIGNvbnN0cmFpbnRzIGFuZCBicmVha3MgdGhlIGNpcmN1
bGFyIGRlcGVuZGVuY3kuCisKKyAgICAgICAgVGVzdDogZmFzdC9yZWdpb25zL21hdGhtbC1jcmFz
aC5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEJsb2NrOjpjb21wdXRlQ2hpbGRyZW5Q
cmVmZXJyZWRMb2dpY2FsSGVpZ2h0cyk6CisKIDIwMTMtMDItMjggIEFsZXhhbmRlciBQYXZsb3Yg
IDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTZWxlY3Rv
cidzIHJhdyBzdGFydCBwb3NpdGlvbiBpbiBpdHMgbGluZSBpcyBjb25zaWRlcmVkIHRvIGJlIDAg
d2hlbiBjb21wdXRpbmcgVUlMb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcAppbmRleCAyZDViMWNjYmEwMzEyZmQ4
NTUxNDNjZDBhMWQxNzdkYzk3Yzk4YjhhLi5lZGYxZjE2ZDBlZjRlODFmOTdiM2IyZGM0MmFiY2Jh
NTA4NGU3ZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTEJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTEJsb2NrLmNwcApAQCAtNzYsMTQgKzc2LDI0IEBAIHN0YXRpYyBjb25zdCBp
bnQgY0xhcmdlTG9naWNhbFdpZHRoID0gMTUwMDA7CiB2b2lkIFJlbmRlck1hdGhNTEJsb2NrOjpj
b21wdXRlQ2hpbGRyZW5QcmVmZXJyZWRMb2dpY2FsSGVpZ2h0cygpCiB7CiAgICAgQVNTRVJUKG5l
ZWRzTGF5b3V0KCkpOworCisgICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IHZpZXcoKTsKKyAg
ICBMYXlvdXRTdGF0ZSogbGF5b3V0U3RhdGUgPSByZW5kZXJWaWV3LT5sYXlvdXRTdGF0ZSgpOwor
ICAgIGJvb2wgd2FzUGFnaW5hdGVkID0gbGF5b3V0U3RhdGUgJiYgbGF5b3V0U3RhdGUtPmlzUGFn
aW5hdGVkKCk7CisgICAgYm9vbCB3YXNJbkZsb3dUaHJlYWQgPSBpblJlbmRlckZsb3dUaHJlYWQo
KTsKKworICAgIC8vIFRoaXMgaXMgdWdseSwgYnV0IGRpc2FibGUgZnJhZ21lbnRhdGlvbiB3aGVu
IGNvbXB1dGluZyB0aGUgcHJlZmVycmVkIGhlaWdodHMuCisgICAgaWYgKCFsYXlvdXRTdGF0ZSkK
KyAgICAgICAgcmVuZGVyVmlldy0+cHVzaExheW91dFN0YXRlKHRoaXMpOworICAgIGVsc2UKKyAg
ICAgICAgbGF5b3V0U3RhdGUtPm1faXNQYWdpbmF0ZWQgPSBmYWxzZTsKKyAgICAgICAgCisgICAg
aWYgKHdhc0luRmxvd1RocmVhZCkKKyAgICAgICAgc2V0SW5SZW5kZXJGbG93VGhyZWFkSW5jbHVk
aW5nRGVzY2VuZGFudHMoZmFsc2UpOwogICAgIAogICAgIC8vIEVuc3VyZSBhIGZ1bGwgcmVwYWlu
dCB3aWxsIGhhcHBlbiBhZnRlciBsYXlvdXQgZmluaXNoZXMuCiAgICAgc2V0TmVlZHNMYXlvdXQo
dHJ1ZSwgTWFya09ubHlUaGlzKTsKLSAgICAKLSAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0g
dmlldygpOwotICAgIGJvb2wgaGFkTGF5b3V0U3RhdGUgPSByZW5kZXJWaWV3LT5sYXlvdXRTdGF0
ZSgpOwotICAgIGlmICghaGFkTGF5b3V0U3RhdGUpCi0gICAgICAgIHJlbmRlclZpZXctPnB1c2hM
YXlvdXRTdGF0ZSh0aGlzKTsKKwogICAgIHsKICAgICAgICAgTGF5b3V0U3RhdGVEaXNhYmxlciBs
YXlvdXRTdGF0ZURpc2FibGVyKHJlbmRlclZpZXcpOwogICAgICAgICAKQEAgLTEwNyw4ICsxMTcs
MTUgQEAgdm9pZCBSZW5kZXJNYXRoTUxCbG9jazo6Y29tcHV0ZUNoaWxkcmVuUHJlZmVycmVkTG9n
aWNhbEhlaWdodHMoKQogICAgICAgICAgICAgICAgIGNoaWxkTWF0aE1MQmxvY2stPnNldFByZWZl
cnJlZExvZ2ljYWxIZWlnaHQoY2hpbGRNYXRoTUxCbG9jay0+bG9naWNhbEhlaWdodCgpKTsKICAg
ICAgICAgfQogICAgIH0KLSAgICBpZiAoIWhhZExheW91dFN0YXRlKQorCisgICAgLy8gUmVzdG9y
ZSB0aGUgZnJhZ21lbnRhdGlvbiBzdGF0ZS4KKyAgICBpZiAoIWxheW91dFN0YXRlKQogICAgICAg
ICByZW5kZXJWaWV3LT5wb3BMYXlvdXRTdGF0ZSh0aGlzKTsKKyAgICBlbHNlCisgICAgICAgIGxh
eW91dFN0YXRlLT5tX2lzUGFnaW5hdGVkID0gd2FzUGFnaW5hdGVkOworCisgICAgaWYgKHdhc0lu
Rmxvd1RocmVhZCkKKyAgICAgICAgc2V0SW5SZW5kZXJGbG93VGhyZWFkSW5jbHVkaW5nRGVzY2Vu
ZGFudHModHJ1ZSk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyTWF0aE1MQmxvY2s6OnByZWZlcnJl
ZExvZ2ljYWxIZWlnaHRBZnRlclNpemluZyhSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4
NTUyYTYyNjk1NWY5NTg0MGNkYzlkNWM4NTlhODk1YzdlZmJkMzguLmE4MzQ5YjU4MDE1MWYzYWVh
MGYzOWQyYWMxNmZiNWI0NTg4Mjg2ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMy0w
MSAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTIFJlZ2lv
bnNdIENyYXNoIHdoZW4gTWF0aE1MIHVzZWQgaW4gQ1NTIFJlZ2lvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDY4NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdG8gdmVyaWZ5IHJl
Z2lvbnMgYW5kIE1hdGhNTCBkbyBub3QgY3Jhc2guCisKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMv
bWF0aG1sLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25z
L21hdGhtbC1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0yOCAgQWxleGFuZGVyIFBhdmxv
diAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNlbGVj
dG9yJ3MgcmF3IHN0YXJ0IHBvc2l0aW9uIGluIGl0cyBsaW5lIGlzIGNvbnNpZGVyZWQgdG8gYmUg
MCB3aGVuIGNvbXB1dGluZyBVSUxvY2F0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvbWF0aG1sLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9tYXRobWwtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlYWU4ZGRkMjFmM2Ez
MDMyNGU1YjU3MDUwYTM2MmM4NGMxZTlmYzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvbWF0aG1sLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorQnVnIDEx
MDY4NjogW0NTUyBSZWdpb25zXSBDcmFzaCB3aGVuIE1hdGhNTCB1c2VkIGluIENTUyBSZWdpb25z
CisKK1RoaXMgdGVzdCBQQVNTRVMgaWYgaXQgZG9lcyBub3QgQ1JBU0ggb3IgQVNTRVJULgorCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9tYXRobWwtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9tYXRobWwtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
NmU0NDQyMzU0NmFjODU4OGYzODBlOWM0YjA0ZDlhY2U1MWVlYWZlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21hdGhtbC1jcmFzaC5odG1sCkBAIC0wLDAgKzEs
NDUgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPlRlc3QgZm9yIE1hdGhNTCBjcmFzaDwv
dGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c3R5bGU+CisgICAgI2V4YW1wbGUtdGV4dCB7CisgICAg
ICAgLXdlYmtpdC1mbG93LWludG86IGV4YW1wbGUtdGV4dC1mbG93OworICAgICAgIHBhZGRpbmc6
IDA7CisgICAgICAgbWFyZ2luOiAwOworICAgIH0KKyAgICAucmVnaW9ucyB7CisgICAgICAgLXdl
YmtpdC1mbG93LWZyb206IGV4YW1wbGUtdGV4dC1mbG93OworICAgICAgIGJvcmRlcjogMXB4IHNv
bGlkIGJsYWNrOworICAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgICBoZWlnaHQ6IDUwcHg7Cisg
ICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+CisgICAgPHA+QnVnIDxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA2ODYiPjEx
MDY4NjwvYT46IFtDU1MgUmVnaW9uc10gQ3Jhc2ggd2hlbiBNYXRoTUwgdXNlZCBpbiBDU1MgUmVn
aW9uczwvcD4KKyAgICA8cD5UaGlzIHRlc3QgUEFTU0VTIGlmIGl0IGRvZXMgbm90IENSQVNIIG9y
IEFTU0VSVC48L3A+CisgICAgPGRpdiBpZD0iZXhhbXBsZS10ZXh0Ij4KKyAgICAgICAgPGRpdj4K
KyAgICAgICAgICAgIDxtYXRoPgorICAgICAgICAgICAgICAgIDxtcm93PgorICAgICAgICAgICAg
ICAgICAgICA8bW4+MjwvbW4+CisgICAgICAgICAgICAgICAgICAgIDxtbz4rPC9tbz4KKyAgICAg
ICAgICAgICAgICAgICAgPG1uPjQ8L21uPgorICAgICAgICAgICAgICAgIDwvbXJvdz4KKyAgICAg
ICAgICAgIDwvbWF0aD4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFz
cz0icmVnaW9ucyI+PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
K2RvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJleGFtcGxlLXRleHQiKS5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191210</attachid>
            <date>2013-03-04 05:40:24 -0800</date>
            <delta_ts>2013-03-05 02:29:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110686-20130304153631.patch</filename>
            <type>text/plain</type>
            <size>8807</size>
            <attacher name="Andrei Bucur">abucur</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDRkZTUwODYwNGFkOGYw
OGY0ODM5MjczNmIwNzUyZWNjYjZlNDU1Mi4uYTQ4MGRkNWUzMTY5ZDg3NDdmZWM0MzE3NjU0YzFm
ZWZiOWFhYWNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAzLTA0ICBBbmRy
ZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gQ3Jh
c2ggd2hlbiBNYXRoTUwgdXNlZCBpbiBDU1MgUmVnaW9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNjg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIE1hdGhNTCBibG9ja3MgdHJpZ2dlciBhIGNo
aWxkcmVuIGxheW91dCB3aGVuIGNvbXB1dGluZyB0aGUgcHJlZmVycmVkIHdpZHRocy4gVGhpcyBo
YXBwZW5zIHRvIGRldGVybWluZSB0aGUgcHJlZmVycmVkCisgICAgICAgIGxvZ2ljYWwgaGVpZ2h0
cyBvZiB0aGUgY2hpbGRyZW4uIFdoZW4gdGhlIGxheW91dCByZWFjaGVzIHRoZSBsaW5lIGJveGVz
IGNvbXB1dGF0aW9uIHRoZSBwcmVmZXJyZWQgd2lkdGggb2YgdGhlIGNvbnRhaW5pbmcgYmxvY2sK
KyAgICAgICAgaXMgcmVxdWVzdGVkLiBCZWNhdXNlIGl0IHdhc24ndCBjb21wdXRlZCwgdGhlIGxh
eW91dCBvZiB0aGUgY2hpbGRyZW4gaXMgc3RhcnRlZCBhZ2FpbiB0byBkZXRlcm1pbmUgdGhlIHBy
ZWZlcnJlZCBsb2dpY2FsIGhlaWdodHMuCisgICAgICAgIFRoaXMgY2F1c2VzIGFuIGluZmluaXRl
IHJlY3Vyc2lvbiBhbmQgdHJpZ2dlcnMgYSBzdGFjayBvdmVyZmxvdy4KKworICAgICAgICBUaGUg
cGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBSQUlJIHV0aWxpdHkgY2xhc3MgdGhhdCBkaXNhYmxlcyBm
cmFnbWVudGF0aW9uIHdoZW4gdGhlIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgcmVzdG9yZXMg
aXQKKyAgICAgICAgb24gdGhlIGRlc3RydWN0b3IuIFRoaXMgY2xhc3MgaXMgdXNlZCB3aGVuIGNv
bXB1dGluZyB0aGUgcHJlZmVycmVkIGhlaWdodCBmb3IgdGhlIGNoaWxkcmVuIG9mIGEgTWF0aE1M
IGJsb2NrLgorCisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9tYXRobWwtY3Jhc2guaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJPYmplY3Q6OnNldEZsb3dUaHJlYWRTdGF0ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKTog
RG8gbm90IGNyb3NzIFJlbmRlckZsb3dUaHJlYWQgYm91bmRhcmllcyB3aGVuIHVwZGF0aW5nIHRo
ZSBmbG93IHRocmVhZAorICAgICAgICBzdGF0ZSBmbGFnLiBUaGUgaW5uZXJtb3N0IGZsb3cgdGhy
ZWFkcyBuZWVkIHRvIG1hbmFnZSB0aGVpciBkZXNjZW5kYW50cyBmbGFnIHZhbHVlcy4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFnbWVu
dGF0aW9uRGlzYWJsZXI6OkZyYWdtZW50YXRpb25EaXNhYmxlcik6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYWdtZW50YXRpb25EaXNhYmxlcjo6fkZyYWdtZW50YXRp
b25EaXNhYmxlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAg
KEZyYWdtZW50YXRpb25EaXNhYmxlcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1hdGhNTEJsb2NrOjpjb21wdXRlQ2hpbGRyZW5QcmVmZXJyZWRMb2dpY2FsSGVpZ2h0
cyk6CisKIDIwMTMtMDMtMDQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB0b3VjaG1vdmUgbm90IGVtdWxhdGVkIGluc2lk
ZSBpZnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXgg
ODRlYzM4NmI3YTA3YmJhOGM1YzZjODY2ZmMzYzE5MGFiOTE4MzM0OS4uNWU2NzFlMTk1MTAwY2Rl
YzMxNWJjY2YwZTMyYzI3ODkzZTI4NDNjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAKQEAgLTI4MSw2ICsyODEsOSBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0
Rmxvd1RocmVhZFN0YXRlSW5jbHVkaW5nRGVzY2VuZGFudHMoRmxvd1RocmVhZFN0YXRlIHN0YXRl
KQogICAgIHNldEZsb3dUaHJlYWRTdGF0ZShzdGF0ZSk7CiAKICAgICBmb3IgKFJlbmRlck9iamVj
dCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGlu
ZygpKSB7CisgICAgICAgIC8vIElmIHRoZSBjaGlsZCBpcyBhIGZyYWdtZW50YXRpb24gY29udGV4
dCBpdCBhbHJlYWR5IHVwZGF0ZWQgdGhlIGRlc2NlbmRhbnRzIGZsYWcgYWNjb3JkaW5nbHkuCisg
ICAgICAgIGlmIChjaGlsZC0+aXNSZW5kZXJGbG93VGhyZWFkKCkpCisgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgQVNTRVJUKHN0YXRlICE9IGNoaWxkLT5mbG93VGhyZWFkU3RhdGUoKSk7
CiAgICAgICAgIGNoaWxkLT5zZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyhz
dGF0ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4
IDJkYzIzMjZhYmZiMzI0OTdhZGI4OWIyYWRmY2QzYzYxNjVhNDJiNTYuLmRiMjgyNDBlZDliNTI2
OTJkZjRhOTliOGRhOWRmYTFkMGUzYzZjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHAKQEAgLTExNDcsNCArMTE0Nyw0MiBAQCB2b2lkIFJlbmRlclZpZXc6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAg
ICAgaW5mby5hZGRNZW1iZXIobV9sZWdhY3lQcmludGluZywgImxlZ2FjeVByaW50aW5nIik7CiB9
CiAKK0ZyYWdtZW50YXRpb25EaXNhYmxlcjo6RnJhZ21lbnRhdGlvbkRpc2FibGVyKFJlbmRlck9i
amVjdCogcm9vdCkKK3sKKyAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gcm9vdC0+dmlldygp
OworICAgIEFTU0VSVChyZW5kZXJWaWV3KTsKKworICAgIExheW91dFN0YXRlKiBsYXlvdXRTdGF0
ZSA9IHJlbmRlclZpZXctPmxheW91dFN0YXRlKCk7CisKKyAgICBtX3Jvb3QgPSByb290OworICAg
IG1fZnJhZ21lbnRpbmcgPSBsYXlvdXRTdGF0ZSAmJiBsYXlvdXRTdGF0ZS0+aXNQYWdpbmF0ZWQo
KTsKKyAgICBtX2Zsb3dUaHJlYWRTdGF0ZSA9IG1fcm9vdC0+Zmxvd1RocmVhZFN0YXRlKCk7Cisj
aWZuZGVmIE5ERUJVRworICAgIG1fbGF5b3V0U3RhdGUgPSBsYXlvdXRTdGF0ZTsKKyNlbmRpZgor
CisgICAgaWYgKGxheW91dFN0YXRlKQorICAgICAgICBsYXlvdXRTdGF0ZS0+bV9pc1BhZ2luYXRl
ZCA9IGZhbHNlOworICAgICAgICAKKyAgICBpZiAobV9mbG93VGhyZWFkU3RhdGUgIT0gUmVuZGVy
T2JqZWN0OjpOb3RJbnNpZGVGbG93VGhyZWFkKQorICAgICAgICBtX3Jvb3QtPnNldEZsb3dUaHJl
YWRTdGF0ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKFJlbmRlck9iamVjdDo6Tm90SW5zaWRlRmxvd1Ro
cmVhZCk7Cit9CisKK0ZyYWdtZW50YXRpb25EaXNhYmxlcjo6fkZyYWdtZW50YXRpb25EaXNhYmxl
cigpCit7CisgICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IG1fcm9vdC0+dmlldygpOworICAg
IEFTU0VSVChyZW5kZXJWaWV3KTsKKworICAgIExheW91dFN0YXRlKiBsYXlvdXRTdGF0ZSA9IHJl
bmRlclZpZXctPmxheW91dFN0YXRlKCk7CisjaWZuZGVmIE5ERUJVRworICAgIEFTU0VSVChtX2xh
eW91dFN0YXRlID09IGxheW91dFN0YXRlKTsKKyNlbmRpZgorCisgICAgaWYgKGxheW91dFN0YXRl
KQorICAgICAgICBsYXlvdXRTdGF0ZS0+bV9pc1BhZ2luYXRlZCA9IG1fZnJhZ21lbnRpbmc7Cisg
ICAgICAgIAorICAgIGlmIChtX2Zsb3dUaHJlYWRTdGF0ZSAhPSBSZW5kZXJPYmplY3Q6Ok5vdElu
c2lkZUZsb3dUaHJlYWQpCisgICAgICAgIG1fcm9vdC0+c2V0Rmxvd1RocmVhZFN0YXRlSW5jbHVk
aW5nRGVzY2VuZGFudHMobV9mbG93VGhyZWFkU3RhdGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCAyODU4ZjM3NDQ0
N2YzMzIzNjI5YzEyNTE1ZjQ0YjliMWJjZjlmZjU2Li5jMTQ5NGFmYjRiMTdhYWEyMmVhZjcyNWM1
NGQzNTRhYzhiNTFmYjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAg
LTQ0Niw2ICs0NDYsMjAgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJWaWV3KiBtX3ZpZXc7CiB9Owog
CitjbGFzcyBGcmFnbWVudGF0aW9uRGlzYWJsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZyYWdtZW50YXRpb25EaXNhYmxlcik7CitwdWJsaWM6CisgICAgRnJhZ21lbnRhdGlvbkRpc2Fi
bGVyKFJlbmRlck9iamVjdCogcm9vdCk7CisgICAgfkZyYWdtZW50YXRpb25EaXNhYmxlcigpOwor
cHJpdmF0ZToKKyAgICBSZW5kZXJPYmplY3QqIG1fcm9vdDsKKyAgICBSZW5kZXJPYmplY3Q6OkZs
b3dUaHJlYWRTdGF0ZSBtX2Zsb3dUaHJlYWRTdGF0ZTsKKyAgICBib29sIG1fZnJhZ21lbnRpbmc7
CisjaWZuZGVmIE5ERUJVRworICAgIExheW91dFN0YXRlKiBtX2xheW91dFN0YXRlOworI2VuZGlm
Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBSZW5kZXJWaWV3X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
QmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxC
bG9jay5jcHAKaW5kZXggMmQ1YjFjY2JhMDMxMmZkODU1MTQzY2QwYTFkMTc3ZGM5N2M5OGI4YS4u
ZTE5MWEwODBjZjc5ZjdjYmFkZjBiZmI2YzkyMWMwZTU1NGI1MWI4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAKQEAg
LTc2LDEwICs3NiwxMyBAQCBzdGF0aWMgY29uc3QgaW50IGNMYXJnZUxvZ2ljYWxXaWR0aCA9IDE1
MDAwOwogdm9pZCBSZW5kZXJNYXRoTUxCbG9jazo6Y29tcHV0ZUNoaWxkcmVuUHJlZmVycmVkTG9n
aWNhbEhlaWdodHMoKQogewogICAgIEFTU0VSVChuZWVkc0xheW91dCgpKTsKLSAgICAKKworICAg
IC8vIFRoaXMgaXMgdWdseSwgYnV0IGRpc2FibGUgZnJhZ21lbnRhdGlvbiB3aGVuIGNvbXB1dGlu
ZyB0aGUgcHJlZmVycmVkIGhlaWdodHMuCisgICAgRnJhZ21lbnRhdGlvbkRpc2FibGVyIGZyYWdt
ZW50YXRpb25EaXNhYmxlcih0aGlzKTsKKwogICAgIC8vIEVuc3VyZSBhIGZ1bGwgcmVwYWludCB3
aWxsIGhhcHBlbiBhZnRlciBsYXlvdXQgZmluaXNoZXMuCiAgICAgc2V0TmVlZHNMYXlvdXQodHJ1
ZSwgTWFya09ubHlUaGlzKTsKLSAgICAKKwogICAgIFJlbmRlclZpZXcqIHJlbmRlclZpZXcgPSB2
aWV3KCk7CiAgICAgYm9vbCBoYWRMYXlvdXRTdGF0ZSA9IHJlbmRlclZpZXctPmxheW91dFN0YXRl
KCk7CiAgICAgaWYgKCFoYWRMYXlvdXRTdGF0ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2OTEyYmE4MzJiZTE5MDRlMTA3
OGFjMjk5NzI3ZDU2N2E2OWQ0N2QwLi44NTNiMzM0NDkzODgwOWVjODEyOTc1MTRiOGJjMDU0NWRj
ZGZhZDBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDMtMDQgIEFuZHJlaSBCdWN1ciAg
PGFidWN1ckBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBSZWdpb25zXSBDcmFzaCB3aGVuIE1h
dGhNTCB1c2VkIGluIENTUyBSZWdpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTA2ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IHRvIHZlcmlmeSByZWdpb25zIGFuZCBNYXRoTUwg
ZG8gbm90IGNyYXNoLgorCisgICAgICAgICogZmFzdC9yZWdpb25zL21hdGhtbC1jcmFzaC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9tYXRobWwtY3Jhc2guaHRt
bDogQWRkZWQuCisKIDIwMTMtMDMtMDQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB0b3VjaG1vdmUgbm90IGVtdWxhdGVk
IGluc2lkZSBpZnJhbWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9tYXRo
bWwtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21hdGhtbC1j
cmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGVhZThkZGQyMWYzYTMwMzI0ZTViNTcwNTBh
MzYyYzg0YzFlOWZjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9tYXRobWwtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitCdWcgMTEwNjg2OiBbQ1NTIFJl
Z2lvbnNdIENyYXNoIHdoZW4gTWF0aE1MIHVzZWQgaW4gQ1NTIFJlZ2lvbnMKKworVGhpcyB0ZXN0
IFBBU1NFUyBpZiBpdCBkb2VzIG5vdCBDUkFTSCBvciBBU1NFUlQuCisKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL21hdGhtbC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL21hdGhtbC1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2ZTQ0NDIzNTQ2YWM4
NTg4ZjM4MGU5YzRiMDRkOWFjZTUxZWVhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvbWF0aG1sLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPGh0bWw+
Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdCBmb3IgTWF0aE1MIGNyYXNoPC90aXRsZT4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorICAgIDxzdHlsZT4KKyAgICAjZXhhbXBsZS10ZXh0IHsKKyAgICAgICAtd2Via2l0LWZs
b3ctaW50bzogZXhhbXBsZS10ZXh0LWZsb3c7CisgICAgICAgcGFkZGluZzogMDsKKyAgICAgICBt
YXJnaW46IDA7CisgICAgfQorICAgIC5yZWdpb25zIHsKKyAgICAgICAtd2Via2l0LWZsb3ctZnJv
bTogZXhhbXBsZS10ZXh0LWZsb3c7CisgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Cisg
ICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgIGhlaWdodDogNTBweDsKKyAgICB9CisgICAgPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKyAgICA8cD5CdWcgPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDY4NiI+MTEwNjg2PC9hPjogW0NT
UyBSZWdpb25zXSBDcmFzaCB3aGVuIE1hdGhNTCB1c2VkIGluIENTUyBSZWdpb25zPC9wPgorICAg
IDxwPlRoaXMgdGVzdCBQQVNTRVMgaWYgaXQgZG9lcyBub3QgQ1JBU0ggb3IgQVNTRVJULjwvcD4K
KyAgICA8ZGl2IGlkPSJleGFtcGxlLXRleHQiPgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAg
PG1hdGg+CisgICAgICAgICAgICAgICAgPG1yb3c+CisgICAgICAgICAgICAgICAgICAgIDxtbj4y
PC9tbj4KKyAgICAgICAgICAgICAgICAgICAgPG1vPis8L21vPgorICAgICAgICAgICAgICAgICAg
ICA8bW4+NDwvbW4+CisgICAgICAgICAgICAgICAgPC9tcm93PgorICAgICAgICAgICAgPC9tYXRo
PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWdpb25zIj48
L2Rpdj4KKzwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworZG9jdW1lbnQuYm9k
eS5vZmZzZXRUb3A7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImV4YW1wbGUtdGV4dCIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>192385</attachid>
            <date>2013-03-10 14:09:47 -0700</date>
            <delta_ts>2013-03-10 14:09:47 -0700</delta_ts>
            <desc>example of preferred height &amp; operator stretching, with line breaking</desc>
            <filename>linebreaking-parens.gif</filename>
            <type>image/gif</type>
            <size>2973</size>
            <attacher name="Dave Barton">dbarton</attacher>
            
              <data encoding="base64">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
GImSWIdBAAA7
</data>

          </attachment>
      

    </bug>

</bugzilla>