<?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>47100</bug_id>
          
          <creation_ts>2010-10-04 11:40:26 -0700</creation_ts>
          <short_desc>Convert clearFloats() to be block-flow-aware.</short_desc>
          <delta_ts>2010-10-04 12:05:41 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>289027</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-04 11:40:26 -0700</bug_when>
    <thetext>Convert clearFloats() to be block-flow-aware.  Helpers that it calls have not been patched though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289028</commentid>
    <comment_count>1</comment_count>
      <attachid>69652</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-04 11:41:26 -0700</bug_when>
    <thetext>Created attachment 69652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289034</commentid>
    <comment_count>2</comment_count>
      <attachid>69652</attachid>
    <who name="">mitz</who>
    <bug_when>2010-10-04 11:44:25 -0700</bug_when>
    <thetext>Comment on attachment 69652
Patch

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

&gt; WebCore/rendering/RenderBlock.cpp:3687
&gt; +                    changeLogicalTop = max(changeLogicalTop, logicalBottom);

Typo?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289037</commentid>
    <comment_count>3</comment_count>
      <attachid>69655</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-04 11:47:48 -0700</bug_when>
    <thetext>Created attachment 69655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289043</commentid>
    <comment_count>4</comment_count>
      <attachid>69659</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-04 11:56:48 -0700</bug_when>
    <thetext>Created attachment 69659
I am fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289052</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-04 12:05:41 -0700</bug_when>
    <thetext>Fixed in r69025.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69652</attachid>
            <date>2010-10-04 11:41:26 -0700</date>
            <delta_ts>2010-10-04 11:47:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7007</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTAyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTAtMDQgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzEwMAorCisgICAgICAgIENvbnZl
cnQgY2xlYXJGbG9hdHMoKSB0byBiZSBibG9jay1mbG93LWF3YXJlLiAgSGVscGVycyB0aGF0IGl0
IGNhbGxzIGhhdmUgbm90IGJlZW4gcGF0Y2hlZCB0aG91Z2guCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNsZWFy
RmxvYXRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsVG9wRm9yRmxvYXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0Rm9yRmxvYXQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmxvZ2ljYWxXaWR0aEZvckZsb2F0KToKKwogMjAxMC0xMC0wMSAgVmljdG9y
aWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBS
b2JpbnNvbi4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDY5MDE5
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNjM0LDYgKzM2MzQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjbGVhckZsb2F0cygpCiAgICAg
Ly8gb3V0IG9mIGZsb3cgKGxpa2UgZmxvYXRpbmcvcG9zaXRpb25lZCBlbGVtZW50cyksIGFuZCB3
ZSBhbHNvIHNraXAgb3ZlciBhbnkgb2JqZWN0cyB0aGF0IG1heSBoYXZlIHNoaWZ0ZWQKICAgICAv
LyB0byBhdm9pZCBmbG9hdHMuCiAgICAgYm9vbCBwYXJlbnRIYXNGbG9hdHMgPSBmYWxzZTsKKyAg
ICBSZW5kZXJCbG9jayogcGFyZW50QmxvY2sgPSB0b1JlbmRlckJsb2NrKHBhcmVudCgpKTsKICAg
ICBSZW5kZXJPYmplY3QqIHByZXYgPSBwcmV2aW91c1NpYmxpbmcoKTsKICAgICB3aGlsZSAocHJl
diAmJiAocHJldi0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpIHx8ICFwcmV2LT5pc0JveCgpIHx8
ICFwcmV2LT5pc1JlbmRlckJsb2NrKCkgfHwgdG9SZW5kZXJCbG9jayhwcmV2KS0+YXZvaWRzRmxv
YXRzKCkpKSB7CiAgICAgICAgIGlmIChwcmV2LT5pc0Zsb2F0aW5nKCkpCkBAIC0zNjQyLDE4ICsz
NjQzLDE2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNsZWFyRmxvYXRzKCkKICAgICB9CiAKICAgICAv
LyBGaXJzdCBhZGQgaW4gZmxvYXRzIGZyb20gdGhlIHBhcmVudC4KLSAgICBpbnQgb2Zmc2V0ID0g
eSgpOwotICAgIGlmIChwYXJlbnRIYXNGbG9hdHMpIHsKLSAgICAgICAgUmVuZGVyQmxvY2sqIHBh
cmVudEJsb2NrID0gdG9SZW5kZXJCbG9jayhwYXJlbnQoKSk7Ci0gICAgICAgIGFkZEludHJ1ZGlu
Z0Zsb2F0cyhwYXJlbnRCbG9jaywgcGFyZW50QmxvY2stPmJvcmRlckxlZnQoKSArIHBhcmVudEJs
b2NrLT5wYWRkaW5nTGVmdCgpLCBvZmZzZXQpOwotICAgIH0KKyAgICBpbnQgbG9naWNhbFRvcE9m
ZnNldCA9IGxvZ2ljYWxUb3AoKTsKKyAgICBpZiAocGFyZW50SGFzRmxvYXRzKQorICAgICAgICBh
ZGRJbnRydWRpbmdGbG9hdHMocGFyZW50QmxvY2ssIHBhcmVudEJsb2NrLT5sb2dpY2FsTGVmdE9m
ZnNldEZvckNvbnRlbnQoKSwgbG9naWNhbFRvcE9mZnNldCk7CiAgICAgCi0gICAgaW50IHhvZmZz
ZXQgPSAwOworICAgIGludCBsb2dpY2FsTGVmdE9mZnNldCA9IDA7CiAgICAgaWYgKHByZXYpCi0g
ICAgICAgIG9mZnNldCAtPSB0b1JlbmRlckJveChwcmV2KS0+eSgpOwotICAgIGVsc2UgaWYgKHBh
cmVudCgpLT5pc0JveCgpKSB7Ci0gICAgICAgIHByZXYgPSBwYXJlbnQoKTsKLSAgICAgICAgeG9m
ZnNldCArPSB0b1JlbmRlckJveChwcmV2KS0+Ym9yZGVyTGVmdCgpICsgdG9SZW5kZXJCb3gocHJl
diktPnBhZGRpbmdMZWZ0KCk7CisgICAgICAgIGxvZ2ljYWxUb3BPZmZzZXQgLT0gdG9SZW5kZXJC
b3gocHJldiktPmxvZ2ljYWxUb3AoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgcHJldiA9IHBhcmVu
dEJsb2NrOworICAgICAgICBsb2dpY2FsTGVmdE9mZnNldCArPSBwYXJlbnRCbG9jay0+bG9naWNh
bExlZnRPZmZzZXRGb3JDb250ZW50KCk7CiAgICAgfQogCiAgICAgLy8gQWRkIG92ZXJoYW5naW5n
IGZsb2F0cyBmcm9tIHRoZSBwcmV2aW91cyBSZW5kZXJCbG9jaywgYnV0IG9ubHkgaWYgaXQgaGFz
IGEgZmxvYXQgdGhhdCBpbnRydWRlcyBpbnRvIG91ciBzcGFjZS4KQEAgLTM2NjEsMjkgKzM2NjAs
MzEgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y2xlYXJGbG9hdHMoKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgUmVuZGVyQmxvY2sqIGJsb2NrID0gdG9SZW5kZXJCbG9jayhwcmV2KTsKLSAgICBp
ZiAoYmxvY2stPm1fZmxvYXRpbmdPYmplY3RzICYmIGJsb2NrLT5sb3dlc3RGbG9hdExvZ2ljYWxC
b3R0b20oKSA+IG9mZnNldCkKLSAgICAgICAgYWRkSW50cnVkaW5nRmxvYXRzKGJsb2NrLCB4b2Zm
c2V0LCBvZmZzZXQpOworICAgIGlmIChibG9jay0+bV9mbG9hdGluZ09iamVjdHMgJiYgYmxvY2st
Pmxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbSgpID4gbG9naWNhbFRvcE9mZnNldCkKKyAgICAgICAg
YWRkSW50cnVkaW5nRmxvYXRzKGJsb2NrLCBsb2dpY2FsTGVmdE9mZnNldCwgbG9naWNhbFRvcE9m
ZnNldCk7CiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewotICAgICAgICBpbnQgY2hhbmdl
VG9wID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7Ci0gICAgICAgIGludCBjaGFuZ2VCb3R0
b20gPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKKyAgICAgICAgaW50IGNoYW5nZUxvZ2lj
YWxUb3AgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKKyAgICAgICAgaW50IGNoYW5nZUxv
Z2ljYWxCb3R0b20gPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICAgICAgaWYgKG1f
ZmxvYXRpbmdPYmplY3RzKSB7CiAgICAgICAgICAgICBmb3IgKEZsb2F0aW5nT2JqZWN0KiBmID0g
bV9mbG9hdGluZ09iamVjdHMtPmZpcnN0KCk7IGY7IGYgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+bmV4
dCgpKSB7CiAgICAgICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIG9sZEZsb2F0aW5nT2JqZWN0
ID0gZmxvYXRNYXAuZ2V0KGYtPm1fcmVuZGVyZXIpOworICAgICAgICAgICAgICAgIGludCBsb2dp
Y2FsQm90dG9tID0gbG9naWNhbEJvdHRvbUZvckZsb2F0KGYpOwogICAgICAgICAgICAgICAgIGlm
IChvbGRGbG9hdGluZ09iamVjdCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZi0+d2lkdGgo
KSAhPSBvbGRGbG9hdGluZ09iamVjdC0+d2lkdGgoKSB8fCBmLT5sZWZ0KCkgIT0gb2xkRmxvYXRp
bmdPYmplY3QtPmxlZnQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG9wID0g
MDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUJvdHRvbSA9IG1heChjaGFuZ2VCb3R0
b20sIG1heChmLT5ib3R0b20oKSwgb2xkRmxvYXRpbmdPYmplY3QtPmJvdHRvbSgpKSk7Ci0gICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi0+Ym90dG9tKCkgIT0gb2xkRmxvYXRpbmdPYmpl
Y3QtPmJvdHRvbSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VUb3AgPSBtaW4o
Y2hhbmdlVG9wLCBtaW4oZi0+Ym90dG9tKCksIG9sZEZsb2F0aW5nT2JqZWN0LT5ib3R0b20oKSkp
OwotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4KGNoYW5nZUJvdHRv
bSwgbWF4KGYtPmJvdHRvbSgpLCBvbGRGbG9hdGluZ09iamVjdC0+Ym90dG9tKCkpKTsKKyAgICAg
ICAgICAgICAgICAgICAgaW50IG9sZExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsQm90dG9tRm9yRmxv
YXQob2xkRmxvYXRpbmdPYmplY3QpOworICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFdp
ZHRoRm9yRmxvYXQoZikgIT0gbG9naWNhbFdpZHRoRm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3Qp
IHx8IGxvZ2ljYWxMZWZ0Rm9yRmxvYXQoZikgIT0gbG9naWNhbExlZnRGb3JGbG9hdChvbGRGbG9h
dGluZ09iamVjdCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxUb3Ag
PSAwOworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IG1heChjaGFu
Z2VMb2dpY2FsVG9wLCBtYXgobG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOworICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxvZ2ljYWxCb3R0b20gIT0gb2xkTG9naWNhbEJv
dHRvbSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IG1pbihj
aGFuZ2VMb2dpY2FsVG9wLCBtaW4obG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IG1heChjaGFuZ2VMb2dp
Y2FsVG9wLCBtYXgobG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOwogICAgICAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgZmxvYXRNYXAucmVtb3ZlKGYtPm1f
cmVuZGVyZXIpOwogICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2xkRmxvYXRpbmdPYmplY3Q7
CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG9w
ID0gMDsKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4KGNoYW5nZUJvdHRv
bSwgZi0+Ym90dG9tKCkpOworICAgICAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsVG9wID0g
MDsKKyAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IG1heChjaGFuZ2VMb2dp
Y2FsVG9wLCBsb2dpY2FsQm90dG9tKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KQEAgLTM2OTIsMTMgKzM2OTMsMTMgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y2xl
YXJGbG9hdHMoKQogICAgICAgICBmb3IgKFJlbmRlcmVyVG9GbG9hdEluZm9NYXA6Oml0ZXJhdG9y
IGl0ID0gZmxvYXRNYXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgICAgICBG
bG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSAoKml0KS5zZWNvbmQ7CiAgICAgICAgICAg
ICBpZiAoIWZsb2F0aW5nT2JqZWN0LT5tX2lzRGVzY2VuZGFudCkgewotICAgICAgICAgICAgICAg
IGNoYW5nZVRvcCA9IDA7Ci0gICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4KGNoYW5n
ZUJvdHRvbSwgZmxvYXRpbmdPYmplY3QtPmJvdHRvbSgpKTsKKyAgICAgICAgICAgICAgICBjaGFu
Z2VMb2dpY2FsVG9wID0gMDsKKyAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsQm90dG9tID0g
bWF4KGNoYW5nZUxvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9hdGluZ09i
amVjdCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGRlbGV0ZUFsbFZhbHVl
cyhmbG9hdE1hcCk7CiAKLSAgICAgICAgbWFya0xpbmVzRGlydHlJblZlcnRpY2FsUmFuZ2UoY2hh
bmdlVG9wLCBjaGFuZ2VCb3R0b20pOworICAgICAgICBtYXJrTGluZXNEaXJ0eUluVmVydGljYWxS
YW5nZShjaGFuZ2VMb2dpY2FsVG9wLCBjaGFuZ2VMb2dpY2FsQm90dG9tKTsKICAgICB9CiB9CiAK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNjkwMTkpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOTcsNyArMzk3LDEw
IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9pc0Rlc2NlbmRhbnQgOiAxOwogICAgIH07CiAK
KyAgICBpbnQgbG9naWNhbFRvcEZvckZsb2F0KEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS0+aXNWZXJ0aWNhbEJsb2NrRmxvdygpID8gY2hpbGQtPnRvcCgpIDog
Y2hpbGQtPmxlZnQoKTsgfQogICAgIGludCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoRmxvYXRpbmdP
YmplY3QqIGNoaWxkKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc1ZlcnRpY2FsQmxvY2tGbG93
KCkgPyBjaGlsZC0+Ym90dG9tKCkgOiBjaGlsZC0+cmlnaHQoKTsgfQorICAgIGludCBsb2dpY2Fs
TGVmdEZvckZsb2F0KEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29uc3QgeyByZXR1cm4gc3R5bGUo
KS0+aXNWZXJ0aWNhbEJsb2NrRmxvdygpID8gY2hpbGQtPmxlZnQoKSA6IGNoaWxkLT50b3AoKTsg
fQorICAgIGludCBsb2dpY2FsV2lkdGhGb3JGbG9hdChGbG9hdGluZ09iamVjdCogY2hpbGQpIGNv
bnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzVmVydGljYWxCbG9ja0Zsb3coKSA/IGNoaWxkLT53aWR0
aCgpIDogY2hpbGQtPmhlaWdodCgpOyB9CiAgICAgCiAgICAgLy8gVGhlIGZvbGxvd2luZyBmdW5j
dGlvbnMnIGltcGxlbWVudGF0aW9ucyBhcmUgaW4gUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcC4K
ICAgICBSb290SW5saW5lQm94KiBkZXRlcm1pbmVTdGFydFBvc2l0aW9uKGJvb2wmIGZpcnN0TGlu
ZSwgYm9vbCYgZnVsbExheW91dCwgYm9vbCYgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69655</attachid>
            <date>2010-10-04 11:47:48 -0700</date>
            <delta_ts>2010-10-04 11:56:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7013</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTAyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTAtMDQgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzEwMAorCisgICAgICAgIENvbnZl
cnQgY2xlYXJGbG9hdHMoKSB0byBiZSBibG9jay1mbG93LWF3YXJlLiAgSGVscGVycyB0aGF0IGl0
IGNhbGxzIGhhdmUgbm90IGJlZW4gcGF0Y2hlZCB0aG91Z2guCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNsZWFy
RmxvYXRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsVG9wRm9yRmxvYXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0Rm9yRmxvYXQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmxvZ2ljYWxXaWR0aEZvckZsb2F0KToKKwogMjAxMC0xMC0wMSAgVmljdG9y
aWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBS
b2JpbnNvbi4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDY5MDE5
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNjM0LDYgKzM2MzQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjbGVhckZsb2F0cygpCiAgICAg
Ly8gb3V0IG9mIGZsb3cgKGxpa2UgZmxvYXRpbmcvcG9zaXRpb25lZCBlbGVtZW50cyksIGFuZCB3
ZSBhbHNvIHNraXAgb3ZlciBhbnkgb2JqZWN0cyB0aGF0IG1heSBoYXZlIHNoaWZ0ZWQKICAgICAv
LyB0byBhdm9pZCBmbG9hdHMuCiAgICAgYm9vbCBwYXJlbnRIYXNGbG9hdHMgPSBmYWxzZTsKKyAg
ICBSZW5kZXJCbG9jayogcGFyZW50QmxvY2sgPSB0b1JlbmRlckJsb2NrKHBhcmVudCgpKTsKICAg
ICBSZW5kZXJPYmplY3QqIHByZXYgPSBwcmV2aW91c1NpYmxpbmcoKTsKICAgICB3aGlsZSAocHJl
diAmJiAocHJldi0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpIHx8ICFwcmV2LT5pc0JveCgpIHx8
ICFwcmV2LT5pc1JlbmRlckJsb2NrKCkgfHwgdG9SZW5kZXJCbG9jayhwcmV2KS0+YXZvaWRzRmxv
YXRzKCkpKSB7CiAgICAgICAgIGlmIChwcmV2LT5pc0Zsb2F0aW5nKCkpCkBAIC0zNjQyLDE4ICsz
NjQzLDE2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNsZWFyRmxvYXRzKCkKICAgICB9CiAKICAgICAv
LyBGaXJzdCBhZGQgaW4gZmxvYXRzIGZyb20gdGhlIHBhcmVudC4KLSAgICBpbnQgb2Zmc2V0ID0g
eSgpOwotICAgIGlmIChwYXJlbnRIYXNGbG9hdHMpIHsKLSAgICAgICAgUmVuZGVyQmxvY2sqIHBh
cmVudEJsb2NrID0gdG9SZW5kZXJCbG9jayhwYXJlbnQoKSk7Ci0gICAgICAgIGFkZEludHJ1ZGlu
Z0Zsb2F0cyhwYXJlbnRCbG9jaywgcGFyZW50QmxvY2stPmJvcmRlckxlZnQoKSArIHBhcmVudEJs
b2NrLT5wYWRkaW5nTGVmdCgpLCBvZmZzZXQpOwotICAgIH0KKyAgICBpbnQgbG9naWNhbFRvcE9m
ZnNldCA9IGxvZ2ljYWxUb3AoKTsKKyAgICBpZiAocGFyZW50SGFzRmxvYXRzKQorICAgICAgICBh
ZGRJbnRydWRpbmdGbG9hdHMocGFyZW50QmxvY2ssIHBhcmVudEJsb2NrLT5sb2dpY2FsTGVmdE9m
ZnNldEZvckNvbnRlbnQoKSwgbG9naWNhbFRvcE9mZnNldCk7CiAgICAgCi0gICAgaW50IHhvZmZz
ZXQgPSAwOworICAgIGludCBsb2dpY2FsTGVmdE9mZnNldCA9IDA7CiAgICAgaWYgKHByZXYpCi0g
ICAgICAgIG9mZnNldCAtPSB0b1JlbmRlckJveChwcmV2KS0+eSgpOwotICAgIGVsc2UgaWYgKHBh
cmVudCgpLT5pc0JveCgpKSB7Ci0gICAgICAgIHByZXYgPSBwYXJlbnQoKTsKLSAgICAgICAgeG9m
ZnNldCArPSB0b1JlbmRlckJveChwcmV2KS0+Ym9yZGVyTGVmdCgpICsgdG9SZW5kZXJCb3gocHJl
diktPnBhZGRpbmdMZWZ0KCk7CisgICAgICAgIGxvZ2ljYWxUb3BPZmZzZXQgLT0gdG9SZW5kZXJC
b3gocHJldiktPmxvZ2ljYWxUb3AoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgcHJldiA9IHBhcmVu
dEJsb2NrOworICAgICAgICBsb2dpY2FsTGVmdE9mZnNldCArPSBwYXJlbnRCbG9jay0+bG9naWNh
bExlZnRPZmZzZXRGb3JDb250ZW50KCk7CiAgICAgfQogCiAgICAgLy8gQWRkIG92ZXJoYW5naW5n
IGZsb2F0cyBmcm9tIHRoZSBwcmV2aW91cyBSZW5kZXJCbG9jaywgYnV0IG9ubHkgaWYgaXQgaGFz
IGEgZmxvYXQgdGhhdCBpbnRydWRlcyBpbnRvIG91ciBzcGFjZS4KQEAgLTM2NjEsMjkgKzM2NjAs
MzEgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y2xlYXJGbG9hdHMoKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgUmVuZGVyQmxvY2sqIGJsb2NrID0gdG9SZW5kZXJCbG9jayhwcmV2KTsKLSAgICBp
ZiAoYmxvY2stPm1fZmxvYXRpbmdPYmplY3RzICYmIGJsb2NrLT5sb3dlc3RGbG9hdExvZ2ljYWxC
b3R0b20oKSA+IG9mZnNldCkKLSAgICAgICAgYWRkSW50cnVkaW5nRmxvYXRzKGJsb2NrLCB4b2Zm
c2V0LCBvZmZzZXQpOworICAgIGlmIChibG9jay0+bV9mbG9hdGluZ09iamVjdHMgJiYgYmxvY2st
Pmxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbSgpID4gbG9naWNhbFRvcE9mZnNldCkKKyAgICAgICAg
YWRkSW50cnVkaW5nRmxvYXRzKGJsb2NrLCBsb2dpY2FsTGVmdE9mZnNldCwgbG9naWNhbFRvcE9m
ZnNldCk7CiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewotICAgICAgICBpbnQgY2hhbmdl
VG9wID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7Ci0gICAgICAgIGludCBjaGFuZ2VCb3R0
b20gPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKKyAgICAgICAgaW50IGNoYW5nZUxvZ2lj
YWxUb3AgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKKyAgICAgICAgaW50IGNoYW5nZUxv
Z2ljYWxCb3R0b20gPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICAgICAgaWYgKG1f
ZmxvYXRpbmdPYmplY3RzKSB7CiAgICAgICAgICAgICBmb3IgKEZsb2F0aW5nT2JqZWN0KiBmID0g
bV9mbG9hdGluZ09iamVjdHMtPmZpcnN0KCk7IGY7IGYgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+bmV4
dCgpKSB7CiAgICAgICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIG9sZEZsb2F0aW5nT2JqZWN0
ID0gZmxvYXRNYXAuZ2V0KGYtPm1fcmVuZGVyZXIpOworICAgICAgICAgICAgICAgIGludCBsb2dp
Y2FsQm90dG9tID0gbG9naWNhbEJvdHRvbUZvckZsb2F0KGYpOwogICAgICAgICAgICAgICAgIGlm
IChvbGRGbG9hdGluZ09iamVjdCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZi0+d2lkdGgo
KSAhPSBvbGRGbG9hdGluZ09iamVjdC0+d2lkdGgoKSB8fCBmLT5sZWZ0KCkgIT0gb2xkRmxvYXRp
bmdPYmplY3QtPmxlZnQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG9wID0g
MDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUJvdHRvbSA9IG1heChjaGFuZ2VCb3R0
b20sIG1heChmLT5ib3R0b20oKSwgb2xkRmxvYXRpbmdPYmplY3QtPmJvdHRvbSgpKSk7Ci0gICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi0+Ym90dG9tKCkgIT0gb2xkRmxvYXRpbmdPYmpl
Y3QtPmJvdHRvbSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VUb3AgPSBtaW4o
Y2hhbmdlVG9wLCBtaW4oZi0+Ym90dG9tKCksIG9sZEZsb2F0aW5nT2JqZWN0LT5ib3R0b20oKSkp
OwotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4KGNoYW5nZUJvdHRv
bSwgbWF4KGYtPmJvdHRvbSgpLCBvbGRGbG9hdGluZ09iamVjdC0+Ym90dG9tKCkpKTsKKyAgICAg
ICAgICAgICAgICAgICAgaW50IG9sZExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsQm90dG9tRm9yRmxv
YXQob2xkRmxvYXRpbmdPYmplY3QpOworICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFdp
ZHRoRm9yRmxvYXQoZikgIT0gbG9naWNhbFdpZHRoRm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3Qp
IHx8IGxvZ2ljYWxMZWZ0Rm9yRmxvYXQoZikgIT0gbG9naWNhbExlZnRGb3JGbG9hdChvbGRGbG9h
dGluZ09iamVjdCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxUb3Ag
PSAwOworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IG1heChjaGFu
Z2VMb2dpY2FsVG9wLCBtYXgobG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOworICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxvZ2ljYWxCb3R0b20gIT0gb2xkTG9naWNhbEJv
dHRvbSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IG1pbihj
aGFuZ2VMb2dpY2FsVG9wLCBtaW4obG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9IG1heChjaGFuZ2VMb2dp
Y2FsVG9wLCBtYXgobG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkpOwogICAgICAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgZmxvYXRNYXAucmVtb3ZlKGYtPm1f
cmVuZGVyZXIpOwogICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2xkRmxvYXRpbmdPYmplY3Q7
CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG9w
ID0gMDsKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4KGNoYW5nZUJvdHRv
bSwgZi0+Ym90dG9tKCkpOworICAgICAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsVG9wID0g
MDsKKyAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbEJvdHRvbSA9IG1heChjaGFuZ2VM
b2dpY2FsQm90dG9tLCBsb2dpY2FsQm90dG9tKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KQEAgLTM2OTIsMTMgKzM2OTMsMTMgQEAgdm9pZCBSZW5kZXJCbG9j
azo6Y2xlYXJGbG9hdHMoKQogICAgICAgICBmb3IgKFJlbmRlcmVyVG9GbG9hdEluZm9NYXA6Oml0
ZXJhdG9yIGl0ID0gZmxvYXRNYXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAg
ICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSAoKml0KS5zZWNvbmQ7CiAgICAg
ICAgICAgICBpZiAoIWZsb2F0aW5nT2JqZWN0LT5tX2lzRGVzY2VuZGFudCkgewotICAgICAgICAg
ICAgICAgIGNoYW5nZVRvcCA9IDA7Ci0gICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4
KGNoYW5nZUJvdHRvbSwgZmxvYXRpbmdPYmplY3QtPmJvdHRvbSgpKTsKKyAgICAgICAgICAgICAg
ICBjaGFuZ2VMb2dpY2FsVG9wID0gMDsKKyAgICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsQm90
dG9tID0gbWF4KGNoYW5nZUxvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b21Gb3JGbG9hdChmbG9h
dGluZ09iamVjdCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGRlbGV0ZUFs
bFZhbHVlcyhmbG9hdE1hcCk7CiAKLSAgICAgICAgbWFya0xpbmVzRGlydHlJblZlcnRpY2FsUmFu
Z2UoY2hhbmdlVG9wLCBjaGFuZ2VCb3R0b20pOworICAgICAgICBtYXJrTGluZXNEaXJ0eUluVmVy
dGljYWxSYW5nZShjaGFuZ2VMb2dpY2FsVG9wLCBjaGFuZ2VMb2dpY2FsQm90dG9tKTsKICAgICB9
CiB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNjkwMTkpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOTcsNyAr
Mzk3LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9pc0Rlc2NlbmRhbnQgOiAxOwogICAg
IH07CiAKKyAgICBpbnQgbG9naWNhbFRvcEZvckZsb2F0KEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkg
Y29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNWZXJ0aWNhbEJsb2NrRmxvdygpID8gY2hpbGQtPnRv
cCgpIDogY2hpbGQtPmxlZnQoKTsgfQogICAgIGludCBsb2dpY2FsQm90dG9tRm9yRmxvYXQoRmxv
YXRpbmdPYmplY3QqIGNoaWxkKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5pc1ZlcnRpY2FsQmxv
Y2tGbG93KCkgPyBjaGlsZC0+Ym90dG9tKCkgOiBjaGlsZC0+cmlnaHQoKTsgfQorICAgIGludCBs
b2dpY2FsTGVmdEZvckZsb2F0KEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29uc3QgeyByZXR1cm4g
c3R5bGUoKS0+aXNWZXJ0aWNhbEJsb2NrRmxvdygpID8gY2hpbGQtPmxlZnQoKSA6IGNoaWxkLT50
b3AoKTsgfQorICAgIGludCBsb2dpY2FsV2lkdGhGb3JGbG9hdChGbG9hdGluZ09iamVjdCogY2hp
bGQpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzVmVydGljYWxCbG9ja0Zsb3coKSA/IGNoaWxk
LT53aWR0aCgpIDogY2hpbGQtPmhlaWdodCgpOyB9CiAgICAgCiAgICAgLy8gVGhlIGZvbGxvd2lu
ZyBmdW5jdGlvbnMnIGltcGxlbWVudGF0aW9ucyBhcmUgaW4gUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcC4KICAgICBSb290SW5saW5lQm94KiBkZXRlcm1pbmVTdGFydFBvc2l0aW9uKGJvb2wmIGZp
cnN0TGluZSwgYm9vbCYgZnVsbExheW91dCwgYm9vbCYgcHJldmlvdXNMaW5lQnJva2VDbGVhbmx5
LAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69659</attachid>
            <date>2010-10-04 11:56:48 -0700</date>
            <delta_ts>2010-10-04 12:02:59 -0700</delta_ts>
            <desc>I am fail.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7025</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTAyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTAtMDQgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzEwMAorCisgICAgICAgIENvbnZl
cnQgY2xlYXJGbG9hdHMoKSB0byBiZSBibG9jay1mbG93LWF3YXJlLiAgSGVscGVycyB0aGF0IGl0
IGNhbGxzIGhhdmUgbm90IGJlZW4gcGF0Y2hlZCB0aG91Z2guCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNsZWFy
RmxvYXRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsVG9wRm9yRmxvYXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0Rm9yRmxvYXQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmxvZ2ljYWxXaWR0aEZvckZsb2F0KToKKwogMjAxMC0xMC0wMSAgVmljdG9y
aWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBS
b2JpbnNvbi4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDY5MDE5
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNjM0LDYgKzM2MzQsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpjbGVhckZsb2F0cygpCiAgICAg
Ly8gb3V0IG9mIGZsb3cgKGxpa2UgZmxvYXRpbmcvcG9zaXRpb25lZCBlbGVtZW50cyksIGFuZCB3
ZSBhbHNvIHNraXAgb3ZlciBhbnkgb2JqZWN0cyB0aGF0IG1heSBoYXZlIHNoaWZ0ZWQKICAgICAv
LyB0byBhdm9pZCBmbG9hdHMuCiAgICAgYm9vbCBwYXJlbnRIYXNGbG9hdHMgPSBmYWxzZTsKKyAg
ICBSZW5kZXJCbG9jayogcGFyZW50QmxvY2sgPSB0b1JlbmRlckJsb2NrKHBhcmVudCgpKTsKICAg
ICBSZW5kZXJPYmplY3QqIHByZXYgPSBwcmV2aW91c1NpYmxpbmcoKTsKICAgICB3aGlsZSAocHJl
diAmJiAocHJldi0+aXNGbG9hdGluZ09yUG9zaXRpb25lZCgpIHx8ICFwcmV2LT5pc0JveCgpIHx8
ICFwcmV2LT5pc1JlbmRlckJsb2NrKCkgfHwgdG9SZW5kZXJCbG9jayhwcmV2KS0+YXZvaWRzRmxv
YXRzKCkpKSB7CiAgICAgICAgIGlmIChwcmV2LT5pc0Zsb2F0aW5nKCkpCkBAIC0zNjQyLDE4ICsz
NjQzLDE2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmNsZWFyRmxvYXRzKCkKICAgICB9CiAKICAgICAv
LyBGaXJzdCBhZGQgaW4gZmxvYXRzIGZyb20gdGhlIHBhcmVudC4KLSAgICBpbnQgb2Zmc2V0ID0g
eSgpOwotICAgIGlmIChwYXJlbnRIYXNGbG9hdHMpIHsKLSAgICAgICAgUmVuZGVyQmxvY2sqIHBh
cmVudEJsb2NrID0gdG9SZW5kZXJCbG9jayhwYXJlbnQoKSk7Ci0gICAgICAgIGFkZEludHJ1ZGlu
Z0Zsb2F0cyhwYXJlbnRCbG9jaywgcGFyZW50QmxvY2stPmJvcmRlckxlZnQoKSArIHBhcmVudEJs
b2NrLT5wYWRkaW5nTGVmdCgpLCBvZmZzZXQpOwotICAgIH0KKyAgICBpbnQgbG9naWNhbFRvcE9m
ZnNldCA9IGxvZ2ljYWxUb3AoKTsKKyAgICBpZiAocGFyZW50SGFzRmxvYXRzKQorICAgICAgICBh
ZGRJbnRydWRpbmdGbG9hdHMocGFyZW50QmxvY2ssIHBhcmVudEJsb2NrLT5sb2dpY2FsTGVmdE9m
ZnNldEZvckNvbnRlbnQoKSwgbG9naWNhbFRvcE9mZnNldCk7CiAgICAgCi0gICAgaW50IHhvZmZz
ZXQgPSAwOworICAgIGludCBsb2dpY2FsTGVmdE9mZnNldCA9IDA7CiAgICAgaWYgKHByZXYpCi0g
ICAgICAgIG9mZnNldCAtPSB0b1JlbmRlckJveChwcmV2KS0+eSgpOwotICAgIGVsc2UgaWYgKHBh
cmVudCgpLT5pc0JveCgpKSB7Ci0gICAgICAgIHByZXYgPSBwYXJlbnQoKTsKLSAgICAgICAgeG9m
ZnNldCArPSB0b1JlbmRlckJveChwcmV2KS0+Ym9yZGVyTGVmdCgpICsgdG9SZW5kZXJCb3gocHJl
diktPnBhZGRpbmdMZWZ0KCk7CisgICAgICAgIGxvZ2ljYWxUb3BPZmZzZXQgLT0gdG9SZW5kZXJC
b3gocHJldiktPmxvZ2ljYWxUb3AoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgcHJldiA9IHBhcmVu
dEJsb2NrOworICAgICAgICBsb2dpY2FsTGVmdE9mZnNldCArPSBwYXJlbnRCbG9jay0+bG9naWNh
bExlZnRPZmZzZXRGb3JDb250ZW50KCk7CiAgICAgfQogCiAgICAgLy8gQWRkIG92ZXJoYW5naW5n
IGZsb2F0cyBmcm9tIHRoZSBwcmV2aW91cyBSZW5kZXJCbG9jaywgYnV0IG9ubHkgaWYgaXQgaGFz
IGEgZmxvYXQgdGhhdCBpbnRydWRlcyBpbnRvIG91ciBzcGFjZS4KQEAgLTM2NjEsMjkgKzM2NjAs
MzEgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y2xlYXJGbG9hdHMoKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgUmVuZGVyQmxvY2sqIGJsb2NrID0gdG9SZW5kZXJCbG9jayhwcmV2KTsKLSAgICBp
ZiAoYmxvY2stPm1fZmxvYXRpbmdPYmplY3RzICYmIGJsb2NrLT5sb3dlc3RGbG9hdExvZ2ljYWxC
b3R0b20oKSA+IG9mZnNldCkKLSAgICAgICAgYWRkSW50cnVkaW5nRmxvYXRzKGJsb2NrLCB4b2Zm
c2V0LCBvZmZzZXQpOworICAgIGlmIChibG9jay0+bV9mbG9hdGluZ09iamVjdHMgJiYgYmxvY2st
Pmxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbSgpID4gbG9naWNhbFRvcE9mZnNldCkKKyAgICAgICAg
YWRkSW50cnVkaW5nRmxvYXRzKGJsb2NrLCBsb2dpY2FsTGVmdE9mZnNldCwgbG9naWNhbFRvcE9m
ZnNldCk7CiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewotICAgICAgICBpbnQgY2hhbmdl
VG9wID0gbnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7Ci0gICAgICAgIGludCBjaGFuZ2VCb3R0
b20gPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKKyAgICAgICAgaW50IGNoYW5nZUxvZ2lj
YWxUb3AgPSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsKKyAgICAgICAgaW50IGNoYW5nZUxv
Z2ljYWxCb3R0b20gPSBudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICAgICAgaWYgKG1f
ZmxvYXRpbmdPYmplY3RzKSB7CiAgICAgICAgICAgICBmb3IgKEZsb2F0aW5nT2JqZWN0KiBmID0g
bV9mbG9hdGluZ09iamVjdHMtPmZpcnN0KCk7IGY7IGYgPSBtX2Zsb2F0aW5nT2JqZWN0cy0+bmV4
dCgpKSB7CiAgICAgICAgICAgICAgICAgRmxvYXRpbmdPYmplY3QqIG9sZEZsb2F0aW5nT2JqZWN0
ID0gZmxvYXRNYXAuZ2V0KGYtPm1fcmVuZGVyZXIpOworICAgICAgICAgICAgICAgIGludCBsb2dp
Y2FsQm90dG9tID0gbG9naWNhbEJvdHRvbUZvckZsb2F0KGYpOwogICAgICAgICAgICAgICAgIGlm
IChvbGRGbG9hdGluZ09iamVjdCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZi0+d2lkdGgo
KSAhPSBvbGRGbG9hdGluZ09iamVjdC0+d2lkdGgoKSB8fCBmLT5sZWZ0KCkgIT0gb2xkRmxvYXRp
bmdPYmplY3QtPmxlZnQoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlVG9wID0g
MDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUJvdHRvbSA9IG1heChjaGFuZ2VCb3R0
b20sIG1heChmLT5ib3R0b20oKSwgb2xkRmxvYXRpbmdPYmplY3QtPmJvdHRvbSgpKSk7Ci0gICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi0+Ym90dG9tKCkgIT0gb2xkRmxvYXRpbmdPYmpl
Y3QtPmJvdHRvbSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VUb3AgPSBtaW4o
Y2hhbmdlVG9wLCBtaW4oZi0+Ym90dG9tKCksIG9sZEZsb2F0aW5nT2JqZWN0LT5ib3R0b20oKSkp
OwotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4KGNoYW5nZUJvdHRv
bSwgbWF4KGYtPmJvdHRvbSgpLCBvbGRGbG9hdGluZ09iamVjdC0+Ym90dG9tKCkpKTsKKyAgICAg
ICAgICAgICAgICAgICAgaW50IG9sZExvZ2ljYWxCb3R0b20gPSBsb2dpY2FsQm90dG9tRm9yRmxv
YXQob2xkRmxvYXRpbmdPYmplY3QpOworICAgICAgICAgICAgICAgICAgICBpZiAobG9naWNhbFdp
ZHRoRm9yRmxvYXQoZikgIT0gbG9naWNhbFdpZHRoRm9yRmxvYXQob2xkRmxvYXRpbmdPYmplY3Qp
IHx8IGxvZ2ljYWxMZWZ0Rm9yRmxvYXQoZikgIT0gbG9naWNhbExlZnRGb3JGbG9hdChvbGRGbG9h
dGluZ09iamVjdCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUxvZ2ljYWxUb3Ag
PSAwOworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbEJvdHRvbSA9IG1heChj
aGFuZ2VMb2dpY2FsQm90dG9tLCBtYXgobG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkp
OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxvZ2ljYWxCb3R0b20gIT0gb2xkTG9n
aWNhbEJvdHRvbSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbFRvcCA9
IG1pbihjaGFuZ2VMb2dpY2FsVG9wLCBtaW4obG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRv
bSkpOworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbEJvdHRvbSA9IG1heChj
aGFuZ2VMb2dpY2FsQm90dG9tLCBtYXgobG9naWNhbEJvdHRvbSwgb2xkTG9naWNhbEJvdHRvbSkp
OwogICAgICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgZmxvYXRNYXAu
cmVtb3ZlKGYtPm1fcmVuZGVyZXIpOwogICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2xkRmxv
YXRpbmdPYmplY3Q7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgY2hhbmdlVG9wID0gMDsKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdlQm90dG9tID0gbWF4
KGNoYW5nZUJvdHRvbSwgZi0+Ym90dG9tKCkpOworICAgICAgICAgICAgICAgICAgICBjaGFuZ2VM
b2dpY2FsVG9wID0gMDsKKyAgICAgICAgICAgICAgICAgICAgY2hhbmdlTG9naWNhbEJvdHRvbSA9
IG1heChjaGFuZ2VMb2dpY2FsQm90dG9tLCBsb2dpY2FsQm90dG9tKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTM2OTIsMTMgKzM2OTMsMTMgQEAgdm9p
ZCBSZW5kZXJCbG9jazo6Y2xlYXJGbG9hdHMoKQogICAgICAgICBmb3IgKFJlbmRlcmVyVG9GbG9h
dEluZm9NYXA6Oml0ZXJhdG9yIGl0ID0gZmxvYXRNYXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7CiAgICAgICAgICAgICBGbG9hdGluZ09iamVjdCogZmxvYXRpbmdPYmplY3QgPSAoKml0KS5z
ZWNvbmQ7CiAgICAgICAgICAgICBpZiAoIWZsb2F0aW5nT2JqZWN0LT5tX2lzRGVzY2VuZGFudCkg
ewotICAgICAgICAgICAgICAgIGNoYW5nZVRvcCA9IDA7Ci0gICAgICAgICAgICAgICAgY2hhbmdl
Qm90dG9tID0gbWF4KGNoYW5nZUJvdHRvbSwgZmxvYXRpbmdPYmplY3QtPmJvdHRvbSgpKTsKKyAg
ICAgICAgICAgICAgICBjaGFuZ2VMb2dpY2FsVG9wID0gMDsKKyAgICAgICAgICAgICAgICBjaGFu
Z2VMb2dpY2FsQm90dG9tID0gbWF4KGNoYW5nZUxvZ2ljYWxCb3R0b20sIGxvZ2ljYWxCb3R0b21G
b3JGbG9hdChmbG9hdGluZ09iamVjdCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
ICAgIGRlbGV0ZUFsbFZhbHVlcyhmbG9hdE1hcCk7CiAKLSAgICAgICAgbWFya0xpbmVzRGlydHlJ
blZlcnRpY2FsUmFuZ2UoY2hhbmdlVG9wLCBjaGFuZ2VCb3R0b20pOworICAgICAgICBtYXJrTGlu
ZXNEaXJ0eUluVmVydGljYWxSYW5nZShjaGFuZ2VMb2dpY2FsVG9wLCBjaGFuZ2VMb2dpY2FsQm90
dG9tKTsKICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24g
NjkwMTkpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOTcsNyArMzk3LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9pc0Rlc2NlbmRh
bnQgOiAxOwogICAgIH07CiAKKyAgICBpbnQgbG9naWNhbFRvcEZvckZsb2F0KEZsb2F0aW5nT2Jq
ZWN0KiBjaGlsZCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNWZXJ0aWNhbEJsb2NrRmxvdygp
ID8gY2hpbGQtPnRvcCgpIDogY2hpbGQtPmxlZnQoKTsgfQogICAgIGludCBsb2dpY2FsQm90dG9t
Rm9yRmxvYXQoRmxvYXRpbmdPYmplY3QqIGNoaWxkKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLT5p
c1ZlcnRpY2FsQmxvY2tGbG93KCkgPyBjaGlsZC0+Ym90dG9tKCkgOiBjaGlsZC0+cmlnaHQoKTsg
fQorICAgIGludCBsb2dpY2FsTGVmdEZvckZsb2F0KEZsb2F0aW5nT2JqZWN0KiBjaGlsZCkgY29u
c3QgeyByZXR1cm4gc3R5bGUoKS0+aXNWZXJ0aWNhbEJsb2NrRmxvdygpID8gY2hpbGQtPmxlZnQo
KSA6IGNoaWxkLT50b3AoKTsgfQorICAgIGludCBsb2dpY2FsV2lkdGhGb3JGbG9hdChGbG9hdGlu
Z09iamVjdCogY2hpbGQpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzVmVydGljYWxCbG9ja0Zs
b3coKSA/IGNoaWxkLT53aWR0aCgpIDogY2hpbGQtPmhlaWdodCgpOyB9CiAgICAgCiAgICAgLy8g
VGhlIGZvbGxvd2luZyBmdW5jdGlvbnMnIGltcGxlbWVudGF0aW9ucyBhcmUgaW4gUmVuZGVyQmxv
Y2tMaW5lTGF5b3V0LmNwcC4KICAgICBSb290SW5saW5lQm94KiBkZXRlcm1pbmVTdGFydFBvc2l0
aW9uKGJvb2wmIGZpcnN0TGluZSwgYm9vbCYgZnVsbExheW91dCwgYm9vbCYgcHJldmlvdXNMaW5l
QnJva2VDbGVhbmx5LAo=
</data>
<flag name="review"
          id="59375"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>