<?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>99216</bug_id>
          
          <creation_ts>2012-10-12 16:31:56 -0700</creation_ts>
          <short_desc>[CSS Exclusions] Add ExclusionShape::shapeBoundingBox() method</short_desc>
          <delta_ts>2012-10-18 10:16:39 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Muller">giles_joplin</reporter>
          <assigned_to name="Hans Muller">giles_joplin</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741306</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-12 16:31:56 -0700</bug_when>
    <thetext>We need a method that returns an ExclusionShape&apos;s physical bounds.  We already have shapeLogicalBoundingBox().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741307</commentid>
    <comment_count>1</comment_count>
      <attachid>168509</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-12 16:32:54 -0700</bug_when>
    <thetext>Created attachment 168509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741309</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-12 16:34:42 -0700</bug_when>
    <thetext>Attachment 168509 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/rendering/ExclusionShape.cp...&quot; exit_code: 1
Source/WebCore/rendering/ExclusionShape.cpp:140:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741310</commentid>
    <comment_count>3</comment_count>
      <attachid>168510</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-12 16:35:41 -0700</bug_when>
    <thetext>Created attachment 168510
Patch

Fixed check-webkit-style problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741341</commentid>
    <comment_count>4</comment_count>
      <attachid>168510</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-12 17:28:38 -0700</bug_when>
    <thetext>Comment on attachment 168510
Patch

Attachment 168510 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14293083

New failing tests:
fast/js/random-array-gc-stress.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742167</commentid>
    <comment_count>5</comment_count>
      <attachid>168738</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-15 10:38:51 -0700</bug_when>
    <thetext>Created attachment 168738
Patch

Added FloatRect::extend() to simplify writing loops that accumulate the bounding box for a sequence of vertices.  For example:

FloatRect box(vertices[0], FloatSize(0,0));
for (unsigned i = 1; i &lt; vertices.length; i++)
    box.extend(vertices[i]);

ExclusionShape and ExclusionPolygon now use FloatRect::extend().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744447</commentid>
    <comment_count>6</comment_count>
      <attachid>168738</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-10-17 11:24:59 -0700</bug_when>
    <thetext>Comment on attachment 168738
Patch

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

Patch looks great. Just one snippet. And please add the change log and say that it is just clean up. No change of functionality. It already should be covered by existing tests.

&gt; Source/WebCore/platform/graphics/FloatRect.cpp:137
&gt; +void FloatRect::extend(const FloatPoint&amp; p)

Looks great!

&gt; Source/WebCore/rendering/ExclusionShape.cpp:97
&gt;          exclusionShape = horizontalWritingMode
&gt;              ? createExclusionRectangle(FloatRect(x, y, width, height), FloatSize(radiusX, radiusY))
&gt;              : createExclusionRectangle(FloatRect(y, x, height, width), FloatSize(radiusY, radiusX));
&gt; +        exclusionShape-&gt;m_boundingBox = FloatRect(x, y, width, height);

It doesn&apos;t bring you any performance or memory win, but I would suggest creating the FloatRect before creating the ExclusionRectangle. Seems to be cleaner.

FloatRect rect(floatValueForLength(rectangle-&gt;x(), boxWidth),
    floatValueForLength(rectangle-&gt;y(), boxHeight),
    floatValueForLength(rectangle-&gt;width(), boxWidth),
    floatValueForLength(rectangle-&gt;height(), boxHeight));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744688</commentid>
    <comment_count>7</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-17 15:14:34 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 168738 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168738&amp;action=review
...
&gt; It doesn&apos;t bring you any performance or memory win, but I would suggest creating the FloatRect before creating the ExclusionRectangle. Seems to be cleaner.
&gt; 
&gt; FloatRect rect(floatValueForLength(rectangle-&gt;x(), boxWidth),
&gt;     floatValueForLength(rectangle-&gt;y(), boxHeight),
&gt;     floatValueForLength(rectangle-&gt;width(), boxWidth),
&gt;     floatValueForLength(rectangle-&gt;height(), boxHeight));

Since the createExclusionRectangle() parameter depends on horizontalWritingMode, I assume what you&apos;re suggesting is this:

        FloatRect rectangle(
            floatValueForLength(rectangle-&gt;x(), boxWidth),
            floatValueForLength(rectangle-&gt;y(), boxHeight),
            floatValueForLength(rectangle-&gt;width(), boxWidth),
            floatValueForLength(rectangle-&gt;height(), boxHeight));
        ...
        FloatSize cornerRadii(radiusX, radiusY);

        exclusionShape = horizontalWritingMode
            ? createExclusionRectangle(rectangle, cornerRadii)
            : createExclusionRectangle(rectangle.transposeRect(), cornerRadii.transposeSize());;

I included the radii as well, since having both createExclusionRectangle() parameters transposed seems clearer (too).  Unfortunately, if I make this change, then for consistency I&apos;d need to change all of the createExclusionShape() cases. I&apos;m not convinced that doing so would make the code that much clearer and I think it really starts to go beyond the scope of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744693</commentid>
    <comment_count>8</comment_count>
      <attachid>169273</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-17 15:17:25 -0700</bug_when>
    <thetext>Created attachment 169273
Patch

Added a ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744892</commentid>
    <comment_count>9</comment_count>
      <attachid>169321</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2012-10-17 18:37:31 -0700</bug_when>
    <thetext>Created attachment 169321
Patch

Made the requested changes for ExclusionRectangle in createExclusionShape().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745333</commentid>
    <comment_count>10</comment_count>
      <attachid>169321</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-10-18 09:52:30 -0700</bug_when>
    <thetext>Comment on attachment 169321
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745354</commentid>
    <comment_count>11</comment_count>
      <attachid>169321</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-18 10:16:35 -0700</bug_when>
    <thetext>Comment on attachment 169321
Patch

Clearing flags on attachment: 169321

Committed r131768: &lt;http://trac.webkit.org/changeset/131768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745355</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-18 10:16:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168509</attachid>
            <date>2012-10-12 16:32:54 -0700</date>
            <delta_ts>2012-10-12 16:35:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>3377</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuY3BwCmluZGV4IGMzZWM4
YWMuLjQxMDJmYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
LmNwcApAQCAtOTQsNiArOTQsNyBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBFeGNsdXNp
b25TaGFwZTo6Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAgICAgICBl
eGNsdXNpb25TaGFwZSA9IGhvcml6b250YWxXcml0aW5nTW9kZQogICAgICAgICAgICAgPyBjcmVh
dGVFeGNsdXNpb25SZWN0YW5nbGUoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpLCBGbG9h
dFNpemUocmFkaXVzWCwgcmFkaXVzWSkpCiAgICAgICAgICAgICA6IGNyZWF0ZUV4Y2x1c2lvblJl
Y3RhbmdsZShGbG9hdFJlY3QoeSwgeCwgaGVpZ2h0LCB3aWR0aCksIEZsb2F0U2l6ZShyYWRpdXNZ
LCByYWRpdXNYKSk7CisgICAgICAgIGV4Y2x1c2lvblNoYXBlLT5tX2JvdW5kaW5nQm94ID0gRmxv
YXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAg
LTEwNiw2ICsxMDcsNyBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBFeGNsdXNpb25TaGFw
ZTo6Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAgICAgICBleGNsdXNp
b25TaGFwZSA9IGhvcml6b250YWxXcml0aW5nTW9kZQogICAgICAgICAgICAgPyBjcmVhdGVFeGNs
dXNpb25DaXJjbGUoRmxvYXRQb2ludChjZW50ZXJYLCBjZW50ZXJZKSwgcmFkaXVzKQogICAgICAg
ICAgICAgOiBjcmVhdGVFeGNsdXNpb25DaXJjbGUoRmxvYXRQb2ludChjZW50ZXJZLCBjZW50ZXJY
KSwgcmFkaXVzKTsKKyAgICAgICAgZXhjbHVzaW9uU2hhcGUtPm1fYm91bmRpbmdCb3ggPSBGbG9h
dFJlY3QoY2VudGVyWCAtIHJhZGl1cywgY2VudGVyWSAtIHJhZGl1cywgcmFkaXVzICogMiwgcmFk
aXVzICogMik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTE5LDYgKzEyMSw3IEBAIFBh
c3NPd25QdHI8RXhjbHVzaW9uU2hhcGU+IEV4Y2x1c2lvblNoYXBlOjpjcmVhdGVFeGNsdXNpb25T
aGFwZShjb25zdCBCYXNpY1NoYXBlCiAgICAgICAgIGV4Y2x1c2lvblNoYXBlID0gaG9yaXpvbnRh
bFdyaXRpbmdNb2RlCiAgICAgICAgICAgICA/IGNyZWF0ZUV4Y2x1c2lvbkVsbGlwc2UoRmxvYXRQ
b2ludChjZW50ZXJYLCBjZW50ZXJZKSwgRmxvYXRTaXplKHJhZGl1c1gsIHJhZGl1c1kpKQogICAg
ICAgICAgICAgOiBjcmVhdGVFeGNsdXNpb25FbGxpcHNlKEZsb2F0UG9pbnQoY2VudGVyWSwgY2Vu
dGVyWCksIEZsb2F0U2l6ZShyYWRpdXNZLCByYWRpdXNYKSk7CisgICAgICAgIGV4Y2x1c2lvblNo
YXBlLT5tX2JvdW5kaW5nQm94ID0gRmxvYXRSZWN0KGNlbnRlclggLSByYWRpdXNYLCBjZW50ZXJZ
IC0gcmFkaXVzWSwgcmFkaXVzWCAqIDIsIHJhZGl1c1kgKiAyKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCkBAIC0xMjgsMTMgKzEzMSwxOSBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBF
eGNsdXNpb25TaGFwZTo6Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAg
ICAgICBzaXplX3QgdmFsdWVzU2l6ZSA9IHZhbHVlcy5zaXplKCk7CiAgICAgICAgIEFTU0VSVCgh
KHZhbHVlc1NpemUgJSAyKSk7CiAgICAgICAgIFZlY3RvcjxGbG9hdFBvaW50PiogdmVydGljZXMg
PSBuZXcgVmVjdG9yPEZsb2F0UG9pbnQ+KHZhbHVlc1NpemUgLyAyKTsKKyAgICAgICAgRmxvYXRS
ZWN0IGJvdW5kaW5nQm94OwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWVz
U2l6ZTsgaSArPSAyKSB7CiAgICAgICAgICAgICBGbG9hdFBvaW50IHZlcnRleCgKICAgICAgICAg
ICAgICAgICBmbG9hdFZhbHVlRm9yTGVuZ3RoKHZhbHVlcy5hdChpKSwgYm94V2lkdGgpLAogICAg
ICAgICAgICAgICAgIGZsb2F0VmFsdWVGb3JMZW5ndGgodmFsdWVzLmF0KGkgKyAxKSwgYm94SGVp
Z2h0KSk7CiAgICAgICAgICAgICAoKnZlcnRpY2VzKVtpIC8gMl0gPSBob3Jpem9udGFsV3JpdGlu
Z01vZGUgPyB2ZXJ0ZXggOiB2ZXJ0ZXgudHJhbnNwb3NlZFBvaW50KCk7CisgICAgICAgICAgICBp
ZiAoaSA9PSAwKQorICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94LnNldExvY2F0aW9uKHZlcnRl
eCk7CisgICAgICAgICAgICBlbHNlIAorICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94LnVuaXRl
RXZlbklmRW1wdHkoRmxvYXRSZWN0KHZlcnRleCwgRmxvYXRTaXplKDAsIDApKSk7CiAgICAgICAg
IH0KICAgICAgICAgZXhjbHVzaW9uU2hhcGUgPSBjcmVhdGVFeGNsdXNpb25Qb2x5Z29uKGFkb3B0
UHRyKHZlcnRpY2VzKSwgcG9seWdvbi0+d2luZFJ1bGUoKSk7CisgICAgICAgIGV4Y2x1c2lvblNo
YXBlLT5tX2JvdW5kaW5nQm94ID0gYm91bmRpbmdCb3g7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaAppbmRleCBiYjFlZGM2
Li5hNDE2NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
U2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaApA
QCAtNjQsNiArNjQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RXhjbHVzaW9uU2hhcGUoKSB7
IH0KIAogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNoYXBlTG9naWNhbEJvdW5kaW5nQm94KCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNoYXBlQm91bmRpbmdCb3goKSBjb25zdCB7
IHJldHVybiBtX2JvdW5kaW5nQm94OyB9CiAgICAgdmlydHVhbCB2b2lkIGdldEluY2x1ZGVkSW50
ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxCb3R0b20sIFNlZ21lbnRMaXN0
JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRFeGNsdWRlZEludGVydmFscyhmbG9h
dCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdtZW50TGlzdCYpIGNvbnN0ID0g
MDsKIApAQCAtNzYsNiArNzcsNyBAQCBwcml2YXRlOgogICAgIFdyaXRpbmdNb2RlIG1fd3JpdGlu
Z01vZGU7CiAgICAgZmxvYXQgbV9sb2dpY2FsQm94V2lkdGg7CiAgICAgZmxvYXQgbV9sb2dpY2Fs
Qm94SGVpZ2h0OworICAgIEZsb2F0UmVjdCBtX2JvdW5kaW5nQm94OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168510</attachid>
            <date>2012-10-12 16:35:41 -0700</date>
            <delta_ts>2012-10-15 10:38:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>3372</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuY3BwCmluZGV4IGMzZWM4
YWMuLjJhM2ZjYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNp
b25TaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
LmNwcApAQCAtOTQsNiArOTQsNyBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBFeGNsdXNp
b25TaGFwZTo6Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAgICAgICBl
eGNsdXNpb25TaGFwZSA9IGhvcml6b250YWxXcml0aW5nTW9kZQogICAgICAgICAgICAgPyBjcmVh
dGVFeGNsdXNpb25SZWN0YW5nbGUoRmxvYXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpLCBGbG9h
dFNpemUocmFkaXVzWCwgcmFkaXVzWSkpCiAgICAgICAgICAgICA6IGNyZWF0ZUV4Y2x1c2lvblJl
Y3RhbmdsZShGbG9hdFJlY3QoeSwgeCwgaGVpZ2h0LCB3aWR0aCksIEZsb2F0U2l6ZShyYWRpdXNZ
LCByYWRpdXNYKSk7CisgICAgICAgIGV4Y2x1c2lvblNoYXBlLT5tX2JvdW5kaW5nQm94ID0gRmxv
YXRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAg
LTEwNiw2ICsxMDcsNyBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBFeGNsdXNpb25TaGFw
ZTo6Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAgICAgICBleGNsdXNp
b25TaGFwZSA9IGhvcml6b250YWxXcml0aW5nTW9kZQogICAgICAgICAgICAgPyBjcmVhdGVFeGNs
dXNpb25DaXJjbGUoRmxvYXRQb2ludChjZW50ZXJYLCBjZW50ZXJZKSwgcmFkaXVzKQogICAgICAg
ICAgICAgOiBjcmVhdGVFeGNsdXNpb25DaXJjbGUoRmxvYXRQb2ludChjZW50ZXJZLCBjZW50ZXJY
KSwgcmFkaXVzKTsKKyAgICAgICAgZXhjbHVzaW9uU2hhcGUtPm1fYm91bmRpbmdCb3ggPSBGbG9h
dFJlY3QoY2VudGVyWCAtIHJhZGl1cywgY2VudGVyWSAtIHJhZGl1cywgcmFkaXVzICogMiwgcmFk
aXVzICogMik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTE5LDYgKzEyMSw3IEBAIFBh
c3NPd25QdHI8RXhjbHVzaW9uU2hhcGU+IEV4Y2x1c2lvblNoYXBlOjpjcmVhdGVFeGNsdXNpb25T
aGFwZShjb25zdCBCYXNpY1NoYXBlCiAgICAgICAgIGV4Y2x1c2lvblNoYXBlID0gaG9yaXpvbnRh
bFdyaXRpbmdNb2RlCiAgICAgICAgICAgICA/IGNyZWF0ZUV4Y2x1c2lvbkVsbGlwc2UoRmxvYXRQ
b2ludChjZW50ZXJYLCBjZW50ZXJZKSwgRmxvYXRTaXplKHJhZGl1c1gsIHJhZGl1c1kpKQogICAg
ICAgICAgICAgOiBjcmVhdGVFeGNsdXNpb25FbGxpcHNlKEZsb2F0UG9pbnQoY2VudGVyWSwgY2Vu
dGVyWCksIEZsb2F0U2l6ZShyYWRpdXNZLCByYWRpdXNYKSk7CisgICAgICAgIGV4Y2x1c2lvblNo
YXBlLT5tX2JvdW5kaW5nQm94ID0gRmxvYXRSZWN0KGNlbnRlclggLSByYWRpdXNYLCBjZW50ZXJZ
IC0gcmFkaXVzWSwgcmFkaXVzWCAqIDIsIHJhZGl1c1kgKiAyKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCkBAIC0xMjgsMTMgKzEzMSwxOSBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBF
eGNsdXNpb25TaGFwZTo6Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAg
ICAgICBzaXplX3QgdmFsdWVzU2l6ZSA9IHZhbHVlcy5zaXplKCk7CiAgICAgICAgIEFTU0VSVCgh
KHZhbHVlc1NpemUgJSAyKSk7CiAgICAgICAgIFZlY3RvcjxGbG9hdFBvaW50PiogdmVydGljZXMg
PSBuZXcgVmVjdG9yPEZsb2F0UG9pbnQ+KHZhbHVlc1NpemUgLyAyKTsKKyAgICAgICAgRmxvYXRS
ZWN0IGJvdW5kaW5nQm94OwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdmFsdWVz
U2l6ZTsgaSArPSAyKSB7CiAgICAgICAgICAgICBGbG9hdFBvaW50IHZlcnRleCgKICAgICAgICAg
ICAgICAgICBmbG9hdFZhbHVlRm9yTGVuZ3RoKHZhbHVlcy5hdChpKSwgYm94V2lkdGgpLAogICAg
ICAgICAgICAgICAgIGZsb2F0VmFsdWVGb3JMZW5ndGgodmFsdWVzLmF0KGkgKyAxKSwgYm94SGVp
Z2h0KSk7CiAgICAgICAgICAgICAoKnZlcnRpY2VzKVtpIC8gMl0gPSBob3Jpem9udGFsV3JpdGlu
Z01vZGUgPyB2ZXJ0ZXggOiB2ZXJ0ZXgudHJhbnNwb3NlZFBvaW50KCk7CisgICAgICAgICAgICBp
ZiAoIWkpCisgICAgICAgICAgICAgICAgYm91bmRpbmdCb3guc2V0TG9jYXRpb24odmVydGV4KTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBib3VuZGluZ0JveC51bml0ZUV2ZW5J
ZkVtcHR5KEZsb2F0UmVjdCh2ZXJ0ZXgsIEZsb2F0U2l6ZSgwLCAwKSkpOwogICAgICAgICB9CiAg
ICAgICAgIGV4Y2x1c2lvblNoYXBlID0gY3JlYXRlRXhjbHVzaW9uUG9seWdvbihhZG9wdFB0cih2
ZXJ0aWNlcyksIHBvbHlnb24tPndpbmRSdWxlKCkpOworICAgICAgICBleGNsdXNpb25TaGFwZS0+
bV9ib3VuZGluZ0JveCA9IGJvdW5kaW5nQm94OwogICAgICAgICBicmVhazsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlLmgKaW5kZXggYmIxZWRjNi4uYTQx
NjQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlLmgKQEAgLTY0
LDYgKzY0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkV4Y2x1c2lvblNoYXBlKCkgeyB9CiAK
ICAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzaGFwZUxvZ2ljYWxCb3VuZGluZ0JveCgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzaGFwZUJvdW5kaW5nQm94KCkgY29uc3QgeyByZXR1
cm4gbV9ib3VuZGluZ0JveDsgfQogICAgIHZpcnR1YWwgdm9pZCBnZXRJbmNsdWRlZEludGVydmFs
cyhmbG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdtZW50TGlzdCYpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0RXhjbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9n
aWNhbFRvcCwgZmxvYXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCA9IDA7CiAK
QEAgLTc2LDYgKzc3LDcgQEAgcHJpdmF0ZToKICAgICBXcml0aW5nTW9kZSBtX3dyaXRpbmdNb2Rl
OwogICAgIGZsb2F0IG1fbG9naWNhbEJveFdpZHRoOwogICAgIGZsb2F0IG1fbG9naWNhbEJveEhl
aWdodDsKKyAgICBGbG9hdFJlY3QgbV9ib3VuZGluZ0JveDsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUK
</data>
<flag name="commit-queue"
          id="181514"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168738</attachid>
            <date>2012-10-15 10:38:51 -0700</date>
            <delta_ts>2012-10-17 15:17:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>6259</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCmluZGV4
IGYzMWM2Y2MuLjdjZWQ5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRmxvYXRSZWN0LmNwcApAQCAtMTM0LDYgKzEzNCwxNiBAQCB2b2lkIEZsb2F0UmVjdDo6dW5p
dGVJZk5vblplcm8oY29uc3QgRmxvYXRSZWN0JiBvdGhlcikKICAgICB1bml0ZUV2ZW5JZkVtcHR5
KG90aGVyKTsKIH0KIAordm9pZCBGbG9hdFJlY3Q6OmV4dGVuZChjb25zdCBGbG9hdFBvaW50JiBw
KQoreworICAgIGZsb2F0IG1pblggPSBtaW4oeCgpLCBwLngoKSk7CisgICAgZmxvYXQgbWluWSA9
IG1pbih5KCksIHAueSgpKTsKKyAgICBmbG9hdCBtYXhYID0gbWF4KHRoaXMtPm1heFgoKSwgcC54
KCkpOworICAgIGZsb2F0IG1heFkgPSBtYXgodGhpcy0+bWF4WSgpLCBwLnkoKSk7CisKKyAgICBz
ZXRMb2NhdGlvbkFuZFNpemVGcm9tRWRnZXMobWluWCwgbWluWSwgbWF4WCwgbWF4WSk7Cit9CisK
IHZvaWQgRmxvYXRSZWN0OjpzY2FsZShmbG9hdCBzeCwgZmxvYXQgc3kpCiB7CiAgICAgbV9sb2Nh
dGlvbi5zZXRYKHgoKSAqIHN4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RmxvYXRSZWN0LmgKaW5kZXggMTYxZTI3OC4uOWUwOWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB1bml0ZShjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2b2lkIHVuaXRlRXZlbklm
RW1wdHkoY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdm9pZCB1bml0ZUlmTm9uWmVybyhjb25zdCBG
bG9hdFJlY3QmKTsKKyAgICB2b2lkIGV4dGVuZChjb25zdCBGbG9hdFBvaW50Jik7CiAKICAgICAv
LyBOb3RlLCB0aGlzIGRvZXNuJ3QgbWF0Y2ggd2hhdCBJbnRSZWN0Ojpjb250YWlucyhJbnRQb2lu
dCYpIGRvZXM7IHRoZSBpbnQgdmVyc2lvbgogICAgIC8vIGlzIHJlYWxseSBjaGVja2luZyBmb3Ig
Y29udGFpbm1lbnQgb2YgMXgxIHJlY3QsIGJ1dCB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRo
IGZsb2F0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Q
b2x5Z29uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmNw
cAppbmRleCBlNzA0YWJmLi45MGIzOTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V4Y2x1c2lvblBvbHlnb24uY3BwCkBAIC02MywyMCArNjMsMTIgQEAgRXhjbHVzaW9uUG9seWdv
bjo6RXhjbHVzaW9uUG9seWdvbihQYXNzT3duUHRyPFZlY3RvcjxGbG9hdFBvaW50PiA+IHZlcnRp
Y2VzLCBXaW4KICAgICBtX2VkZ2VzLnJlc2l6ZShuVmVydGljZXMpOwogICAgIFZlY3RvcjxFeGNs
dXNpb25Qb2x5Z29uRWRnZSo+IHNvcnRlZEVkZ2VzTWluWShuVmVydGljZXMpOwogCi0gICAgY29u
c3QgRmxvYXRQb2ludCYgdmVydGV4MCA9IHZlcnRleEF0KDApOwotICAgIGZsb2F0IG1pblggPSB2
ZXJ0ZXgwLngoKTsKLSAgICBmbG9hdCBtaW5ZID0gdmVydGV4MC55KCk7Ci0gICAgZmxvYXQgbWF4
WCA9IG1pblg7Ci0gICAgZmxvYXQgbWF4WSA9IG1pblk7CisgICAgaWYgKG5WZXJ0aWNlcykKKyAg
ICAgICAgbV9ib3VuZGluZ0JveC5zZXRMb2NhdGlvbih2ZXJ0ZXhBdCgwKSk7CiAKICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgblZlcnRpY2VzOyBpKyspIHsKICAgICAgICAgY29uc3QgRmxv
YXRQb2ludCYgdmVydGV4ID0gdmVydGV4QXQoaSk7Ci0KLSAgICAgICAgbWluWCA9IHN0ZDo6bWlu
KHZlcnRleC54KCksIG1pblgpOwotICAgICAgICBtYXhYID0gc3RkOjptYXgodmVydGV4LngoKSwg
bWF4WCk7Ci0gICAgICAgIG1pblkgPSBzdGQ6Om1pbih2ZXJ0ZXgueSgpLCBtaW5ZKTsKLSAgICAg
ICAgbWF4WSA9IHN0ZDo6bWF4KHZlcnRleC55KCksIG1heFkpOwotCisgICAgICAgIG1fYm91bmRp
bmdCb3guZXh0ZW5kKHZlcnRleCk7CiAgICAgICAgIG1fZWRnZXNbaV0ucG9seWdvbiA9IHRoaXM7
CiAgICAgICAgIG1fZWRnZXNbaV0uaW5kZXgxID0gaTsKICAgICAgICAgbV9lZGdlc1tpXS5pbmRl
eDIgPSAoaSArIDEpICUgblZlcnRpY2VzOwpAQCAtODQsMTEgKzc2LDYgQEAgRXhjbHVzaW9uUG9s
eWdvbjo6RXhjbHVzaW9uUG9seWdvbihQYXNzT3duUHRyPFZlY3RvcjxGbG9hdFBvaW50PiA+IHZl
cnRpY2VzLCBXaW4KICAgICAgICAgc29ydGVkRWRnZXNNaW5ZW2ldID0gJm1fZWRnZXNbaV07CiAg
ICAgfQogCi0gICAgbV9ib3VuZGluZ0JveC5zZXRYKG1pblgpOwotICAgIG1fYm91bmRpbmdCb3gu
c2V0WShtaW5ZKTsKLSAgICBtX2JvdW5kaW5nQm94LnNldFdpZHRoKG1heFggLSBtaW5YKTsKLSAg
ICBtX2JvdW5kaW5nQm94LnNldEhlaWdodChtYXhZIC0gbWluWSk7Ci0KICAgICBzdGQ6OnNvcnQo
c29ydGVkRWRnZXNNaW5ZLmJlZ2luKCksIHNvcnRlZEVkZ2VzTWluWS5lbmQoKSwgV2ViQ29yZTo6
Y29tcGFyZUVkZ2VNaW5ZKTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2VkZ2Vz
LnNpemUoKTsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhj
bHVzaW9uU2hhcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBl
LmNwcAppbmRleCBjM2VjOGFjLi5iYzkzMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9FeGNsdXNpb25TaGFwZS5jcHAKQEAgLTk0LDYgKzk0LDcgQEAgUGFzc093blB0cjxFeGNsdXNp
b25TaGFwZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJhc2lj
U2hhcGUKICAgICAgICAgZXhjbHVzaW9uU2hhcGUgPSBob3Jpem9udGFsV3JpdGluZ01vZGUKICAg
ICAgICAgICAgID8gY3JlYXRlRXhjbHVzaW9uUmVjdGFuZ2xlKEZsb2F0UmVjdCh4LCB5LCB3aWR0
aCwgaGVpZ2h0KSwgRmxvYXRTaXplKHJhZGl1c1gsIHJhZGl1c1kpKQogICAgICAgICAgICAgOiBj
cmVhdGVFeGNsdXNpb25SZWN0YW5nbGUoRmxvYXRSZWN0KHksIHgsIGhlaWdodCwgd2lkdGgpLCBG
bG9hdFNpemUocmFkaXVzWSwgcmFkaXVzWCkpOworICAgICAgICBleGNsdXNpb25TaGFwZS0+bV9i
b3VuZGluZ0JveCA9IEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCkBAIC0xMDYsNiArMTA3LDcgQEAgUGFzc093blB0cjxFeGNsdXNpb25TaGFw
ZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJhc2ljU2hhcGUK
ICAgICAgICAgZXhjbHVzaW9uU2hhcGUgPSBob3Jpem9udGFsV3JpdGluZ01vZGUKICAgICAgICAg
ICAgID8gY3JlYXRlRXhjbHVzaW9uQ2lyY2xlKEZsb2F0UG9pbnQoY2VudGVyWCwgY2VudGVyWSks
IHJhZGl1cykKICAgICAgICAgICAgIDogY3JlYXRlRXhjbHVzaW9uQ2lyY2xlKEZsb2F0UG9pbnQo
Y2VudGVyWSwgY2VudGVyWCksIHJhZGl1cyk7CisgICAgICAgIGV4Y2x1c2lvblNoYXBlLT5tX2Jv
dW5kaW5nQm94ID0gRmxvYXRSZWN0KGNlbnRlclggLSByYWRpdXMsIGNlbnRlclkgLSByYWRpdXMs
IHJhZGl1cyAqIDIsIHJhZGl1cyAqIDIpOwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEx
OSw2ICsxMjEsNyBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBFeGNsdXNpb25TaGFwZTo6
Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAgICAgICBleGNsdXNpb25T
aGFwZSA9IGhvcml6b250YWxXcml0aW5nTW9kZQogICAgICAgICAgICAgPyBjcmVhdGVFeGNsdXNp
b25FbGxpcHNlKEZsb2F0UG9pbnQoY2VudGVyWCwgY2VudGVyWSksIEZsb2F0U2l6ZShyYWRpdXNY
LCByYWRpdXNZKSkKICAgICAgICAgICAgIDogY3JlYXRlRXhjbHVzaW9uRWxsaXBzZShGbG9hdFBv
aW50KGNlbnRlclksIGNlbnRlclgpLCBGbG9hdFNpemUocmFkaXVzWSwgcmFkaXVzWCkpOworICAg
ICAgICBleGNsdXNpb25TaGFwZS0+bV9ib3VuZGluZ0JveCA9IEZsb2F0UmVjdChjZW50ZXJYIC0g
cmFkaXVzWCwgY2VudGVyWSAtIHJhZGl1c1ksIHJhZGl1c1ggKiAyLCByYWRpdXNZICogMik7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTI3LDE0ICsxMzAsMjAgQEAgUGFzc093blB0cjxF
eGNsdXNpb25TaGFwZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0
IEJhc2ljU2hhcGUKICAgICAgICAgY29uc3QgVmVjdG9yPExlbmd0aD4mIHZhbHVlcyA9IHBvbHln
b24tPnZhbHVlcygpOwogICAgICAgICBzaXplX3QgdmFsdWVzU2l6ZSA9IHZhbHVlcy5zaXplKCk7
CiAgICAgICAgIEFTU0VSVCghKHZhbHVlc1NpemUgJSAyKSk7CisgICAgICAgIEZsb2F0UmVjdCBi
b3VuZGluZ0JveDsKICAgICAgICAgVmVjdG9yPEZsb2F0UG9pbnQ+KiB2ZXJ0aWNlcyA9IG5ldyBW
ZWN0b3I8RmxvYXRQb2ludD4odmFsdWVzU2l6ZSAvIDIpOwogICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgdmFsdWVzU2l6ZTsgaSArPSAyKSB7CiAgICAgICAgICAgICBGbG9hdFBvaW50
IHZlcnRleCgKICAgICAgICAgICAgICAgICBmbG9hdFZhbHVlRm9yTGVuZ3RoKHZhbHVlcy5hdChp
KSwgYm94V2lkdGgpLAogICAgICAgICAgICAgICAgIGZsb2F0VmFsdWVGb3JMZW5ndGgodmFsdWVz
LmF0KGkgKyAxKSwgYm94SGVpZ2h0KSk7CiAgICAgICAgICAgICAoKnZlcnRpY2VzKVtpIC8gMl0g
PSBob3Jpem9udGFsV3JpdGluZ01vZGUgPyB2ZXJ0ZXggOiB2ZXJ0ZXgudHJhbnNwb3NlZFBvaW50
KCk7CisgICAgICAgICAgICBpZiAoIWkpCisgICAgICAgICAgICAgICAgYm91bmRpbmdCb3guc2V0
TG9jYXRpb24odmVydGV4KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBib3Vu
ZGluZ0JveC5leHRlbmQodmVydGV4KTsKICAgICAgICAgfQogICAgICAgICBleGNsdXNpb25TaGFw
ZSA9IGNyZWF0ZUV4Y2x1c2lvblBvbHlnb24oYWRvcHRQdHIodmVydGljZXMpLCBwb2x5Z29uLT53
aW5kUnVsZSgpKTsKKyAgICAgICAgZXhjbHVzaW9uU2hhcGUtPm1fYm91bmRpbmdCb3ggPSBib3Vu
ZGluZ0JveDsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9FeGNsdXNpb25TaGFwZS5oCmluZGV4IGJiMWVkYzYuLmE0MTY0NWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5oCkBAIC02NCw2ICs2NCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIH5FeGNsdXNpb25TaGFwZSgpIHsgfQogCiAgICAgdmlydHVhbCBGbG9hdFJl
Y3Qgc2hhcGVMb2dpY2FsQm91bmRpbmdCb3goKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBGbG9h
dFJlY3Qgc2hhcGVCb3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3g7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwg
ZmxvYXQgbG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGdldEV4Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2lj
YWxCb3R0b20sIFNlZ21lbnRMaXN0JikgY29uc3QgPSAwOwogCkBAIC03Niw2ICs3Nyw3IEBAIHBy
aXZhdGU6CiAgICAgV3JpdGluZ01vZGUgbV93cml0aW5nTW9kZTsKICAgICBmbG9hdCBtX2xvZ2lj
YWxCb3hXaWR0aDsKICAgICBmbG9hdCBtX2xvZ2ljYWxCb3hIZWlnaHQ7CisgICAgRmxvYXRSZWN0
IG1fYm91bmRpbmdCb3g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="182447"
          type_id="1"
          status="-"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169273</attachid>
            <date>2012-10-17 15:17:25 -0700</date>
            <delta_ts>2012-10-17 18:37:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>7963</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNjFiMjFlLi5kZDliNTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMTAtMTcgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTUyBFeGNsdXNpb25zXSBBZGQgRXhjbHVzaW9uU2hhcGU6OnNoYXBlQm91bmRpbmdCb3go
KSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk5MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYSBGbG9hdFJlY3Q6OmV4dGVuZCgpIG1ldGhvZCB3aGljaCBzaW1wbGlmaWVzIHdyaXRp
bmcgbG9vcHMgdGhhdAorICAgICAgICBhY2N1bXVsYXRlIHRoZSBib3VuZGluZyBib3ggZm9yIGEg
c2VxdWVuY2Ugb2YgRmxvYXRQb2ludHMuIFRoZSBuZXcgbWV0aG9kCisgICAgICAgIGlzIHVzZWQg
YnkgRXhjbHVzaW9uUG9seWdvbiB0byBpbml0aWFsaXplIHRoZSBzaGFwZSdzIGxvZ2ljYWwgYW5k
IHBoeXNpY2FsCisgICAgICAgIGJvdW5kaW5nIGJveGVzLiBUaGlzIGEgY2xlYW4tdXAsIG5vdCBh
IGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LiBJdCdzIGFscmVhZHkKKyAgICAgICAgY292ZXJlZCBi
eSB0aGUgZXhpc3RpbmcgZmFzdC9leGNsdXNpb25zIExheW91dFRlc3RzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZsb2F0
UmVjdDo6ZXh0ZW5kKTogRXh0ZW5kIHRoZSBGbG9hdFJlY3QncyBib3VuZHMgdG8gaW5jbHVkZSBh
IEZsb2F0UG9pbnQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFJlY3QuaDoKKyAgICAgICAgKEZsb2F0UmVjdCk6IEFkZGVkIGV4dGVuZCgpIG1l
dGhvZC4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFeGNsdXNpb25Qb2x5Z29uOjpFeGNsdXNpb25Qb2x5Z29uKTogVXNlIEZsb2F0
UmVjdDo6ZXh0ZW5kKCkgdG8gY29tcHV0ZSB0aGUgcG9seWdvbidzIGludGVybmFsIGJvdW5kaW5n
IGJveC4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKTogVXNlIEZsb2F0
UmVjdDo6ZXh0ZW5kKCkgdG8gY29tcHV0ZSB0aGUgcG9seWdvbidzIHBoeXNpY2FsIGJvdW5kaW5n
IGJveC4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkV4Y2x1c2lvblNoYXBlOjpzaGFwZUJvdW5kaW5nQm94KTogUmV0dXJuIHRoZSBzaGFw
ZSdzIGJvdW5kaW5nIGJveCBpbiBwaHlzaWNhbCBjb29yZGluYXRlcy4KKyAgICAgICAgKEV4Y2x1
c2lvblNoYXBlKToKKwogMjAxMi0xMC0xNyAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFl
bC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgcmVkdW5k
YW50IE9wZW5HTCBsaWJyYXJ5IGFkZGl0aW9uIGZyb20gdGhlIGJ1aWxkIHN5c3RlbS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3QuY3BwCmluZGV4IGYzMWM2
Y2MuLjdjZWQ5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxv
YXRSZWN0LmNwcApAQCAtMTM0LDYgKzEzNCwxNiBAQCB2b2lkIEZsb2F0UmVjdDo6dW5pdGVJZk5v
blplcm8oY29uc3QgRmxvYXRSZWN0JiBvdGhlcikKICAgICB1bml0ZUV2ZW5JZkVtcHR5KG90aGVy
KTsKIH0KIAordm9pZCBGbG9hdFJlY3Q6OmV4dGVuZChjb25zdCBGbG9hdFBvaW50JiBwKQorewor
ICAgIGZsb2F0IG1pblggPSBtaW4oeCgpLCBwLngoKSk7CisgICAgZmxvYXQgbWluWSA9IG1pbih5
KCksIHAueSgpKTsKKyAgICBmbG9hdCBtYXhYID0gbWF4KHRoaXMtPm1heFgoKSwgcC54KCkpOwor
ICAgIGZsb2F0IG1heFkgPSBtYXgodGhpcy0+bWF4WSgpLCBwLnkoKSk7CisKKyAgICBzZXRMb2Nh
dGlvbkFuZFNpemVGcm9tRWRnZXMobWluWCwgbWluWSwgbWF4WCwgbWF4WSk7Cit9CisKIHZvaWQg
RmxvYXRSZWN0OjpzY2FsZShmbG9hdCBzeCwgZmxvYXQgc3kpCiB7CiAgICAgbV9sb2NhdGlvbi5z
ZXRYKHgoKSAqIHN4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UmVjdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRS
ZWN0LmgKaW5kZXggMTYxZTI3OC4uOWUwOWFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCB1bml0ZShjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2b2lkIHVuaXRlRXZlbklmRW1wdHko
Y29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdm9pZCB1bml0ZUlmTm9uWmVybyhjb25zdCBGbG9hdFJl
Y3QmKTsKKyAgICB2b2lkIGV4dGVuZChjb25zdCBGbG9hdFBvaW50Jik7CiAKICAgICAvLyBOb3Rl
LCB0aGlzIGRvZXNuJ3QgbWF0Y2ggd2hhdCBJbnRSZWN0Ojpjb250YWlucyhJbnRQb2ludCYpIGRv
ZXM7IHRoZSBpbnQgdmVyc2lvbgogICAgIC8vIGlzIHJlYWxseSBjaGVja2luZyBmb3IgY29udGFp
bm1lbnQgb2YgMXgxIHJlY3QsIGJ1dCB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZSB3aXRoIGZsb2F0
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmNwcAppbmRl
eCBlNzA0YWJmLi45MGIzOTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RXhjbHVzaW9uUG9seWdvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblBvbHlnb24uY3BwCkBAIC02MywyMCArNjMsMTIgQEAgRXhjbHVzaW9uUG9seWdvbjo6RXhj
bHVzaW9uUG9seWdvbihQYXNzT3duUHRyPFZlY3RvcjxGbG9hdFBvaW50PiA+IHZlcnRpY2VzLCBX
aW4KICAgICBtX2VkZ2VzLnJlc2l6ZShuVmVydGljZXMpOwogICAgIFZlY3RvcjxFeGNsdXNpb25Q
b2x5Z29uRWRnZSo+IHNvcnRlZEVkZ2VzTWluWShuVmVydGljZXMpOwogCi0gICAgY29uc3QgRmxv
YXRQb2ludCYgdmVydGV4MCA9IHZlcnRleEF0KDApOwotICAgIGZsb2F0IG1pblggPSB2ZXJ0ZXgw
LngoKTsKLSAgICBmbG9hdCBtaW5ZID0gdmVydGV4MC55KCk7Ci0gICAgZmxvYXQgbWF4WCA9IG1p
blg7Ci0gICAgZmxvYXQgbWF4WSA9IG1pblk7CisgICAgaWYgKG5WZXJ0aWNlcykKKyAgICAgICAg
bV9ib3VuZGluZ0JveC5zZXRMb2NhdGlvbih2ZXJ0ZXhBdCgwKSk7CiAKICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgblZlcnRpY2VzOyBpKyspIHsKICAgICAgICAgY29uc3QgRmxvYXRQb2lu
dCYgdmVydGV4ID0gdmVydGV4QXQoaSk7Ci0KLSAgICAgICAgbWluWCA9IHN0ZDo6bWluKHZlcnRl
eC54KCksIG1pblgpOwotICAgICAgICBtYXhYID0gc3RkOjptYXgodmVydGV4LngoKSwgbWF4WCk7
Ci0gICAgICAgIG1pblkgPSBzdGQ6Om1pbih2ZXJ0ZXgueSgpLCBtaW5ZKTsKLSAgICAgICAgbWF4
WSA9IHN0ZDo6bWF4KHZlcnRleC55KCksIG1heFkpOwotCisgICAgICAgIG1fYm91bmRpbmdCb3gu
ZXh0ZW5kKHZlcnRleCk7CiAgICAgICAgIG1fZWRnZXNbaV0ucG9seWdvbiA9IHRoaXM7CiAgICAg
ICAgIG1fZWRnZXNbaV0uaW5kZXgxID0gaTsKICAgICAgICAgbV9lZGdlc1tpXS5pbmRleDIgPSAo
aSArIDEpICUgblZlcnRpY2VzOwpAQCAtODQsMTEgKzc2LDYgQEAgRXhjbHVzaW9uUG9seWdvbjo6
RXhjbHVzaW9uUG9seWdvbihQYXNzT3duUHRyPFZlY3RvcjxGbG9hdFBvaW50PiA+IHZlcnRpY2Vz
LCBXaW4KICAgICAgICAgc29ydGVkRWRnZXNNaW5ZW2ldID0gJm1fZWRnZXNbaV07CiAgICAgfQog
Ci0gICAgbV9ib3VuZGluZ0JveC5zZXRYKG1pblgpOwotICAgIG1fYm91bmRpbmdCb3guc2V0WSht
aW5ZKTsKLSAgICBtX2JvdW5kaW5nQm94LnNldFdpZHRoKG1heFggLSBtaW5YKTsKLSAgICBtX2Jv
dW5kaW5nQm94LnNldEhlaWdodChtYXhZIC0gbWluWSk7Ci0KICAgICBzdGQ6OnNvcnQoc29ydGVk
RWRnZXNNaW5ZLmJlZ2luKCksIHNvcnRlZEVkZ2VzTWluWS5lbmQoKSwgV2ViQ29yZTo6Y29tcGFy
ZUVkZ2VNaW5ZKTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2VkZ2VzLnNpemUo
KTsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
U2hhcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlLmNwcApp
bmRleCBjM2VjOGFjLi5iYzkzMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRXhjbHVzaW9uU2hhcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNs
dXNpb25TaGFwZS5jcHAKQEAgLTk0LDYgKzk0LDcgQEAgUGFzc093blB0cjxFeGNsdXNpb25TaGFw
ZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJhc2ljU2hhcGUK
ICAgICAgICAgZXhjbHVzaW9uU2hhcGUgPSBob3Jpem9udGFsV3JpdGluZ01vZGUKICAgICAgICAg
ICAgID8gY3JlYXRlRXhjbHVzaW9uUmVjdGFuZ2xlKEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVp
Z2h0KSwgRmxvYXRTaXplKHJhZGl1c1gsIHJhZGl1c1kpKQogICAgICAgICAgICAgOiBjcmVhdGVF
eGNsdXNpb25SZWN0YW5nbGUoRmxvYXRSZWN0KHksIHgsIGhlaWdodCwgd2lkdGgpLCBGbG9hdFNp
emUocmFkaXVzWSwgcmFkaXVzWCkpOworICAgICAgICBleGNsdXNpb25TaGFwZS0+bV9ib3VuZGlu
Z0JveCA9IEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCkBAIC0xMDYsNiArMTA3LDcgQEAgUGFzc093blB0cjxFeGNsdXNpb25TaGFwZT4gRXhj
bHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJhc2ljU2hhcGUKICAgICAg
ICAgZXhjbHVzaW9uU2hhcGUgPSBob3Jpem9udGFsV3JpdGluZ01vZGUKICAgICAgICAgICAgID8g
Y3JlYXRlRXhjbHVzaW9uQ2lyY2xlKEZsb2F0UG9pbnQoY2VudGVyWCwgY2VudGVyWSksIHJhZGl1
cykKICAgICAgICAgICAgIDogY3JlYXRlRXhjbHVzaW9uQ2lyY2xlKEZsb2F0UG9pbnQoY2VudGVy
WSwgY2VudGVyWCksIHJhZGl1cyk7CisgICAgICAgIGV4Y2x1c2lvblNoYXBlLT5tX2JvdW5kaW5n
Qm94ID0gRmxvYXRSZWN0KGNlbnRlclggLSByYWRpdXMsIGNlbnRlclkgLSByYWRpdXMsIHJhZGl1
cyAqIDIsIHJhZGl1cyAqIDIpOwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTExOSw2ICsx
MjEsNyBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBFeGNsdXNpb25TaGFwZTo6Y3JlYXRl
RXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAgICAgICBleGNsdXNpb25TaGFwZSA9
IGhvcml6b250YWxXcml0aW5nTW9kZQogICAgICAgICAgICAgPyBjcmVhdGVFeGNsdXNpb25FbGxp
cHNlKEZsb2F0UG9pbnQoY2VudGVyWCwgY2VudGVyWSksIEZsb2F0U2l6ZShyYWRpdXNYLCByYWRp
dXNZKSkKICAgICAgICAgICAgIDogY3JlYXRlRXhjbHVzaW9uRWxsaXBzZShGbG9hdFBvaW50KGNl
bnRlclksIGNlbnRlclgpLCBGbG9hdFNpemUocmFkaXVzWSwgcmFkaXVzWCkpOworICAgICAgICBl
eGNsdXNpb25TaGFwZS0+bV9ib3VuZGluZ0JveCA9IEZsb2F0UmVjdChjZW50ZXJYIC0gcmFkaXVz
WCwgY2VudGVyWSAtIHJhZGl1c1ksIHJhZGl1c1ggKiAyLCByYWRpdXNZICogMik7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KIApAQCAtMTI3LDE0ICsxMzAsMjAgQEAgUGFzc093blB0cjxFeGNsdXNp
b25TaGFwZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJhc2lj
U2hhcGUKICAgICAgICAgY29uc3QgVmVjdG9yPExlbmd0aD4mIHZhbHVlcyA9IHBvbHlnb24tPnZh
bHVlcygpOwogICAgICAgICBzaXplX3QgdmFsdWVzU2l6ZSA9IHZhbHVlcy5zaXplKCk7CiAgICAg
ICAgIEFTU0VSVCghKHZhbHVlc1NpemUgJSAyKSk7CisgICAgICAgIEZsb2F0UmVjdCBib3VuZGlu
Z0JveDsKICAgICAgICAgVmVjdG9yPEZsb2F0UG9pbnQ+KiB2ZXJ0aWNlcyA9IG5ldyBWZWN0b3I8
RmxvYXRQb2ludD4odmFsdWVzU2l6ZSAvIDIpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgdmFsdWVzU2l6ZTsgaSArPSAyKSB7CiAgICAgICAgICAgICBGbG9hdFBvaW50IHZlcnRl
eCgKICAgICAgICAgICAgICAgICBmbG9hdFZhbHVlRm9yTGVuZ3RoKHZhbHVlcy5hdChpKSwgYm94
V2lkdGgpLAogICAgICAgICAgICAgICAgIGZsb2F0VmFsdWVGb3JMZW5ndGgodmFsdWVzLmF0KGkg
KyAxKSwgYm94SGVpZ2h0KSk7CiAgICAgICAgICAgICAoKnZlcnRpY2VzKVtpIC8gMl0gPSBob3Jp
em9udGFsV3JpdGluZ01vZGUgPyB2ZXJ0ZXggOiB2ZXJ0ZXgudHJhbnNwb3NlZFBvaW50KCk7Cisg
ICAgICAgICAgICBpZiAoIWkpCisgICAgICAgICAgICAgICAgYm91bmRpbmdCb3guc2V0TG9jYXRp
b24odmVydGV4KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBib3VuZGluZ0Jv
eC5leHRlbmQodmVydGV4KTsKICAgICAgICAgfQogICAgICAgICBleGNsdXNpb25TaGFwZSA9IGNy
ZWF0ZUV4Y2x1c2lvblBvbHlnb24oYWRvcHRQdHIodmVydGljZXMpLCBwb2x5Z29uLT53aW5kUnVs
ZSgpKTsKKyAgICAgICAgZXhjbHVzaW9uU2hhcGUtPm1fYm91bmRpbmdCb3ggPSBib3VuZGluZ0Jv
eDsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNs
dXNpb25TaGFwZS5oCmluZGV4IGJiMWVkYzYuLmE0MTY0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9FeGNsdXNpb25TaGFwZS5oCkBAIC02NCw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIH5FeGNsdXNpb25TaGFwZSgpIHsgfQogCiAgICAgdmlydHVhbCBGbG9hdFJlY3Qgc2hh
cGVMb2dpY2FsQm91bmRpbmdCb3goKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBGbG9hdFJlY3Qg
c2hhcGVCb3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRpbmdCb3g7IH0KICAgICB2
aXJ0dWFsIHZvaWQgZ2V0SW5jbHVkZWRJbnRlcnZhbHMoZmxvYXQgbG9naWNhbFRvcCwgZmxvYXQg
bG9naWNhbEJvdHRvbSwgU2VnbWVudExpc3QmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGdldEV4Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxCb3R0
b20sIFNlZ21lbnRMaXN0JikgY29uc3QgPSAwOwogCkBAIC03Niw2ICs3Nyw3IEBAIHByaXZhdGU6
CiAgICAgV3JpdGluZ01vZGUgbV93cml0aW5nTW9kZTsKICAgICBmbG9hdCBtX2xvZ2ljYWxCb3hX
aWR0aDsKICAgICBmbG9hdCBtX2xvZ2ljYWxCb3hIZWlnaHQ7CisgICAgRmxvYXRSZWN0IG1fYm91
bmRpbmdCb3g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169321</attachid>
            <date>2012-10-17 18:37:31 -0700</date>
            <delta_ts>2012-10-18 10:16:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>9314</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NzI4YjNiLi40MmFhNWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMTAtMTcgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTUyBFeGNsdXNpb25zXSBBZGQgRXhjbHVzaW9uU2hhcGU6OnNoYXBlQm91bmRpbmdCb3go
KSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk5MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYSBGbG9hdFJlY3Q6OmV4dGVuZCgpIG1ldGhvZCB3aGljaCBzaW1wbGlmaWVzIHdyaXRp
bmcgbG9vcHMgdGhhdAorICAgICAgICBhY2N1bXVsYXRlIHRoZSBib3VuZGluZyBib3ggZm9yIGEg
c2VxdWVuY2Ugb2YgRmxvYXRQb2ludHMuIFRoZSBuZXcgbWV0aG9kCisgICAgICAgIGlzIHVzZWQg
YnkgRXhjbHVzaW9uUG9seWdvbiB0byBpbml0aWFsaXplIHRoZSBzaGFwZSdzIGxvZ2ljYWwgYW5k
IHBoeXNpY2FsCisgICAgICAgIGJvdW5kaW5nIGJveGVzLiBUaGlzIGEgY2xlYW4tdXAsIG5vdCBh
IGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LiBJdCdzIGFscmVhZHkKKyAgICAgICAgY292ZXJlZCBi
eSB0aGUgZXhpc3RpbmcgZmFzdC9leGNsdXNpb25zIExheW91dFRlc3RzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZsb2F0
UmVjdDo6ZXh0ZW5kKTogRXh0ZW5kIHRoZSBGbG9hdFJlY3QncyBib3VuZHMgdG8gaW5jbHVkZSBh
IEZsb2F0UG9pbnQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9GbG9hdFJlY3QuaDoKKyAgICAgICAgKEZsb2F0UmVjdCk6IEFkZGVkIGV4dGVuZCgpIG1l
dGhvZC4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFeGNsdXNpb25Qb2x5Z29uOjpFeGNsdXNpb25Qb2x5Z29uKTogVXNlIEZsb2F0
UmVjdDo6ZXh0ZW5kKCkgdG8gY29tcHV0ZSB0aGUgcG9seWdvbidzIGludGVybmFsIGJvdW5kaW5n
IGJveC4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKTogVXNlIEZsb2F0
UmVjdDo6ZXh0ZW5kKCkgdG8gY29tcHV0ZSB0aGUgcG9seWdvbidzIHBoeXNpY2FsIGJvdW5kaW5n
IGJveC4KKyAgICAgICAgKiByZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkV4Y2x1c2lvblNoYXBlOjpzaGFwZUJvdW5kaW5nQm94KTogUmV0dXJuIHRoZSBzaGFw
ZSdzIGJvdW5kaW5nIGJveCBpbiBwaHlzaWNhbCBjb29yZGluYXRlcy4KKyAgICAgICAgKEV4Y2x1
c2lvblNoYXBlKToKKwogMjAxMi0xMC0xNyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgQXR0ZW1wdCB0byBmaXggdGhlIGJ1aWxkIGFmdGVyIHIxMzE2ODAu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFJlY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmNwcAppbmRl
eCBmMzFjNmNjLi43Y2VkOTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9GbG9hdFJlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Zsb2F0UmVjdC5jcHAKQEAgLTEzNCw2ICsxMzQsMTYgQEAgdm9pZCBGbG9hdFJlY3Q6OnVu
aXRlSWZOb25aZXJvKGNvbnN0IEZsb2F0UmVjdCYgb3RoZXIpCiAgICAgdW5pdGVFdmVuSWZFbXB0
eShvdGhlcik7CiB9CiAKK3ZvaWQgRmxvYXRSZWN0OjpleHRlbmQoY29uc3QgRmxvYXRQb2ludCYg
cCkKK3sKKyAgICBmbG9hdCBtaW5YID0gbWluKHgoKSwgcC54KCkpOworICAgIGZsb2F0IG1pblkg
PSBtaW4oeSgpLCBwLnkoKSk7CisgICAgZmxvYXQgbWF4WCA9IG1heCh0aGlzLT5tYXhYKCksIHAu
eCgpKTsKKyAgICBmbG9hdCBtYXhZID0gbWF4KHRoaXMtPm1heFkoKSwgcC55KCkpOworCisgICAg
c2V0TG9jYXRpb25BbmRTaXplRnJvbUVkZ2VzKG1pblgsIG1pblksIG1heFgsIG1heFkpOworfQor
CiB2b2lkIEZsb2F0UmVjdDo6c2NhbGUoZmxvYXQgc3gsIGZsb2F0IHN5KQogewogICAgIG1fbG9j
YXRpb24uc2V0WCh4KCkgKiBzeCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9GbG9hdFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5oCmluZGV4IDE2MWUyNzguLjllMDlhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oCkBAIC0xNjQsNiArMTY0LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgdW5pdGUoY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdm9pZCB1bml0ZUV2ZW5J
ZkVtcHR5KGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgdW5pdGVJZk5vblplcm8oY29uc3Qg
RmxvYXRSZWN0Jik7CisgICAgdm9pZCBleHRlbmQoY29uc3QgRmxvYXRQb2ludCYpOwogCiAgICAg
Ly8gTm90ZSwgdGhpcyBkb2Vzbid0IG1hdGNoIHdoYXQgSW50UmVjdDo6Y29udGFpbnMoSW50UG9p
bnQmKSBkb2VzOyB0aGUgaW50IHZlcnNpb24KICAgICAvLyBpcyByZWFsbHkgY2hlY2tpbmcgZm9y
IGNvbnRhaW5tZW50IG9mIDF4MSByZWN0LCBidXQgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2Ugd2l0
aCBmbG9hdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
UG9seWdvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5j
cHAKaW5kZXggZTcwNGFiZi4uOTBiMzk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0V4Y2x1c2lvblBvbHlnb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9FeGNsdXNpb25Qb2x5Z29uLmNwcApAQCAtNjMsMjAgKzYzLDEyIEBAIEV4Y2x1c2lvblBvbHln
b246OkV4Y2x1c2lvblBvbHlnb24oUGFzc093blB0cjxWZWN0b3I8RmxvYXRQb2ludD4gPiB2ZXJ0
aWNlcywgV2luCiAgICAgbV9lZGdlcy5yZXNpemUoblZlcnRpY2VzKTsKICAgICBWZWN0b3I8RXhj
bHVzaW9uUG9seWdvbkVkZ2UqPiBzb3J0ZWRFZGdlc01pblkoblZlcnRpY2VzKTsKIAotICAgIGNv
bnN0IEZsb2F0UG9pbnQmIHZlcnRleDAgPSB2ZXJ0ZXhBdCgwKTsKLSAgICBmbG9hdCBtaW5YID0g
dmVydGV4MC54KCk7Ci0gICAgZmxvYXQgbWluWSA9IHZlcnRleDAueSgpOwotICAgIGZsb2F0IG1h
eFggPSBtaW5YOwotICAgIGZsb2F0IG1heFkgPSBtaW5ZOworICAgIGlmIChuVmVydGljZXMpCisg
ICAgICAgIG1fYm91bmRpbmdCb3guc2V0TG9jYXRpb24odmVydGV4QXQoMCkpOwogCiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG5WZXJ0aWNlczsgaSsrKSB7CiAgICAgICAgIGNvbnN0IEZs
b2F0UG9pbnQmIHZlcnRleCA9IHZlcnRleEF0KGkpOwotCi0gICAgICAgIG1pblggPSBzdGQ6Om1p
bih2ZXJ0ZXgueCgpLCBtaW5YKTsKLSAgICAgICAgbWF4WCA9IHN0ZDo6bWF4KHZlcnRleC54KCks
IG1heFgpOwotICAgICAgICBtaW5ZID0gc3RkOjptaW4odmVydGV4LnkoKSwgbWluWSk7Ci0gICAg
ICAgIG1heFkgPSBzdGQ6Om1heCh2ZXJ0ZXgueSgpLCBtYXhZKTsKLQorICAgICAgICBtX2JvdW5k
aW5nQm94LmV4dGVuZCh2ZXJ0ZXgpOwogICAgICAgICBtX2VkZ2VzW2ldLnBvbHlnb24gPSB0aGlz
OwogICAgICAgICBtX2VkZ2VzW2ldLmluZGV4MSA9IGk7CiAgICAgICAgIG1fZWRnZXNbaV0uaW5k
ZXgyID0gKGkgKyAxKSAlIG5WZXJ0aWNlczsKQEAgLTg0LDExICs3Niw2IEBAIEV4Y2x1c2lvblBv
bHlnb246OkV4Y2x1c2lvblBvbHlnb24oUGFzc093blB0cjxWZWN0b3I8RmxvYXRQb2ludD4gPiB2
ZXJ0aWNlcywgV2luCiAgICAgICAgIHNvcnRlZEVkZ2VzTWluWVtpXSA9ICZtX2VkZ2VzW2ldOwog
ICAgIH0KIAotICAgIG1fYm91bmRpbmdCb3guc2V0WChtaW5YKTsKLSAgICBtX2JvdW5kaW5nQm94
LnNldFkobWluWSk7Ci0gICAgbV9ib3VuZGluZ0JveC5zZXRXaWR0aChtYXhYIC0gbWluWCk7Ci0g
ICAgbV9ib3VuZGluZ0JveC5zZXRIZWlnaHQobWF4WSAtIG1pblkpOwotCiAgICAgc3RkOjpzb3J0
KHNvcnRlZEVkZ2VzTWluWS5iZWdpbigpLCBzb3J0ZWRFZGdlc01pblkuZW5kKCksIFdlYkNvcmU6
OmNvbXBhcmVFZGdlTWluWSk7CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9lZGdl
cy5zaXplKCk7IGkrKykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4
Y2x1c2lvblNoYXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFw
ZS5jcHAKaW5kZXggYzNlYzhhYy4uZjVkODViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvRXhjbHVzaW9uU2hhcGUuY3BwCkBAIC04MiwxOCArODIsMjEgQEAgUGFzc093blB0cjxFeGNs
dXNpb25TaGFwZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJh
c2ljU2hhcGUKIAogICAgIGNhc2UgQmFzaWNTaGFwZTo6QkFTSUNfU0hBUEVfUkVDVEFOR0xFOiB7
CiAgICAgICAgIGNvbnN0IEJhc2ljU2hhcGVSZWN0YW5nbGUqIHJlY3RhbmdsZSA9IHN0YXRpY19j
YXN0PGNvbnN0IEJhc2ljU2hhcGVSZWN0YW5nbGUqPihiYXNpY1NoYXBlKTsKLSAgICAgICAgZmxv
YXQgeCA9IGZsb2F0VmFsdWVGb3JMZW5ndGgocmVjdGFuZ2xlLT54KCksIGJveFdpZHRoKTsKLSAg
ICAgICAgZmxvYXQgeSA9IGZsb2F0VmFsdWVGb3JMZW5ndGgocmVjdGFuZ2xlLT55KCksIGJveEhl
aWdodCk7Ci0gICAgICAgIGZsb2F0IHdpZHRoID0gZmxvYXRWYWx1ZUZvckxlbmd0aChyZWN0YW5n
bGUtPndpZHRoKCksIGJveFdpZHRoKTsKLSAgICAgICAgZmxvYXQgaGVpZ2h0ID0gZmxvYXRWYWx1
ZUZvckxlbmd0aChyZWN0YW5nbGUtPmhlaWdodCgpLCBib3hIZWlnaHQpOworICAgICAgICBGbG9h
dFJlY3QgYm91bmRzKAorICAgICAgICAgICAgZmxvYXRWYWx1ZUZvckxlbmd0aChyZWN0YW5nbGUt
PngoKSwgYm94V2lkdGgpLAorICAgICAgICAgICAgZmxvYXRWYWx1ZUZvckxlbmd0aChyZWN0YW5n
bGUtPnkoKSwgYm94SGVpZ2h0KSwKKyAgICAgICAgICAgIGZsb2F0VmFsdWVGb3JMZW5ndGgocmVj
dGFuZ2xlLT53aWR0aCgpLCBib3hXaWR0aCksCisgICAgICAgICAgICBmbG9hdFZhbHVlRm9yTGVu
Z3RoKHJlY3RhbmdsZS0+aGVpZ2h0KCksIGJveEhlaWdodCkpOwogICAgICAgICBMZW5ndGggcmFk
aXVzWExlbmd0aCA9IHJlY3RhbmdsZS0+Y29ybmVyUmFkaXVzWCgpOwogICAgICAgICBMZW5ndGgg
cmFkaXVzWUxlbmd0aCA9IHJlY3RhbmdsZS0+Y29ybmVyUmFkaXVzWSgpOwotICAgICAgICBmbG9h
dCByYWRpdXNYID0gcmFkaXVzWExlbmd0aC5pc1VuZGVmaW5lZCgpID8gMCA6IGZsb2F0VmFsdWVG
b3JMZW5ndGgocmFkaXVzWExlbmd0aCwgYm94V2lkdGgpOwotICAgICAgICBmbG9hdCByYWRpdXNZ
ID0gcmFkaXVzWUxlbmd0aC5pc1VuZGVmaW5lZCgpID8gMCA6IGZsb2F0VmFsdWVGb3JMZW5ndGgo
cmFkaXVzWUxlbmd0aCwgYm94SGVpZ2h0KTsKKyAgICAgICAgRmxvYXRTaXplIGNvcm5lclJhZGlp
KAorICAgICAgICAgICAgcmFkaXVzWExlbmd0aC5pc1VuZGVmaW5lZCgpID8gMCA6IGZsb2F0VmFs
dWVGb3JMZW5ndGgocmFkaXVzWExlbmd0aCwgYm94V2lkdGgpLAorICAgICAgICAgICAgcmFkaXVz
WUxlbmd0aC5pc1VuZGVmaW5lZCgpID8gMCA6IGZsb2F0VmFsdWVGb3JMZW5ndGgocmFkaXVzWUxl
bmd0aCwgYm94SGVpZ2h0KSk7CiAKICAgICAgICAgZXhjbHVzaW9uU2hhcGUgPSBob3Jpem9udGFs
V3JpdGluZ01vZGUKLSAgICAgICAgICAgID8gY3JlYXRlRXhjbHVzaW9uUmVjdGFuZ2xlKEZsb2F0
UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KSwgRmxvYXRTaXplKHJhZGl1c1gsIHJhZGl1c1kpKQot
ICAgICAgICAgICAgOiBjcmVhdGVFeGNsdXNpb25SZWN0YW5nbGUoRmxvYXRSZWN0KHksIHgsIGhl
aWdodCwgd2lkdGgpLCBGbG9hdFNpemUocmFkaXVzWSwgcmFkaXVzWCkpOworICAgICAgICAgICAg
PyBjcmVhdGVFeGNsdXNpb25SZWN0YW5nbGUoYm91bmRzLCBjb3JuZXJSYWRpaSkKKyAgICAgICAg
ICAgIDogY3JlYXRlRXhjbHVzaW9uUmVjdGFuZ2xlKGJvdW5kcy50cmFuc3Bvc2VkUmVjdCgpLCBj
b3JuZXJSYWRpaS50cmFuc3Bvc2VkU2l6ZSgpKTsKKyAgICAgICAgZXhjbHVzaW9uU2hhcGUtPm1f
Ym91bmRpbmdCb3ggPSBib3VuZHM7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTA2LDYg
KzEwOSw3IEBAIFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGU+IEV4Y2x1c2lvblNoYXBlOjpjcmVh
dGVFeGNsdXNpb25TaGFwZShjb25zdCBCYXNpY1NoYXBlCiAgICAgICAgIGV4Y2x1c2lvblNoYXBl
ID0gaG9yaXpvbnRhbFdyaXRpbmdNb2RlCiAgICAgICAgICAgICA/IGNyZWF0ZUV4Y2x1c2lvbkNp
cmNsZShGbG9hdFBvaW50KGNlbnRlclgsIGNlbnRlclkpLCByYWRpdXMpCiAgICAgICAgICAgICA6
IGNyZWF0ZUV4Y2x1c2lvbkNpcmNsZShGbG9hdFBvaW50KGNlbnRlclksIGNlbnRlclgpLCByYWRp
dXMpOworICAgICAgICBleGNsdXNpb25TaGFwZS0+bV9ib3VuZGluZ0JveCA9IEZsb2F0UmVjdChj
ZW50ZXJYIC0gcmFkaXVzLCBjZW50ZXJZIC0gcmFkaXVzLCByYWRpdXMgKiAyLCByYWRpdXMgKiAy
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0xMTksNiArMTIzLDcgQEAgUGFzc093blB0
cjxFeGNsdXNpb25TaGFwZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNv
bnN0IEJhc2ljU2hhcGUKICAgICAgICAgZXhjbHVzaW9uU2hhcGUgPSBob3Jpem9udGFsV3JpdGlu
Z01vZGUKICAgICAgICAgICAgID8gY3JlYXRlRXhjbHVzaW9uRWxsaXBzZShGbG9hdFBvaW50KGNl
bnRlclgsIGNlbnRlclkpLCBGbG9hdFNpemUocmFkaXVzWCwgcmFkaXVzWSkpCiAgICAgICAgICAg
ICA6IGNyZWF0ZUV4Y2x1c2lvbkVsbGlwc2UoRmxvYXRQb2ludChjZW50ZXJZLCBjZW50ZXJYKSwg
RmxvYXRTaXplKHJhZGl1c1ksIHJhZGl1c1gpKTsKKyAgICAgICAgZXhjbHVzaW9uU2hhcGUtPm1f
Ym91bmRpbmdCb3ggPSBGbG9hdFJlY3QoY2VudGVyWCAtIHJhZGl1c1gsIGNlbnRlclkgLSByYWRp
dXNZLCByYWRpdXNYICogMiwgcmFkaXVzWSAqIDIpOwogICAgICAgICBicmVhazsKICAgICB9CiAK
QEAgLTEyNywxNCArMTMyLDIwIEBAIFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGU+IEV4Y2x1c2lv
blNoYXBlOjpjcmVhdGVFeGNsdXNpb25TaGFwZShjb25zdCBCYXNpY1NoYXBlCiAgICAgICAgIGNv
bnN0IFZlY3RvcjxMZW5ndGg+JiB2YWx1ZXMgPSBwb2x5Z29uLT52YWx1ZXMoKTsKICAgICAgICAg
c2l6ZV90IHZhbHVlc1NpemUgPSB2YWx1ZXMuc2l6ZSgpOwogICAgICAgICBBU1NFUlQoISh2YWx1
ZXNTaXplICUgMikpOworICAgICAgICBGbG9hdFJlY3QgYm91bmRpbmdCb3g7CiAgICAgICAgIFZl
Y3RvcjxGbG9hdFBvaW50PiogdmVydGljZXMgPSBuZXcgVmVjdG9yPEZsb2F0UG9pbnQ+KHZhbHVl
c1NpemUgLyAyKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlc1NpemU7
IGkgKz0gMikgewogICAgICAgICAgICAgRmxvYXRQb2ludCB2ZXJ0ZXgoCiAgICAgICAgICAgICAg
ICAgZmxvYXRWYWx1ZUZvckxlbmd0aCh2YWx1ZXMuYXQoaSksIGJveFdpZHRoKSwKICAgICAgICAg
ICAgICAgICBmbG9hdFZhbHVlRm9yTGVuZ3RoKHZhbHVlcy5hdChpICsgMSksIGJveEhlaWdodCkp
OwogICAgICAgICAgICAgKCp2ZXJ0aWNlcylbaSAvIDJdID0gaG9yaXpvbnRhbFdyaXRpbmdNb2Rl
ID8gdmVydGV4IDogdmVydGV4LnRyYW5zcG9zZWRQb2ludCgpOworICAgICAgICAgICAgaWYgKCFp
KQorICAgICAgICAgICAgICAgIGJvdW5kaW5nQm94LnNldExvY2F0aW9uKHZlcnRleCk7CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYm91bmRpbmdCb3guZXh0ZW5kKHZlcnRleCk7
CiAgICAgICAgIH0KICAgICAgICAgZXhjbHVzaW9uU2hhcGUgPSBjcmVhdGVFeGNsdXNpb25Qb2x5
Z29uKGFkb3B0UHRyKHZlcnRpY2VzKSwgcG9seWdvbi0+d2luZFJ1bGUoKSk7CisgICAgICAgIGV4
Y2x1c2lvblNoYXBlLT5tX2JvdW5kaW5nQm94ID0gYm91bmRpbmdCb3g7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lv
blNoYXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuaAppbmRl
eCBiYjFlZGM2Li5hNDE2NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
RXhjbHVzaW9uU2hhcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9u
U2hhcGUuaApAQCAtNjQsNiArNjQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RXhjbHVzaW9u
U2hhcGUoKSB7IH0KIAogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNoYXBlTG9naWNhbEJvdW5kaW5n
Qm94KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IHNoYXBlQm91bmRpbmdCb3go
KSBjb25zdCB7IHJldHVybiBtX2JvdW5kaW5nQm94OyB9CiAgICAgdmlydHVhbCB2b2lkIGdldElu
Y2x1ZGVkSW50ZXJ2YWxzKGZsb2F0IGxvZ2ljYWxUb3AsIGZsb2F0IGxvZ2ljYWxCb3R0b20sIFNl
Z21lbnRMaXN0JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXRFeGNsdWRlZEludGVy
dmFscyhmbG9hdCBsb2dpY2FsVG9wLCBmbG9hdCBsb2dpY2FsQm90dG9tLCBTZWdtZW50TGlzdCYp
IGNvbnN0ID0gMDsKIApAQCAtNzYsNiArNzcsNyBAQCBwcml2YXRlOgogICAgIFdyaXRpbmdNb2Rl
IG1fd3JpdGluZ01vZGU7CiAgICAgZmxvYXQgbV9sb2dpY2FsQm94V2lkdGg7CiAgICAgZmxvYXQg
bV9sb2dpY2FsQm94SGVpZ2h0OworICAgIEZsb2F0UmVjdCBtX2JvdW5kaW5nQm94OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>