<?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>111556</bug_id>
          
          <creation_ts>2013-03-06 04:11:49 -0800</creation_ts>
          <short_desc>Improve drag&amp;drop of list items in contentEditable divs</short_desc>
          <delta_ts>2013-03-08 07:10:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>111853</dependson>
          <blocked>110610</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enrica</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>shezbaig.wk</cc>
    
    <cc>svillar</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>848703</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-03-06 04:11:49 -0800</bug_when>
    <thetext>This bug comes from bug 110610 where I was trying to fix two issues at the same time, I think it&apos;s better to treat them separatedely.

This one is about some inconsistency when drag&amp;drop list items in content editable divs. So in order to give it some more context, let&apos;s put some examples about how this currently works and the proposal behind this patch.

Notation:
  * [ ] determine the selection
  * | position to drop the selection

Current WebKit for a single fully selected &lt;li&gt; does

1. alpha                    1. alpha
2. [beta]                   2.
3. gamma|  ===&gt;    3. gammabeta
4. delta                    4. delta

while for some of them:

1. alpha                   1. alpha
2. [beta                   2.
3. gamma]  ===&gt;    3. delta
4. delta|                  4. beta
                                5. gamma

The (technical) reason for that is that when creating the markup for the drag data, selections involving a single item or several do not work the same way because for the case of multiple items the node tree is traversed to create a markup with the same appearance than the original. With the changes I&apos;m proposing both cases will work the same way. Thus the first case will behave like this:

1. alpha                    1. alpha
2. [beta]                   2.
3. gamma|  ===&gt;    3. gamma
4. delta                    4. beta
                                5. delta

The empty list items actually contain a placeholder (&lt;br&gt;). In bug 110610 I&apos;m proposing to remove them as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848728</commentid>
    <comment_count>1</comment_count>
      <attachid>191720</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-03-06 04:56:55 -0800</bug_when>
    <thetext>Created attachment 191720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848826</commentid>
    <comment_count>2</comment_count>
      <attachid>191720</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-06 07:00:54 -0800</bug_when>
    <thetext>Comment on attachment 191720
Patch

Attachment 191720 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17015166

New failing tests:
editing/selection/drag-list-item.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848877</commentid>
    <comment_count>3</comment_count>
      <attachid>191720</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 08:15:57 -0800</bug_when>
    <thetext>Comment on attachment 191720
Patch

Attachment 191720 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17072080

New failing tests:
editing/selection/drag-list-item.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849090</commentid>
    <comment_count>4</comment_count>
      <attachid>191720</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-06 11:04:41 -0800</bug_when>
    <thetext>Comment on attachment 191720
Patch

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

&gt; Source/WebCore/editing/markup.cpp:518
&gt; +        // If listItem contents are fully selected elements then wrap them with &lt;li&gt; to retain structure and appearance

I think the code is self-evident enough that we wouldn&apos;t need this comment.

&gt; LayoutTests/editing/selection/drag-list-item.html:1
&gt; +&lt;html&gt;

Missing DOCTYPE

&gt; LayoutTests/editing/selection/drag-list-item.html:25
&gt; +    var elem = document.getElementById(testElement);

Please don&apos;t use abbreviations like elem. Spell out the word.

&gt; LayoutTests/editing/selection/drag-list-item.html:35
&gt; +    eventSender.mouseDown();

You probably need a bunch of leapForward&apos;s here.

&gt; LayoutTests/editing/selection/drag-list-item.html:42
&gt; +    var target = document.getElementById(targetElement);
&gt; +    var targetx = target.parentNode.offsetLeft + target.offsetLeft + target.offsetWidth / 2;
&gt; +    var targety = target.offsetTop + target.offsetHeight / 2;
&gt; +
&gt; +    eventSender.mouseMoveTo(targetx, targety);
&gt; +    eventSender.mouseUp();

When does this test pass/fail? It&apos;s totally unclear from the test output.
My suggestion is to use dump-as-markup.js. See other tests in editing that uses it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849102</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-03-06 11:11:02 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 191720 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=191720&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/markup.cpp:518
&gt; &gt; +        // If listItem contents are fully selected elements then wrap them with &lt;li&gt; to retain structure and appearance
&gt; 
&gt; I think the code is self-evident enough that we wouldn&apos;t need this comment.

Fair enough
 
&gt; &gt; LayoutTests/editing/selection/drag-list-item.html:1
&gt; &gt; +&lt;html&gt;
&gt; 
&gt; Missing DOCTYPE

OK

&gt; &gt; LayoutTests/editing/selection/drag-list-item.html:25
&gt; &gt; +    var elem = document.getElementById(testElement);
&gt; 
&gt; Please don&apos;t use abbreviations like elem. Spell out the word.
&gt; 
&gt; &gt; LayoutTests/editing/selection/drag-list-item.html:35
&gt; &gt; +    eventSender.mouseDown();
&gt; 
&gt; You probably need a bunch of leapForward&apos;s here.

Yeah, I had a leapForward(500) to perform the drag&amp;drop but somehow I accidentally remove it in this last version.
 
&gt; &gt; LayoutTests/editing/selection/drag-list-item.html:42
&gt; &gt; +    var target = document.getElementById(targetElement);
&gt; &gt; +    var targetx = target.parentNode.offsetLeft + target.offsetLeft + target.offsetWidth / 2;
&gt; &gt; +    var targety = target.offsetTop + target.offsetHeight / 2;
&gt; &gt; +
&gt; &gt; +    eventSender.mouseMoveTo(targetx, targety);
&gt; &gt; +    eventSender.mouseUp();
&gt; 
&gt; When does this test pass/fail? It&apos;s totally unclear from the test output.
&gt; My suggestion is to use dump-as-markup.js. See other tests in editing that uses it.

Well, as explained in the description, current webkit does:

1. one       1. one
2. [two] =&gt;  2.
3. three|    3. threetwo

when dragging &quot;two&quot; to the end of &quot;three&quot;. With this patch we&apos;d get

1. one
2. three
3. two

as outcome. I used this type of output because I wanted to be sure that we weren&apos;t adding additional nesting levels in the lists, but maybe that can be also achieved with what you propose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849164</commentid>
    <comment_count>6</comment_count>
      <attachid>191807</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-03-06 12:05:48 -0800</bug_when>
    <thetext>Created attachment 191807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849217</commentid>
    <comment_count>7</comment_count>
      <attachid>191807</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-06 12:59:10 -0800</bug_when>
    <thetext>Comment on attachment 191807
Patch

Attachment 191807 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17056112

New failing tests:
editing/selection/drag-list-item.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850187</commentid>
    <comment_count>8</comment_count>
      <attachid>192026</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-03-07 09:54:54 -0800</bug_when>
    <thetext>Created attachment 192026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850217</commentid>
    <comment_count>9</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-03-07 10:12:58 -0800</bug_when>
    <thetext>Updated test expectations as requested by rniwa on IRC, basically:
* replaced alpha, beta, etc... by one, two...
* the test expectations include now the initial state of the lists and the expected results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850249</commentid>
    <comment_count>10</comment_count>
      <attachid>192026</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-07 10:34:21 -0800</bug_when>
    <thetext>Comment on attachment 192026
Patch

The test looks fantastic now!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850647</commentid>
    <comment_count>11</comment_count>
      <attachid>192026</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-07 16:58:24 -0800</bug_when>
    <thetext>Comment on attachment 192026
Patch

Attachment 192026 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17046406

New failing tests:
editing/selection/drag-list-item.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850902</commentid>
    <comment_count>12</comment_count>
      <attachid>192026</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-07 23:10:04 -0800</bug_when>
    <thetext>Comment on attachment 192026
Patch

Attachment 192026 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16992554

New failing tests:
editing/selection/selection-modify-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850996</commentid>
    <comment_count>13</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-03-08 02:00:43 -0800</bug_when>
    <thetext>Committed r145195: &lt;http://trac.webkit.org/changeset/145195&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191720</attachid>
            <date>2013-03-06 04:56:55 -0800</date>
            <delta_ts>2013-03-06 12:05:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111556-20130306135130.patch</filename>
            <type>text/plain</type>
            <size>9879</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0OTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUxOGY2NTc3MDkyNWMx
YTk0NjAxMWM0OTViOGFiMzlkM2U4NDIyOS4uM2YwM2E0MzY4NzBmMjA0OGViNGE2NmIyOTlkNGQz
NmQ0Y2ZjN2VmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAzLTA2ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcHJvdmUg
ZHJhZyZkcm9wIG9mIGxpc3QgaXRlbXMgaW4gY29udGVudEVkaXRhYmxlIGRpdnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTU1NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgc2luZ2xlIGZ1bGx5IHNl
bGVjdGVkIDxsaT4gc2hvdWxkIGdlbmVyYXRlIHRoZSBzYW1lIG1hcmt1cCBhcyBpZgorICAgICAg
ICB3ZSB3ZXJlIHNlbGVjdGluZyBzb21lIG9mIHRoZW0sIGkuZS4sIHdlIHNob3VsZCBwcmVzZXJ2
ZSB0aGUgbGlzdAorICAgICAgICBzdHJ1Y3R1cmUgYW5kIGFwcGVhcmFuY2UuCisKKyAgICAgICAg
VGVzdDogZWRpdGluZy9zZWxlY3Rpb24vZHJhZy1saXN0LWl0ZW0uaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0xpc3RJdGVtKTog
bW9kaWZpZWQgY29uc3RuZXNzLgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBkaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpoaWdoZXN0QW5jZXN0b3JUb1dyYXBNYXJrdXApOgorCiAyMDEzLTAz
LTA2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAg
ICAgICAgIFJFR0dSRVNTSU9OIChyMTQyMTEyKTogSXQgbWFkZSBjb21wb3NpdGluZyB0ZXN0cyBm
YWlsIG9uIEVGTCwgUXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4
IDI0ZWI2ZWFmZTU5ZjE0ZjhjMzU5ODcyMWMyMzMxYjUxMzVmM2FjYWMuLjhhOTAzMjQ3MjE5NDE1
YTkzOWJiYmU3YmY2OThiYWM3MzA0M2RmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVk
aXRpbmcuY3BwCkBAIC01ODAsNyArNTgwLDcgQEAgYm9vbCBpc0xpc3RFbGVtZW50KE5vZGUgKm4p
CiAgICAgcmV0dXJuIChuICYmIChuLT5oYXNUYWdOYW1lKHVsVGFnKSB8fCBuLT5oYXNUYWdOYW1l
KG9sVGFnKSB8fCBuLT5oYXNUYWdOYW1lKGRsVGFnKSkpOwogfQogCi1ib29sIGlzTGlzdEl0ZW0o
Tm9kZSAqbikKK2Jvb2wgaXNMaXN0SXRlbShjb25zdCBOb2RlICpuKQogewogICAgIHJldHVybiBu
ICYmIG4tPnJlbmRlcmVyKCkgJiYgbi0+cmVuZGVyZXIoKS0+aXNMaXN0SXRlbSgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4IGZhNjMyNTQ3NjhhMTIyOGY0M2ZhMWI2
NGQwMDk1YmMyMzg1ZjdiYjUuLjVmNjcyNjRkMGI3NDRjMWFjYjU4ZWVkOWU0Y2QxN2Y2NmI3Njdj
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTEwNyw3ICsxMDcsNyBA
QCBib29sIGlzVGFibGVDZWxsKGNvbnN0IE5vZGUqKTsKIGJvb2wgaXNFbXB0eVRhYmxlQ2VsbChj
b25zdCBOb2RlKik7CiBib29sIGlzVGFibGVTdHJ1Y3R1cmVOb2RlKGNvbnN0IE5vZGUqKTsKIGJv
b2wgaXNMaXN0RWxlbWVudChOb2RlKik7Ci1ib29sIGlzTGlzdEl0ZW0oTm9kZSopOworYm9vbCBp
c0xpc3RJdGVtKGNvbnN0IE5vZGUqKTsKIGJvb2wgaXNOb2RlUmVuZGVyZWQoY29uc3QgTm9kZSop
OwogYm9vbCBpc05vZGVWaXNpYmx5Q29udGFpbmVkV2l0aGluKE5vZGUqLCBjb25zdCBSYW5nZSop
OwogYm9vbCBpc1JlbmRlcmVkQXNOb25JbmxpbmVUYWJsZUltYWdlT3JIUihjb25zdCBOb2RlKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXggZDMyNzdjMzY2NjY2N2EzZGE2MjkyYTdh
NzlhNTE3ZWUxNTQxMmM1Yy4uMThiNzdjMGZiZWU5M2I0Mzg0MWE4ZjM4ZTVlODRmODdlZDJmZjdk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApAQCAtNTE1LDYgKzUxNSwxNSBAQCBzdGF0
aWMgTm9kZSogaGlnaGVzdEFuY2VzdG9yVG9XcmFwTWFya3VwKGNvbnN0IFJhbmdlKiByYW5nZSwg
RUFubm90YXRlRm9ySW50ZXJjaAogICAgICAgICAvLyB0aGUgc3RydWN0dXJlIGFuZCBhcHBlYXJh
bmNlIG9mIHRoZSBjb3BpZWQgbWFya3VwLgogICAgICAgICBzcGVjaWFsQ29tbW9uQW5jZXN0b3Ig
PSBhbmNlc3RvclRvUmV0YWluU3RydWN0dXJlQW5kQXBwZWFyYW5jZShjb21tb25BbmNlc3Rvcik7
CiAKKyAgICAgICAgLy8gSWYgbGlzdEl0ZW0gY29udGVudHMgYXJlIGZ1bGx5IHNlbGVjdGVkIGVs
ZW1lbnRzIHRoZW4gd3JhcCB0aGVtIHdpdGggPGxpPiB0byByZXRhaW4gc3RydWN0dXJlIGFuZCBh
cHBlYXJhbmNlCisgICAgICAgIGlmIChOb2RlKiBwYXJlbnRMaXN0Tm9kZSA9IGVuY2xvc2luZ05v
ZGVPZlR5cGUoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKHJhbmdlLT5maXJzdE5vZGUoKSks
IGlzTGlzdEl0ZW0pKSB7CisgICAgICAgICAgICBpZiAoV2ViQ29yZTo6YXJlUmFuZ2VzRXF1YWwo
VmlzaWJsZVNlbGVjdGlvbjo6c2VsZWN0aW9uRnJvbUNvbnRlbnRzT2ZOb2RlKHBhcmVudExpc3RO
b2RlKS50b05vcm1hbGl6ZWRSYW5nZSgpLmdldCgpLCByYW5nZSkpIHsKKyAgICAgICAgICAgICAg
ICBzcGVjaWFsQ29tbW9uQW5jZXN0b3IgPSBwYXJlbnRMaXN0Tm9kZS0+cGFyZW50Tm9kZSgpOwor
ICAgICAgICAgICAgICAgIHdoaWxlIChzcGVjaWFsQ29tbW9uQW5jZXN0b3IgJiYgIWlzTGlzdEVs
ZW1lbnQoc3BlY2lhbENvbW1vbkFuY2VzdG9yKSkKKyAgICAgICAgICAgICAgICAgICAgc3BlY2lh
bENvbW1vbkFuY2VzdG9yID0gc3BlY2lhbENvbW1vbkFuY2VzdG9yLT5wYXJlbnROb2RlKCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICAvLyBSZXRhaW4gdGhlIE1haWwgcXVv
dGUgbGV2ZWwgYnkgaW5jbHVkaW5nIGFsbCBhbmNlc3RvciBtYWlsIGJsb2NrIHF1b3Rlcy4KICAg
ICAgICAgaWYgKE5vZGUqIGhpZ2hlc3RNYWlsQmxvY2txdW90ZSA9IGhpZ2hlc3RFbmNsb3NpbmdO
b2RlT2ZUeXBlKGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShyYW5nZS0+Zmlyc3ROb2RlKCkp
LCBpc01haWxCbG9ja3F1b3RlLCBDYW5Dcm9zc0VkaXRpbmdCb3VuZGFyeSkpCiAgICAgICAgICAg
ICBzcGVjaWFsQ29tbW9uQW5jZXN0b3IgPSBoaWdoZXN0TWFpbEJsb2NrcXVvdGU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MDU4ZDRiNmI0YmQzOTg2Y2ZiZTZkYzIyZWQzNDVmNmJiZmQ1MTk2ZS4uMWI5YWVjMzc4MzhlZmRk
MjRkNmE4ZjZjMDc3OWQ1NGYyZDIwNjViNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAz
LTA2ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAg
IEltcHJvdmUgZHJhZyZkcm9wIG9mIGxpc3QgaXRlbXMgaW4gY29udGVudEVkaXRhYmxlIGRpdnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTU1Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEg
bmV3IHRlc3QgY2FzZS4gVGhlIHRlc3QgcGVyZm9ybXMgMiBkcmFnJmRyb3BzLCBmaXJzdCBvZgor
ICAgICAgICBhbGwgYSBzZWxlY3Rpb24gb2YgYSBzaW5nbGUgbGlzdCBpdGVtLCBhbmQgc2Vjb25k
bHkgYSBzZWxlY3Rpb24gb2YKKyAgICAgICAgdHdvIGxpc3QgaXRlbXMuIEl0IGNoZWNrcyB0aGF0
IGJvdGggYmVoYXZlIHRoZSBzYW1lIHdheSwgaS5lLCB0aGUKKyAgICAgICAgd2hvbGUgPGxpPiBp
cyBtb3ZlZCBhbmQgbm90IG9ubHkgdGhlIHRleHQuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVj
dGlvbi9kcmFnLWxpc3QtaXRlbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvc2VsZWN0aW9uL2RyYWctbGlzdC1pdGVtLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAzLTA2ICBB
bGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAg
IFJFR0dSRVNTSU9OIChyMTQyMTEyKTogSXQgbWFkZSBjb21wb3NpdGluZyB0ZXN0cyBmYWlsIG9u
IEVGTCwgUXQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kcmFn
LWxpc3QtaXRlbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9k
cmFnLWxpc3QtaXRlbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFjMWZjZjk3ODhkMTA0MjZk
MWJlNDgxMTg3NTI0MjJjODJhOTJhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2RyYWctbGlzdC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUx
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAs
MCkgc2l6ZSA4MDB4NTg0CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDgw
MHgyMzAKKyAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgODAweDE4CisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTQ5eDE5CisgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NDk6ICJEcmFnJ0Ryb3AgbGlzdCBpdGVtcyBpbiBh
IGxpc3QuIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGggRFJUIGZvciBldmVudCBzZW5kZXIg
YWNjZXNzLiIKKyAgICAgICAgUmVuZGVyQmxvY2sge09MfSBhdCAoMCwzNCkgc2l6ZSA4MDB4OTAK
KyAgICAgICAgICBSZW5kZXJMaXN0SXRlbSB7TEl9IGF0ICg0MCwwKSBzaXplIDc2MHgxOAorICAg
ICAgICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoLTIxLDApIHNpemUgMTZ4MTk6ICIxIgorICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzR4MTkKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzQ6ICJhbHBoYSIKKyAgICAgICAgICBSZW5k
ZXJMaXN0SXRlbSB7TEl9IGF0ICg0MCwxOCkgc2l6ZSA3NjB4MTgKKyAgICAgICAgICAgIFJlbmRl
ckxpc3RNYXJrZXIgYXQgKC0yMSwwKSBzaXplIDE2eDE5OiAiMiIKKyAgICAgICAgICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDE5CisgICAgICAgICAgUmVuZGVyTGlzdEl0ZW0ge0xJ
fSBhdCAoNDAsMzYpIHNpemUgNzYweDE4CisgICAgICAgICAgICBSZW5kZXJMaXN0TWFya2VyIGF0
ICgtMjEsMCkgc2l6ZSAxNngxOTogIjMiCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA0NngxOQorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA0NjogImdhbW1hIgorICAgICAgICAgIFJlbmRlckxpc3RJdGVtIHtMSX0gYXQgKDQwLDU0KSBz
aXplIDc2MHgxOAorICAgICAgICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoLTIxLDApIHNpemUg
MTZ4MTk6ICI0IgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MzB4MTkKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJkZWx0YSIK
KyAgICAgICAgICBSZW5kZXJMaXN0SXRlbSB7TEl9IGF0ICg0MCw3Mikgc2l6ZSA3NjB4MTgKKyAg
ICAgICAgICAgIFJlbmRlckxpc3RNYXJrZXIgYXQgKC0yMSwwKSBzaXplIDE2eDE5OiAiNSIKKyAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2eDE5CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2OiAiYmV0YSIKKyAgICAgICAgUmVuZGVy
QmxvY2sge09MfSBhdCAoMCwxNDApIHNpemUgODAweDkwCisgICAgICAgICAgUmVuZGVyTGlzdEl0
ZW0ge0xJfSBhdCAoNDAsMCkgc2l6ZSA3NjB4MTgKKyAgICAgICAgICAgIFJlbmRlckxpc3RNYXJr
ZXIgYXQgKC0yMSwwKSBzaXplIDE2eDE5OiAiMSIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDM0eDE5CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDM0OiAiYWxwaGEiCisgICAgICAgICAgUmVuZGVyTGlzdEl0ZW0ge0xJfSBhdCAoNDAs
MTgpIHNpemUgNzYweDE4CisgICAgICAgICAgICBSZW5kZXJMaXN0TWFya2VyIGF0ICgtMjEsMCkg
c2l6ZSAxNngxOTogIjIiCisgICAgICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUg
MHgxOQorICAgICAgICAgIFJlbmRlckxpc3RJdGVtIHtMSX0gYXQgKDQwLDM2KSBzaXplIDc2MHgx
OAorICAgICAgICAgICAgUmVuZGVyTGlzdE1hcmtlciBhdCAoLTIxLDApIHNpemUgMTZ4MTk6ICIz
IgorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzB4MTkKKyAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJkZWx0YSIKKyAgICAgICAg
ICBSZW5kZXJMaXN0SXRlbSB7TEl9IGF0ICg0MCw1NCkgc2l6ZSA3NjB4MTgKKyAgICAgICAgICAg
IFJlbmRlckxpc3RNYXJrZXIgYXQgKC0yMSwwKSBzaXplIDE2eDE5OiAiNCIKKyAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2eDE5CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDI2OiAiYmV0YSIKKyAgICAgICAgICBSZW5kZXJMaXN0SXRl
bSB7TEl9IGF0ICg0MCw3Mikgc2l6ZSA3NjB4MTgKKyAgICAgICAgICAgIFJlbmRlckxpc3RNYXJr
ZXIgYXQgKC0yMSwwKSBzaXplIDE2eDE5OiAiNSIKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDQ2eDE5CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDQ2OiAiZ2FtbWEiCitzZWxlY3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQg
MCB7I3RleHR9IG9mIGNoaWxkIDYge0xJfSBvZiBjaGlsZCA1IHtPTH0gb2YgY2hpbGQgMSB7RElW
fSBvZiBib2R5CitzZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDUgb2YgY2hpbGQgMCB7I3RleHR9
IG9mIGNoaWxkIDcge0xJfSBvZiBjaGlsZCA1IHtPTH0gb2YgY2hpbGQgMSB7RElWfSBvZiBib2R5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kcmFnLWxpc3QtaXRl
bS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHJhZy1saXN0LWl0ZW0uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hNzIyMTc3ZmUxNTVhMjU0ZWQwNDI5YmFjN2RhMTQ5M2NlNTI3NDEyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZHJhZy1saXN0
LWl0ZW0uaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKworPGJvZHkgc3R5bGU9Im1hcmdp
bjogMDsgcGFkZGluZyA6MCI+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+Cis8cD5EcmFn
J0Ryb3AgbGlzdCBpdGVtcyBpbiBhIGxpc3QuIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGgg
RFJUIGZvciBldmVudCBzZW5kZXIgYWNjZXNzLjwvcD4KKzxvbCBpZD0idGVzdDEiPgorPGxpIGlk
PSJhbHBoYSI+YWxwaGE8L2xpPgorPGxpIGlkPSJiZXRhIj5iZXRhPC9saT4KKzxsaSBpZD0iZ2Ft
bWEiPmdhbW1hPC9saT4KKzxsaSBpZD0iZGVsdGEiPmRlbHRhPC9saT4KKzwvb2w+CisKKzxvbCBp
ZD0idGVzdDIiPgorPGxpIGlkPSJhbHBoYTIiPmFscGhhPC9saT4KKzxsaSBpZD0iYmV0YTIiPmJl
dGE8L2xpPgorPGxpIGlkPSJnYW1tYTIiPmdhbW1hPC9saT4KKzxsaSBpZD0iZGVsdGEyIj5kZWx0
YTwvbGk+Cis8L29sPgorCis8L2Rpdj4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGVkaXRpbmdUZXN0
KHRlc3RFbGVtZW50LCBzdGFydFNlbGVjdGlvbkVsZW1lbnQsIGVuZFNlbGVjdGlvbkVsZW1lbnQs
IGVuZFNlbGVjdGlvbkVsZW1lbnRPZmZzZXQsIHRhcmdldEVsZW1lbnQpIHsKKworICAgIHZhciBl
bGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVzdEVsZW1lbnQpOworICAgIHZhciBzZWxl
Y3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisgICAgc2VsZWN0aW9uLnNldFBvc2l0aW9u
KGVsZW0sIDApOworCisgICAgdmFyIHN0YXJ0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3Rh
cnRTZWxlY3Rpb25FbGVtZW50KTsKKyAgICB2YXIgc3RhcnR4ID0gc3RhcnQub2Zmc2V0TGVmdDsK
KyAgICB2YXIgc3RhcnR5ID0gc3RhcnQub2Zmc2V0VG9wICsgc3RhcnQub2Zmc2V0SGVpZ2h0IC8g
MjsKKyAgICBzZWxlY3Rpb24uc2V0QmFzZUFuZEV4dGVudChzdGFydCwgMCwgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoZW5kU2VsZWN0aW9uRWxlbWVudCksIGVuZFNlbGVjdGlvbkVsZW1lbnRPZmZz
ZXQpOworCisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnR4LCBzdGFydHkpOworICAg
IGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworCisgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKHRhcmdldEVsZW1lbnQpOworICAgIHZhciB0YXJnZXR4ID0gdGFyZ2V0LnBh
cmVudE5vZGUub2Zmc2V0TGVmdCArIHRhcmdldC5vZmZzZXRMZWZ0ICsgdGFyZ2V0Lm9mZnNldFdp
ZHRoIC8gMjsKKyAgICB2YXIgdGFyZ2V0eSA9IHRhcmdldC5vZmZzZXRUb3AgKyB0YXJnZXQub2Zm
c2V0SGVpZ2h0IC8gMjsKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHRhcmdldHgsIHRh
cmdldHkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK30KKworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgLy8gRmlyc3QgZHJhZyZkcm9wIGEgc2luZ2xlIGl0ZW0sICJiZXRhIiwg
dG8gdGhlIGVuZCBvZiAiZGVsdGEiCisgICAgZWRpdGluZ1Rlc3QoInRlc3QxIiwgImJldGEiLCAi
YmV0YSIsIDQsICJkZWx0YSIpOworCisgICAgLy8gVGhlbiBkcmFnJmRyb3AgdHdvIGl0ZW1zLCAi
YmV0YSIgYW5kICJnYW1tYSIsIHRvIHRoZSBlbmQgb2YgImRlbHRhIgorICAgIGVkaXRpbmdUZXN0
KCJ0ZXN0MiIsICJiZXRhMiIsICJnYW1tYTIiLCA1LCAiZGVsdGEyIik7Cit9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191807</attachid>
            <date>2013-03-06 12:05:48 -0800</date>
            <delta_ts>2013-03-07 09:54:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111556-20130306210024.patch</filename>
            <type>text/plain</type>
            <size>8289</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0OTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUxOGY2NTc3MDkyNWMx
YTk0NjAxMWM0OTViOGFiMzlkM2U4NDIyOS4uM2YwM2E0MzY4NzBmMjA0OGViNGE2NmIyOTlkNGQz
NmQ0Y2ZjN2VmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAzLTA2ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcHJvdmUg
ZHJhZyZkcm9wIG9mIGxpc3QgaXRlbXMgaW4gY29udGVudEVkaXRhYmxlIGRpdnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTU1NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgc2luZ2xlIGZ1bGx5IHNl
bGVjdGVkIDxsaT4gc2hvdWxkIGdlbmVyYXRlIHRoZSBzYW1lIG1hcmt1cCBhcyBpZgorICAgICAg
ICB3ZSB3ZXJlIHNlbGVjdGluZyBzb21lIG9mIHRoZW0sIGkuZS4sIHdlIHNob3VsZCBwcmVzZXJ2
ZSB0aGUgbGlzdAorICAgICAgICBzdHJ1Y3R1cmUgYW5kIGFwcGVhcmFuY2UuCisKKyAgICAgICAg
VGVzdDogZWRpdGluZy9zZWxlY3Rpb24vZHJhZy1saXN0LWl0ZW0uaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0xpc3RJdGVtKTog
bW9kaWZpZWQgY29uc3RuZXNzLgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBkaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpoaWdoZXN0QW5jZXN0b3JUb1dyYXBNYXJrdXApOgorCiAyMDEzLTAz
LTA2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAg
ICAgICAgIFJFR0dSRVNTSU9OIChyMTQyMTEyKTogSXQgbWFkZSBjb21wb3NpdGluZyB0ZXN0cyBm
YWlsIG9uIEVGTCwgUXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4
IDI0ZWI2ZWFmZTU5ZjE0ZjhjMzU5ODcyMWMyMzMxYjUxMzVmM2FjYWMuLjhhOTAzMjQ3MjE5NDE1
YTkzOWJiYmU3YmY2OThiYWM3MzA0M2RmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVk
aXRpbmcuY3BwCkBAIC01ODAsNyArNTgwLDcgQEAgYm9vbCBpc0xpc3RFbGVtZW50KE5vZGUgKm4p
CiAgICAgcmV0dXJuIChuICYmIChuLT5oYXNUYWdOYW1lKHVsVGFnKSB8fCBuLT5oYXNUYWdOYW1l
KG9sVGFnKSB8fCBuLT5oYXNUYWdOYW1lKGRsVGFnKSkpOwogfQogCi1ib29sIGlzTGlzdEl0ZW0o
Tm9kZSAqbikKK2Jvb2wgaXNMaXN0SXRlbShjb25zdCBOb2RlICpuKQogewogICAgIHJldHVybiBu
ICYmIG4tPnJlbmRlcmVyKCkgJiYgbi0+cmVuZGVyZXIoKS0+aXNMaXN0SXRlbSgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4IGZhNjMyNTQ3NjhhMTIyOGY0M2ZhMWI2
NGQwMDk1YmMyMzg1ZjdiYjUuLjVmNjcyNjRkMGI3NDRjMWFjYjU4ZWVkOWU0Y2QxN2Y2NmI3Njdj
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTEwNyw3ICsxMDcsNyBA
QCBib29sIGlzVGFibGVDZWxsKGNvbnN0IE5vZGUqKTsKIGJvb2wgaXNFbXB0eVRhYmxlQ2VsbChj
b25zdCBOb2RlKik7CiBib29sIGlzVGFibGVTdHJ1Y3R1cmVOb2RlKGNvbnN0IE5vZGUqKTsKIGJv
b2wgaXNMaXN0RWxlbWVudChOb2RlKik7Ci1ib29sIGlzTGlzdEl0ZW0oTm9kZSopOworYm9vbCBp
c0xpc3RJdGVtKGNvbnN0IE5vZGUqKTsKIGJvb2wgaXNOb2RlUmVuZGVyZWQoY29uc3QgTm9kZSop
OwogYm9vbCBpc05vZGVWaXNpYmx5Q29udGFpbmVkV2l0aGluKE5vZGUqLCBjb25zdCBSYW5nZSop
OwogYm9vbCBpc1JlbmRlcmVkQXNOb25JbmxpbmVUYWJsZUltYWdlT3JIUihjb25zdCBOb2RlKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXggZDMyNzdjMzY2NjY2N2EzZGE2MjkyYTdh
NzlhNTE3ZWUxNTQxMmM1Yy4uYWZhODM4OGY1ZTNkZDQyOGRlODkzM2FmNzc3ZmFhY2Y4N2JhMTA4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApAQCAtNTE1LDYgKzUxNSwxNCBAQCBzdGF0
aWMgTm9kZSogaGlnaGVzdEFuY2VzdG9yVG9XcmFwTWFya3VwKGNvbnN0IFJhbmdlKiByYW5nZSwg
RUFubm90YXRlRm9ySW50ZXJjaAogICAgICAgICAvLyB0aGUgc3RydWN0dXJlIGFuZCBhcHBlYXJh
bmNlIG9mIHRoZSBjb3BpZWQgbWFya3VwLgogICAgICAgICBzcGVjaWFsQ29tbW9uQW5jZXN0b3Ig
PSBhbmNlc3RvclRvUmV0YWluU3RydWN0dXJlQW5kQXBwZWFyYW5jZShjb21tb25BbmNlc3Rvcik7
CiAKKyAgICAgICAgaWYgKE5vZGUqIHBhcmVudExpc3ROb2RlID0gZW5jbG9zaW5nTm9kZU9mVHlw
ZShmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUocmFuZ2UtPmZpcnN0Tm9kZSgpKSwgaXNMaXN0
SXRlbSkpIHsKKyAgICAgICAgICAgIGlmIChXZWJDb3JlOjphcmVSYW5nZXNFcXVhbChWaXNpYmxl
U2VsZWN0aW9uOjpzZWxlY3Rpb25Gcm9tQ29udGVudHNPZk5vZGUocGFyZW50TGlzdE5vZGUpLnRv
Tm9ybWFsaXplZFJhbmdlKCkuZ2V0KCksIHJhbmdlKSkgeworICAgICAgICAgICAgICAgIHNwZWNp
YWxDb21tb25BbmNlc3RvciA9IHBhcmVudExpc3ROb2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAg
ICAgICAgICAgd2hpbGUgKHNwZWNpYWxDb21tb25BbmNlc3RvciAmJiAhaXNMaXN0RWxlbWVudChz
cGVjaWFsQ29tbW9uQW5jZXN0b3IpKQorICAgICAgICAgICAgICAgICAgICBzcGVjaWFsQ29tbW9u
QW5jZXN0b3IgPSBzcGVjaWFsQ29tbW9uQW5jZXN0b3ItPnBhcmVudE5vZGUoKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8vIFJldGFpbiB0aGUgTWFpbCBxdW90ZSBsZXZl
bCBieSBpbmNsdWRpbmcgYWxsIGFuY2VzdG9yIG1haWwgYmxvY2sgcXVvdGVzLgogICAgICAgICBp
ZiAoTm9kZSogaGlnaGVzdE1haWxCbG9ja3F1b3RlID0gaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5
cGUoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKHJhbmdlLT5maXJzdE5vZGUoKSksIGlzTWFp
bEJsb2NrcXVvdGUsIENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5KSkKICAgICAgICAgICAgIHNwZWNp
YWxDb21tb25BbmNlc3RvciA9IGhpZ2hlc3RNYWlsQmxvY2txdW90ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNThkNGI2
YjRiZDM5ODZjZmJlNmRjMjJlZDM0NWY2YmJmZDUxOTZlLi4xYjlhZWMzNzgzOGVmZGQyNGQ2YThm
NmMwNzc5ZDU0ZjJkMjA2NWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDMtMDYgIFNl
cmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wcm92
ZSBkcmFnJmRyb3Agb2YgbGlzdCBpdGVtcyBpbiBjb250ZW50RWRpdGFibGUgZGl2cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNTU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBuZXcgdGVz
dCBjYXNlLiBUaGUgdGVzdCBwZXJmb3JtcyAyIGRyYWcmZHJvcHMsIGZpcnN0IG9mCisgICAgICAg
IGFsbCBhIHNlbGVjdGlvbiBvZiBhIHNpbmdsZSBsaXN0IGl0ZW0sIGFuZCBzZWNvbmRseSBhIHNl
bGVjdGlvbiBvZgorICAgICAgICB0d28gbGlzdCBpdGVtcy4gSXQgY2hlY2tzIHRoYXQgYm90aCBi
ZWhhdmUgdGhlIHNhbWUgd2F5LCBpLmUsIHRoZQorICAgICAgICB3aG9sZSA8bGk+IGlzIG1vdmVk
IGFuZCBub3Qgb25seSB0aGUgdGV4dC4KKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2Ry
YWctbGlzdC1pdGVtLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZHJhZy1saXN0LWl0ZW0uaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMDYgIEFsbGFuIFNh
bmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgUkVHR1JF
U1NJT04gKHIxNDIxMTIpOiBJdCBtYWRlIGNvbXBvc2l0aW5nIHRlc3RzIGZhaWwgb24gRUZMLCBR
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RyYWctbGlzdC1p
dGVtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RyYWctbGlz
dC1pdGVtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTVhNTYzNDdlNzM2NGE5YmZhYzJjMzY0
ZTNkNWRkYzk3YTkwNmFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZHJhZy1saXN0LWl0ZW0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKK1Ro
aXMgdGVzdCBkcmFncyBhIHNlbGVjdGlvbiBvZiBvbmUgPGxpPiBhbmQgZHJvcHMgdGhlbSBhZnRl
ciBhbm90aGVyIDxsaT4gaW4gdGhlIGZpcnN0IGxpc3QuIFRoZSBzYW1lIHRlc3QgaXMgcmVwZWF0
ZWQgaW4gdGhlIHNlY29uZCBsaXN0IGJ1dCB0aGlzIHRpbWUgd2l0aCB0d28gc2VsZWN0ZWQgaXRl
bXMgaW5zdGVhZCBvZiBvbmUuIEl0IHZlcmlmaWVzIHRoYXQgdGhlIGJlaGF2aW9yIGlzIGluZGVw
ZW5kZW50IG9mIGhvdyBtYW55IGZ1bGx5IHNlbGVjdGVkIGl0ZW1zIHdlIG1vdmUsIGkuZS4gZnVs
bHkgc2VsZWN0ZWQgPGxpPiBhcmUgbW92ZWQgYXMgPGxpPiBhbmQgbm90IGp1c3QgYXMgcGxhaW4g
dGV4dAorCisnYmV0YScgc2hvdWxkIGFwcGVhciBhcyBhIG5ldyA8bGk+IGFmdGVyICdkZWx0YSc6
Cit8ICIKKyIKK3wgPGxpPgorfCAgIGlkPSJhbHBoYSIKK3wgICAiYWxwaGEiCit8IDxsaT4KK3wg
ICBpZD0iYmV0YSIKK3wgICA8YnI+Cit8IDxsaT4KK3wgICBpZD0iZ2FtbWEiCit8ICAgImdhbW1h
IgorfCA8bGk+Cit8ICAgaWQ9ImRlbHRhIgorfCAgICJkZWx0YSIKK3wgPGxpPgorfCAgIGlkPSJi
ZXRhIgorfCAgICJiZXRhIgorfCAiCisiCisKKydiZXRhJyBhbmQgJ2dhbW1hJyBzaG91bGQgYXBw
ZWFyIGFzIDxsaT4gYWZ0ZXIgJ2RlbHRhJzoKK3wgPGxpPgorfCAgIGlkPSJhbHBoYSIKK3wgICAi
YWxwaGEiCit8IDxsaT4KK3wgICBpZD0iYmV0YSIKK3wgICA8YnI+Cit8IDxsaT4KK3wgICBpZD0i
ZGVsdGEiCit8ICAgImRlbHRhIgorfCA8bGk+Cit8ICAgaWQ9ImJldGEiCit8ICAgImJldGEiCit8
IDxsaT4KK3wgICBpZD0iZ2FtbWEiCit8ICAgImdhbW1hIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZHJhZy1saXN0LWl0ZW0uaHRtbCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc2VsZWN0aW9uL2RyYWctbGlzdC1pdGVtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRiY2M4MmE1
NmYxZDg5YmY1ZjRkZDRjZTg3YzcyYWQ1MDFiZjNkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RyYWctbGlzdC1pdGVtLmh0bWwKQEAgLTAsMCArMSw1
MSBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0i
dHJ1ZSI+Cis8b2wgaWQ9InRlc3QiPgorPGxpIGlkPSJhbHBoYSI+YWxwaGE8L2xpPjxsaSBpZD0i
YmV0YSI+YmV0YTwvbGk+PGxpIGlkPSJnYW1tYSI+Z2FtbWE8L2xpPjxsaSBpZD0iZGVsdGEiPmRl
bHRhPC9saT4KKzwvb2w+Cis8L2Rpdj4KKworPHNjcmlwdD4KK01hcmt1cC5kZXNjcmlwdGlvbign
VGhpcyB0ZXN0IGRyYWdzIGEgc2VsZWN0aW9uIG9mIG9uZSA8bGk+IGFuZCBkcm9wcyB0aGVtIGFm
dGVyIGFub3RoZXIgPGxpPiBpbiB0aGUgZmlyc3QgbGlzdC4gVGhlIHNhbWUgdGVzdCBpcyByZXBl
YXRlZCBpbiB0aGUgc2Vjb25kIGxpc3QgYnV0IHRoaXMgdGltZSB3aXRoIHR3byBzZWxlY3RlZCBp
dGVtcyBpbnN0ZWFkIG9mIG9uZS4gSXQgdmVyaWZpZXMgdGhhdCB0aGUgYmVoYXZpb3IgaXMgaW5k
ZXBlbmRlbnQgb2YgaG93IG1hbnkgZnVsbHkgc2VsZWN0ZWQgaXRlbXMgd2UgbW92ZSwgaS5lLiBm
dWxseSBzZWxlY3RlZCA8bGk+IGFyZSBtb3ZlZCBhcyA8bGk+IGFuZCBub3QganVzdCBhcyBwbGFp
biB0ZXh0Jyk7CisKK2Z1bmN0aW9uIGVkaXRpbmdUZXN0KHRlc3RFbGVtZW50LCBzdGFydFNlbGVj
dGlvbkVsZW1lbnQsIGVuZFNlbGVjdGlvbkVsZW1lbnQsIGVuZFNlbGVjdGlvbkVsZW1lbnRPZmZz
ZXQsIHRhcmdldEVsZW1lbnQpIHsKKworICAgIHZhciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKHRlc3RFbGVtZW50KTsKKyAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93Lmdl
dFNlbGVjdGlvbigpOworICAgIHNlbGVjdGlvbi5zZXRQb3NpdGlvbih0ZXN0RWxlbWVudCwgMCk7
CisKKyAgICB2YXIgc3RhcnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdGFydFNlbGVjdGlv
bkVsZW1lbnQpOworICAgIHZhciBzdGFydHggPSBzdGFydC5vZmZzZXRMZWZ0OworICAgIHZhciBz
dGFydHkgPSBzdGFydC5vZmZzZXRUb3AgKyBzdGFydC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHNl
bGVjdGlvbi5zZXRCYXNlQW5kRXh0ZW50KHN0YXJ0LCAwLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChlbmRTZWxlY3Rpb25FbGVtZW50KSwgZW5kU2VsZWN0aW9uRWxlbWVudE9mZnNldCk7CisKKyAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydHgsIHN0YXJ0eSk7CisgICAgZXZlbnRTZW5k
ZXIubW91c2VEb3duKCk7CisKKyAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCgzMDApOworCisg
ICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldEVsZW1lbnQpOwor
ICAgIHZhciB0YXJnZXR4ID0gdGFyZ2V0LnBhcmVudE5vZGUub2Zmc2V0TGVmdCArIHRhcmdldC5v
ZmZzZXRMZWZ0ICsgdGFyZ2V0Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgdGFyZ2V0eSA9IHRh
cmdldC5vZmZzZXRUb3AgKyB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjsKKworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHRhcmdldHgsIHRhcmdldHkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNl
VXAoKTsKKworICAgIHNlbGVjdGlvbi5jb2xsYXBzZSgpOworfQorCitpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKKyAgICBlZGl0aW5nVGVzdCgidGVzdCIsICJiZXRhIiwgImJldGEiLCA0LCAiZGVs
dGEiKTsKKyAgICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLCAi
J2JldGEnIHNob3VsZCBhcHBlYXIgYXMgYSBuZXcgPGxpPiBhZnRlciAnZGVsdGEnIik7CisKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmlubmVySFRNTCA9ICI8bGkgaWQ9XCJh
bHBoYVwiPmFscGhhPC9saT48bGkgaWQ9XCJiZXRhXCI+YmV0YTwvbGk+IgorICAgICAgICArICI8
bGkgaWQ9XCJnYW1tYVwiPmdhbW1hPC9saT48bGkgaWQ9XCJkZWx0YVwiPmRlbHRhPC9saT4iOwor
ICAgIGVkaXRpbmdUZXN0KCJ0ZXN0IiwgImJldGEiLCAiZ2FtbWEiLCA1LCAiZGVsdGEiKTsKKyAg
ICBNYXJrdXAuZHVtcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLCAiJ2JldGEnIGFu
ZCAnZ2FtbWEnIHNob3VsZCBhcHBlYXIgYXMgPGxpPiBhZnRlciAnZGVsdGEnIik7Cit9Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192026</attachid>
            <date>2013-03-07 09:54:54 -0800</date>
            <delta_ts>2013-03-07 23:10:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111556-20130307184920.patch</filename>
            <type>text/plain</type>
            <size>8934</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0OTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUxOGY2NTc3MDkyNWMx
YTk0NjAxMWM0OTViOGFiMzlkM2U4NDIyOS4uM2YwM2E0MzY4NzBmMjA0OGViNGE2NmIyOTlkNGQz
NmQ0Y2ZjN2VmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAzLTA2ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcHJvdmUg
ZHJhZyZkcm9wIG9mIGxpc3QgaXRlbXMgaW4gY29udGVudEVkaXRhYmxlIGRpdnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTU1NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgc2luZ2xlIGZ1bGx5IHNl
bGVjdGVkIDxsaT4gc2hvdWxkIGdlbmVyYXRlIHRoZSBzYW1lIG1hcmt1cCBhcyBpZgorICAgICAg
ICB3ZSB3ZXJlIHNlbGVjdGluZyBzb21lIG9mIHRoZW0sIGkuZS4sIHdlIHNob3VsZCBwcmVzZXJ2
ZSB0aGUgbGlzdAorICAgICAgICBzdHJ1Y3R1cmUgYW5kIGFwcGVhcmFuY2UuCisKKyAgICAgICAg
VGVzdDogZWRpdGluZy9zZWxlY3Rpb24vZHJhZy1saXN0LWl0ZW0uaHRtbAorCisgICAgICAgICog
ZWRpdGluZy9odG1sZWRpdGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0xpc3RJdGVtKTog
bW9kaWZpZWQgY29uc3RuZXNzLgorICAgICAgICAqIGVkaXRpbmcvaHRtbGVkaXRpbmcuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOiBkaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpoaWdoZXN0QW5jZXN0b3JUb1dyYXBNYXJrdXApOgorCiAyMDEzLTAz
LTA2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAg
ICAgICAgIFJFR0dSRVNTSU9OIChyMTQyMTEyKTogSXQgbWFkZSBjb21wb3NpdGluZyB0ZXN0cyBm
YWlsIG9uIEVGTCwgUXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxl
ZGl0aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCmluZGV4
IDI0ZWI2ZWFmZTU5ZjE0ZjhjMzU5ODcyMWMyMzMxYjUxMzVmM2FjYWMuLjhhOTAzMjQ3MjE5NDE1
YTkzOWJiYmU3YmY2OThiYWM3MzA0M2RmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvaHRtbGVkaXRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVk
aXRpbmcuY3BwCkBAIC01ODAsNyArNTgwLDcgQEAgYm9vbCBpc0xpc3RFbGVtZW50KE5vZGUgKm4p
CiAgICAgcmV0dXJuIChuICYmIChuLT5oYXNUYWdOYW1lKHVsVGFnKSB8fCBuLT5oYXNUYWdOYW1l
KG9sVGFnKSB8fCBuLT5oYXNUYWdOYW1lKGRsVGFnKSkpOwogfQogCi1ib29sIGlzTGlzdEl0ZW0o
Tm9kZSAqbikKK2Jvb2wgaXNMaXN0SXRlbShjb25zdCBOb2RlICpuKQogewogICAgIHJldHVybiBu
ICYmIG4tPnJlbmRlcmVyKCkgJiYgbi0+cmVuZGVyZXIoKS0+aXNMaXN0SXRlbSgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCmluZGV4IGZhNjMyNTQ3NjhhMTIyOGY0M2ZhMWI2
NGQwMDk1YmMyMzg1ZjdiYjUuLjVmNjcyNjRkMGI3NDRjMWFjYjU4ZWVkOWU0Y2QxN2Y2NmI3Njdj
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKQEAgLTEwNyw3ICsxMDcsNyBA
QCBib29sIGlzVGFibGVDZWxsKGNvbnN0IE5vZGUqKTsKIGJvb2wgaXNFbXB0eVRhYmxlQ2VsbChj
b25zdCBOb2RlKik7CiBib29sIGlzVGFibGVTdHJ1Y3R1cmVOb2RlKGNvbnN0IE5vZGUqKTsKIGJv
b2wgaXNMaXN0RWxlbWVudChOb2RlKik7Ci1ib29sIGlzTGlzdEl0ZW0oTm9kZSopOworYm9vbCBp
c0xpc3RJdGVtKGNvbnN0IE5vZGUqKTsKIGJvb2wgaXNOb2RlUmVuZGVyZWQoY29uc3QgTm9kZSop
OwogYm9vbCBpc05vZGVWaXNpYmx5Q29udGFpbmVkV2l0aGluKE5vZGUqLCBjb25zdCBSYW5nZSop
OwogYm9vbCBpc1JlbmRlcmVkQXNOb25JbmxpbmVUYWJsZUltYWdlT3JIUihjb25zdCBOb2RlKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXggZDMyNzdjMzY2NjY2N2EzZGE2MjkyYTdh
NzlhNTE3ZWUxNTQxMmM1Yy4uYWZhODM4OGY1ZTNkZDQyOGRlODkzM2FmNzc3ZmFhY2Y4N2JhMTA4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApAQCAtNTE1LDYgKzUxNSwxNCBAQCBzdGF0
aWMgTm9kZSogaGlnaGVzdEFuY2VzdG9yVG9XcmFwTWFya3VwKGNvbnN0IFJhbmdlKiByYW5nZSwg
RUFubm90YXRlRm9ySW50ZXJjaAogICAgICAgICAvLyB0aGUgc3RydWN0dXJlIGFuZCBhcHBlYXJh
bmNlIG9mIHRoZSBjb3BpZWQgbWFya3VwLgogICAgICAgICBzcGVjaWFsQ29tbW9uQW5jZXN0b3Ig
PSBhbmNlc3RvclRvUmV0YWluU3RydWN0dXJlQW5kQXBwZWFyYW5jZShjb21tb25BbmNlc3Rvcik7
CiAKKyAgICAgICAgaWYgKE5vZGUqIHBhcmVudExpc3ROb2RlID0gZW5jbG9zaW5nTm9kZU9mVHlw
ZShmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUocmFuZ2UtPmZpcnN0Tm9kZSgpKSwgaXNMaXN0
SXRlbSkpIHsKKyAgICAgICAgICAgIGlmIChXZWJDb3JlOjphcmVSYW5nZXNFcXVhbChWaXNpYmxl
U2VsZWN0aW9uOjpzZWxlY3Rpb25Gcm9tQ29udGVudHNPZk5vZGUocGFyZW50TGlzdE5vZGUpLnRv
Tm9ybWFsaXplZFJhbmdlKCkuZ2V0KCksIHJhbmdlKSkgeworICAgICAgICAgICAgICAgIHNwZWNp
YWxDb21tb25BbmNlc3RvciA9IHBhcmVudExpc3ROb2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAg
ICAgICAgICAgd2hpbGUgKHNwZWNpYWxDb21tb25BbmNlc3RvciAmJiAhaXNMaXN0RWxlbWVudChz
cGVjaWFsQ29tbW9uQW5jZXN0b3IpKQorICAgICAgICAgICAgICAgICAgICBzcGVjaWFsQ29tbW9u
QW5jZXN0b3IgPSBzcGVjaWFsQ29tbW9uQW5jZXN0b3ItPnBhcmVudE5vZGUoKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8vIFJldGFpbiB0aGUgTWFpbCBxdW90ZSBsZXZl
bCBieSBpbmNsdWRpbmcgYWxsIGFuY2VzdG9yIG1haWwgYmxvY2sgcXVvdGVzLgogICAgICAgICBp
ZiAoTm9kZSogaGlnaGVzdE1haWxCbG9ja3F1b3RlID0gaGlnaGVzdEVuY2xvc2luZ05vZGVPZlR5
cGUoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKHJhbmdlLT5maXJzdE5vZGUoKSksIGlzTWFp
bEJsb2NrcXVvdGUsIENhbkNyb3NzRWRpdGluZ0JvdW5kYXJ5KSkKICAgICAgICAgICAgIHNwZWNp
YWxDb21tb25BbmNlc3RvciA9IGhpZ2hlc3RNYWlsQmxvY2txdW90ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNThkNGI2
YjRiZDM5ODZjZmJlNmRjMjJlZDM0NWY2YmJmZDUxOTZlLi4xYjlhZWMzNzgzOGVmZGQyNGQ2YThm
NmMwNzc5ZDU0ZjJkMjA2NWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDMtMDYgIFNl
cmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wcm92
ZSBkcmFnJmRyb3Agb2YgbGlzdCBpdGVtcyBpbiBjb250ZW50RWRpdGFibGUgZGl2cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNTU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBuZXcgdGVz
dCBjYXNlLiBUaGUgdGVzdCBwZXJmb3JtcyAyIGRyYWcmZHJvcHMsIGZpcnN0IG9mCisgICAgICAg
IGFsbCBhIHNlbGVjdGlvbiBvZiBhIHNpbmdsZSBsaXN0IGl0ZW0sIGFuZCBzZWNvbmRseSBhIHNl
bGVjdGlvbiBvZgorICAgICAgICB0d28gbGlzdCBpdGVtcy4gSXQgY2hlY2tzIHRoYXQgYm90aCBi
ZWhhdmUgdGhlIHNhbWUgd2F5LCBpLmUsIHRoZQorICAgICAgICB3aG9sZSA8bGk+IGlzIG1vdmVk
IGFuZCBub3Qgb25seSB0aGUgdGV4dC4KKworICAgICAgICAqIGVkaXRpbmcvc2VsZWN0aW9uL2Ry
YWctbGlzdC1pdGVtLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9zZWxl
Y3Rpb24vZHJhZy1saXN0LWl0ZW0uaHRtbDogQWRkZWQuCisKIDIwMTMtMDMtMDYgIEFsbGFuIFNh
bmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgUkVHR1JF
U1NJT04gKHIxNDIxMTIpOiBJdCBtYWRlIGNvbXBvc2l0aW5nIHRlc3RzIGZhaWwgb24gRUZMLCBR
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RyYWctbGlzdC1p
dGVtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RyYWctbGlz
dC1pdGVtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjg0ODJhODdhODFiMjQ2NDcwMWYxMTlj
Y2NkZjRhNDczYjg0ZGExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZHJhZy1saXN0LWl0ZW0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzEgQEAKK1Ro
aXMgdGVzdCBkcmFncyBhIHNlbGVjdGlvbiBvZiBvbmUgPGxpPiBhbmQgZHJvcHMgdGhlbSBhZnRl
ciBhbm90aGVyIDxsaT4gaW4gdGhlIGZpcnN0IGxpc3QuIFRoZSBzYW1lIHRlc3QgaXMgcmVwZWF0
ZWQgaW4gdGhlIHNlY29uZCBsaXN0IGJ1dCB0aGlzIHRpbWUgd2l0aCB0d28gc2VsZWN0ZWQgaXRl
bXMgaW5zdGVhZCBvZiBvbmUuIEl0IHZlcmlmaWVzIHRoYXQgdGhlIGJlaGF2aW9yIGlzIGluZGVw
ZW5kZW50IG9mIGhvdyBtYW55IGZ1bGx5IHNlbGVjdGVkIGl0ZW1zIHdlIG1vdmUsIGkuZS4gZnVs
bHkgc2VsZWN0ZWQgPGxpPiBhcmUgbW92ZWQgYXMgPGxpPiBhbmQgbm90IGp1c3QgYXMgcGxhaW4g
dGV4dAorCitUaGUgb3JpZ2luYWwgbGlzdCBsb29rcyBsaWtlIHRoaXMuICd0d28nIGlzIGdvaW5n
IHRvIGJlIHNlbGVjdGVkIGFuZCBwYXN0ZWQgYWZ0ZXIgJ2ZvdXInOgorfCAiCisiCit8IDxsaT4K
K3wgICBpZD0ib25lIgorfCAgICJvbmUiCit8IDxsaT4KK3wgICBpZD0idHdvIgorfCAgICJ0d28i
Cit8IDxsaT4KK3wgICBpZD0idGhyZWUiCit8ICAgInRocmVlIgorfCA8bGk+Cit8ICAgaWQ9ImZv
dXIiCit8ICAgImZvdXIiCit8ICIKKyIKKworJ3R3bycgc2hvdWxkIGFwcGVhciBhcyBhIG5ldyA8
bGk+IGFmdGVyICdmb3VyJzoKK3wgIgorIgorfCA8bGk+Cit8ICAgaWQ9Im9uZSIKK3wgICAib25l
IgorfCA8bGk+Cit8ICAgaWQ9InR3byIKK3wgICA8YnI+Cit8IDxsaT4KK3wgICBpZD0idGhyZWUi
Cit8ICAgInRocmVlIgorfCA8bGk+Cit8ICAgaWQ9ImZvdXIiCit8ICAgImZvdXIiCit8IDxsaT4K
K3wgICBpZD0idHdvIgorfCAgICJ0d28iCit8ICIKKyIKKworVGhlIG9yaWdpbmFsIGxpc3QgbG9v
a3MgbGlrZSB0aGlzLiAndHdvJyBhbmQgJ3RocmVlJyBhcmUgZ29pbmcgdG8gYmUgc2VsZWN0ZWQg
YW5kIHBhc3RlZCBhZnRlciAnZm91cic6Cit8IDxsaT4KK3wgICBpZD0ib25lIgorfCAgICJvbmUi
Cit8IDxsaT4KK3wgICBpZD0idHdvIgorfCAgICJ0d28iCit8IDxsaT4KK3wgICBpZD0idGhyZWUi
Cit8ICAgInRocmVlIgorfCA8bGk+Cit8ICAgaWQ9ImZvdXIiCit8ICAgImZvdXIiCisKKyd0d28n
IGFuZCAndGhyZWUnIHNob3VsZCBhcHBlYXIgYXMgPGxpPiBhZnRlciAnZm91cic6Cit8IDxsaT4K
K3wgICBpZD0ib25lIgorfCAgICJvbmUiCit8IDxsaT4KK3wgICBpZD0idHdvIgorfCAgIDxicj4K
K3wgPGxpPgorfCAgIGlkPSJmb3VyIgorfCAgICJmb3VyIgorfCA8bGk+Cit8ICAgaWQ9InR3byIK
K3wgICAidHdvIgorfCA8bGk+Cit8ICAgaWQ9InRocmVlIgorfCAgICJ0aHJlZSIKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RyYWctbGlzdC1pdGVtLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kcmFnLWxpc3QtaXRlbS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk3ZGQ1NDgyOTBmM2JmYWFmOGE1Yjg3YzUzMjY1NWJhYzYyY2RkOWUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kcmFnLWxpc3QtaXRlbS5odG1s
CkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPGRpdiBjb250
ZW50ZWRpdGFibGU9InRydWUiPgorPG9sIGlkPSJ0ZXN0Ij4KKzxsaSBpZD0ib25lIj5vbmU8L2xp
PjxsaSBpZD0idHdvIj50d288L2xpPjxsaSBpZD0idGhyZWUiPnRocmVlPC9saT48bGkgaWQ9ImZv
dXIiPmZvdXI8L2xpPgorPC9vbD4KKzwvZGl2PgorCis8c2NyaXB0PgorTWFya3VwLmRlc2NyaXB0
aW9uKCdUaGlzIHRlc3QgZHJhZ3MgYSBzZWxlY3Rpb24gb2Ygb25lIDxsaT4gYW5kIGRyb3BzIHRo
ZW0gYWZ0ZXIgYW5vdGhlciA8bGk+IGluIHRoZSBmaXJzdCBsaXN0LiBUaGUgc2FtZSB0ZXN0IGlz
IHJlcGVhdGVkIGluIHRoZSBzZWNvbmQgbGlzdCBidXQgdGhpcyB0aW1lIHdpdGggdHdvIHNlbGVj
dGVkIGl0ZW1zIGluc3RlYWQgb2Ygb25lLiBJdCB2ZXJpZmllcyB0aGF0IHRoZSBiZWhhdmlvciBp
cyBpbmRlcGVuZGVudCBvZiBob3cgbWFueSBmdWxseSBzZWxlY3RlZCBpdGVtcyB3ZSBtb3ZlLCBp
LmUuIGZ1bGx5IHNlbGVjdGVkIDxsaT4gYXJlIG1vdmVkIGFzIDxsaT4gYW5kIG5vdCBqdXN0IGFz
IHBsYWluIHRleHQnKTsKKworZnVuY3Rpb24gZWRpdGluZ1Rlc3QodGVzdEVsZW1lbnQsIHN0YXJ0
U2VsZWN0aW9uRWxlbWVudCwgZW5kU2VsZWN0aW9uRWxlbWVudCwgZW5kU2VsZWN0aW9uRWxlbWVu
dE9mZnNldCwgdGFyZ2V0RWxlbWVudCkgeworCisgICAgdmFyIHRlc3RFbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQodGVzdEVsZW1lbnQpOworICAgIHZhciBzZWxlY3Rpb24gPSB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCk7CisgICAgc2VsZWN0aW9uLnNldFBvc2l0aW9uKHRlc3RFbGVtZW50
LCAwKTsKKworICAgIHZhciBzdGFydCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN0YXJ0U2Vs
ZWN0aW9uRWxlbWVudCk7CisgICAgdmFyIHN0YXJ0eCA9IHN0YXJ0Lm9mZnNldExlZnQ7CisgICAg
dmFyIHN0YXJ0eSA9IHN0YXJ0Lm9mZnNldFRvcCArIHN0YXJ0Lm9mZnNldEhlaWdodCAvIDI7Cisg
ICAgc2VsZWN0aW9uLnNldEJhc2VBbmRFeHRlbnQoc3RhcnQsIDAsIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKGVuZFNlbGVjdGlvbkVsZW1lbnQpLCBlbmRTZWxlY3Rpb25FbGVtZW50T2Zmc2V0KTsK
KworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0eCwgc3RhcnR5KTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZURvd24oKTsKKworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDIwMCk7
CisKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0RWxlbWVu
dCk7CisgICAgdmFyIHRhcmdldHggPSB0YXJnZXQucGFyZW50Tm9kZS5vZmZzZXRMZWZ0ICsgdGFy
Z2V0Lm9mZnNldExlZnQgKyB0YXJnZXQub2Zmc2V0V2lkdGggLyAyOworICAgIHZhciB0YXJnZXR5
ID0gdGFyZ2V0Lm9mZnNldFRvcCArIHRhcmdldC5vZmZzZXRIZWlnaHQgLyAyOworCisgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0eCwgdGFyZ2V0eSk7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOworCisgICAgc2VsZWN0aW9uLmNvbGxhcHNlKCk7Cit9CisKK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworCisgICAgTWFya3VwLmR1bXAoInRlc3QiLCAiVGhlIG9yaWdpbmFsIGxp
c3QgbG9va3MgbGlrZSB0aGlzLiAndHdvJyBpcyBnb2luZyB0byBiZSBzZWxlY3RlZCBhbmQgcGFz
dGVkIGFmdGVyICdmb3VyJyIpOworICAgIGVkaXRpbmdUZXN0KCJ0ZXN0IiwgInR3byIsICJ0d28i
LCA0LCAiZm91ciIpOworICAgIE1hcmt1cC5kdW1wKCJ0ZXN0IiwgIid0d28nIHNob3VsZCBhcHBl
YXIgYXMgYSBuZXcgPGxpPiBhZnRlciAnZm91ciciKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MID0gIjxsaSBpZD1cIm9uZVwiPm9uZTwvbGk+PGxpIGlk
PVwidHdvXCI+dHdvPC9saT4iCisgICAgICAgICsgIjxsaSBpZD1cInRocmVlXCI+dGhyZWU8L2xp
PjxsaSBpZD1cImZvdXJcIj5mb3VyPC9saT4iOworICAgIE1hcmt1cC5kdW1wKCJ0ZXN0IiwgIlRo
ZSBvcmlnaW5hbCBsaXN0IGxvb2tzIGxpa2UgdGhpcy4gJ3R3bycgYW5kICd0aHJlZScgYXJlIGdv
aW5nIHRvIGJlIHNlbGVjdGVkIGFuZCBwYXN0ZWQgYWZ0ZXIgJ2ZvdXInIik7CisgICAgZWRpdGlu
Z1Rlc3QoInRlc3QiLCAidHdvIiwgInRocmVlIiwgNSwgImZvdXIiKTsKKyAgICBNYXJrdXAuZHVt
cCgidGVzdCIsICIndHdvJyBhbmQgJ3RocmVlJyBzaG91bGQgYXBwZWFyIGFzIDxsaT4gYWZ0ZXIg
J2ZvdXInIik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="213135"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="213244"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>