<?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>118774</bug_id>
          
          <creation_ts>2013-07-16 21:30:11 -0700</creation_ts>
          <short_desc>fourthTier: Rationalize Node::replacement</short_desc>
          <delta_ts>2013-07-17 21:38:35 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>118749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>909140</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-16 21:30:11 -0700</bug_when>
    <thetext>Node::replacement is a miscellaneous field that some phases use.  Other phases might want some other pointer-sized work in Node, that they can use, instead of Node::replacement.  We should rationalize how this works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909142</commentid>
    <comment_count>1</comment_count>
      <attachid>206848</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-16 21:32:21 -0700</bug_when>
    <thetext>Created attachment 206848
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909579</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-17 21:38:35 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/152828</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206848</attachid>
            <date>2013-07-16 21:32:21 -0700</date>
            <delta_ts>2013-07-16 23:02:42 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>13443</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUyNzU0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBA
CisyMDEzLTA3LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogUmF0aW9uYWxpemUgTm9kZTo6cmVwbGFjZW1lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODc3NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgLSBDbGVhcmluZyBvZiBy
ZXBsYWNlbWVudHMgaXMgbm93IGRvbmUgaW4gR3JhcGg6OmNsZWFyUmVwbGFjZW1lbnRzKCkuCisg
ICAgICAgIAorICAgICAgICAtIE5ldyBub2RlcyBub3cgaGF2ZSByZXBsYWNlbWVudCBzZXQgdG8g
MC4KKyAgICAgICAgCisgICAgICAgIC0gTm9kZTo6cmVwbGFjZW1lbnQgaXMgbm93IHBhcnQgb2Yg
YSAnbWlzYycgdW5pb24uIEknbGwgYmUgcHV0dGluZyBhdCBsZWFzdAorICAgICAgICAgIG9uZSBv
dGhlciBmaWVsZCBpbnRvIHRoYXQgdW5pb24gYXMgcGFydCBvZiBMSUNNIHdvcmsgKHNlZQorICAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg3NDkpLgor
CisgICAgICAgICogZGZnL0RGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OkNQU1JldGhyZWFkaW5nUGhhc2U6OnJ1bik6CisgICAgICAgIChKU0M6OkRGRzo6Q1BT
UmV0aHJlYWRpbmdQaGFzZTo6ZnJlZVVubmVjZXNzYXJ5Tm9kZXMpOgorICAgICAgICAoSlNDOjpE
Rkc6OkNQU1JldGhyZWFkaW5nUGhhc2U6OmNhbm9uaWNhbGl6ZUdldExvY2FsRm9yKToKKyAgICAg
ICAgKiBkZmcvREZHQ1NFUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkNTRVBoYXNlOjpy
dW4pOgorICAgICAgICAoSlNDOjpERkc6OkNTRVBoYXNlOjpzZXRSZXBsYWNlbWVudCk6CisgICAg
ICAgIChKU0M6OkRGRzo6Q1NFUGhhc2U6OnBlcmZvcm1CbG9ja0NTRSk6CisgICAgICAgICogZGZn
L0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKERGRyk6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6
OmNsZWFyUmVwbGFjZW1lbnRzKToKKyAgICAgICAgKiBkZmcvREZHR3JhcGguaDoKKyAgICAgICAg
KEpTQzo6REZHOjpHcmFwaDo6cGVyZm9ybVN1YnN0aXR1dGlvbkZvckVkZ2UpOgorICAgICAgICAo
R3JhcGgpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9k
ZTo6Tm9kZSk6CisgICAgICAgICogZGZnL0RGR1NTQUNvbnZlcnNpb25QaGFzZS5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U1NBQ29udmVyc2lvblBoYXNlOjpydW4pOgorCiAyMDEzLTA3LTE2ICBG
aWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgZm91cnRoVGllcjogTmF0
dXJhbExvb3BzIHNob3VsZCBiZSBhYmxlIHRvIHF1aWNrbHkgYW5zd2VyIHF1ZXN0aW9ucyBsaWtl
ICJ3aGF0IGxvb3BzIG93biB0aGlzIGJhc2ljIGJsb2NrIgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDUFNSZXRocmVhZGluZ1BoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwCShyZXZpc2lv
biAxNTI3NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NQU1JldGhyZWFkaW5n
UGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgCiAgICAgICAgIGNsZWFySXNMb2FkZWRGcm9tKCk7CiAgICAgICAgIGZyZWVVbm5lY2Vzc2Fy
eU5vZGVzKCk7CisgICAgICAgIG1fZ3JhcGguY2xlYXJSZXBsYWNlbWVudHMoKTsKICAgICAgICAg
Y2Fub25pY2FsaXplTG9jYWxzSW5CbG9ja3MoKTsKICAgICAgICAgcHJvcGFnYXRlUGhpczxMb2Nh
bE9wZXJhbmQ+KCk7CiAgICAgICAgIHByb3BhZ2F0ZVBoaXM8QXJndW1lbnRPcGVyYW5kPigpOwpA
QCAtMTAyLDcgKzEwMyw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIG5vZGUtPnJlcGxhY2VtZW50ID0gMDsgLy8gUmVzZXQgdGhlIHJlcGxhY2VtZW50IHNpbmNl
IHRoZSBuZXh0IHBoYXNlIHdpbGwgdXNlIGl0LgogICAgICAgICAgICAgICAgIGJsb2NrLT5hdCh0
b0luZGV4KyspID0gbm9kZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJsb2NrLT5yZXNp
emUodG9JbmRleCk7CkBAIC0xOTgsMTIgKzE5OCwxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAg
CiAgICAgICAgICAgICBpZiAob3RoZXJOb2RlLT5vcCgpID09IEdldExvY2FsKSB7CiAgICAgICAg
ICAgICAgICAgLy8gUmVwbGFjZSBhbGwgcmVmZXJlbmNlcyB0byB0aGlzIEdldExvY2FsIHdpdGgg
b3RoZXJOb2RlLgotICAgICAgICAgICAgICAgIG5vZGUtPnJlcGxhY2VtZW50ID0gb3RoZXJOb2Rl
OworICAgICAgICAgICAgICAgIG5vZGUtPm1pc2MucmVwbGFjZW1lbnQgPSBvdGhlck5vZGU7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBBU1NFUlQob3RoZXJOb2RlLT5vcCgpID09IFNldExvY2FsKTsKLSAgICAgICAgICAg
IG5vZGUtPnJlcGxhY2VtZW50ID0gb3RoZXJOb2RlLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAg
ICAgICBub2RlLT5taXNjLnJlcGxhY2VtZW50ID0gb3RoZXJOb2RlLT5jaGlsZDEoKS5ub2RlKCk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNlLmNwcAkocmV2aXNpb24gMTUyNzU0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDYgKzUyLDggQEAgcHVibGljOgogICAgICAgICAKICAgICAgICAgbV9jaGFuZ2VkID0g
ZmFsc2U7CiAgICAgICAgIAorICAgICAgICBtX2dyYXBoLmNsZWFyUmVwbGFjZW1lbnRzKCk7Cisg
ICAgICAgIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGJsb2NrSW5kZXggPSAwOyBibG9ja0luZGV4
IDwgbV9ncmFwaC5udW1CbG9ja3MoKTsgKytibG9ja0luZGV4KQogICAgICAgICAgICAgcGVyZm9y
bUJsb2NrQ1NFKG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCkpOwogICAgICAgICAKQEAgLTEwMDMs
NyArMTAwNSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGVsaW1pbmF0ZUlycmVsZXZhbnRQaGFudG9t
Q2hpbGRyZW4obV9jdXJyZW50Tm9kZSk7CiAgICAgICAgIAogICAgICAgICAvLyBBdCB0aGlzIHBv
aW50IHdlIHdpbGwgZWxpbWluYXRlIGFsbCByZWZlcmVuY2VzIHRvIHRoaXMgbm9kZS4KLSAgICAg
ICAgbV9jdXJyZW50Tm9kZS0+cmVwbGFjZW1lbnQgPSByZXBsYWNlbWVudDsKKyAgICAgICAgbV9j
dXJyZW50Tm9kZS0+bWlzYy5yZXBsYWNlbWVudCA9IHJlcGxhY2VtZW50OwogICAgICAgICAKICAg
ICAgICAgbV9jaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgCkBAIC0xMzkzLDEyICsxMzk1LDEwIEBA
IHByaXZhdGU6CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBMYXN0Tm9kZVR5cGU7
ICsraSkKICAgICAgICAgICAgIG1fbGFzdFNlZW5baV0gPSBVSU5UX01BWDsKICAgICAgICAgCi0g
ICAgICAgIC8vIEFsbCBQaGlzIG5lZWQgdG8gYWxyZWFkeSBiZSBtYXJrZWQgYXMgcmVsZXZhbnQg
dG8gT1NSLCBhbmQgaGF2ZSB0aGVpcgotICAgICAgICAvLyByZXBsYWNlbWVudHMgY2xlYXJlZCwg
c28gd2UgZG9uJ3QgZ2V0IGNvbmZ1c2VkIHdoaWxlIGRvaW5nIHN1YnN0aXR1dGlvbnMgb24KLSAg
ICAgICAgLy8gR2V0TG9jYWwncy4KLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJs
b2NrLT5waGlzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBBU1NFUlQoYmxvY2stPnBoaXNb
aV0tPmZsYWdzKCkgJiBOb2RlUmVsZXZhbnRUb09TUik7Ci0gICAgICAgICAgICBibG9jay0+cGhp
c1tpXS0+cmVwbGFjZW1lbnQgPSAwOworICAgICAgICAvLyBBbGwgUGhpcyBuZWVkIHRvIGFscmVh
ZHkgYmUgbWFya2VkIGFzIHJlbGV2YW50IHRvIE9TUi4KKyAgICAgICAgaWYgKCFBU1NFUlRfRElT
QUJMRUQpIHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBibG9jay0+cGhp
cy5zaXplKCk7ICsraSkKKyAgICAgICAgICAgICAgICBBU1NFUlQoYmxvY2stPnBoaXNbaV0tPmZs
YWdzKCkgJiBOb2RlUmVsZXZhbnRUb09TUik7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAg
IC8vIE1ha2UgYWxsIG9mIG15IFNldExvY2FsIGFuZCBHZXRMb2NhbCBub2RlcyByZWxldmFudCB0
byBPU1IsIGFuZCBkbyBzb21lIG90aGVyCkBAIC0xNDA2LDggKzE0MDYsNiBAQCBwcml2YXRlOgog
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsgKytpKSB7CiAg
ICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KGkpOwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBub2RlLT5yZXBsYWNlbWVudCA9IDA7Ci0gICAgICAgICAgICAKICAgICAgICAgICAg
IHN3aXRjaCAobm9kZS0+b3AoKSkgewogICAgICAgICAgICAgY2FzZSBTZXRMb2NhbDoKICAgICAg
ICAgICAgIGNhc2UgR2V0TG9jYWw6IC8vIEZJWE1FOiBUaGUgR2V0TG9jYWwgY2FzZSBpcyBvbmx5
IG5lY2Vzc2FyeSB1bnRpbCB3ZSBkbyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA2NzA3LgpAQCAtMTQyNyw3ICsxNDI1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYg
KCFBU1NFUlRfRElTQUJMRUQgJiYgY3NlTW9kZSA9PSBTdG9yZUVsaW1pbmF0aW9uKSB7CiAgICAg
ICAgICAgICAvLyBOb2JvZHkgc2hvdWxkIGhhdmUgcmVwbGFjZW1lbnRzIHNldC4KICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBibG9jay0+c2l6ZSgpOyArK2kpCi0gICAgICAg
ICAgICAgICAgQVNTRVJUKCFibG9jay0+YXQoaSktPnJlcGxhY2VtZW50KTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQoIWJsb2NrLT5hdChpKS0+bWlzYy5yZXBsYWNlbWVudCk7CiAgICAgICAgIH0K
ICAgICB9CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAko
cmV2aXNpb24gMTUyNzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUzMyw2ICs1MzMsMTkgQEAgdm9pZCBHcmFwaDo6Z2V0Qmxv
Y2tzSW5EZXB0aEZpcnN0T3JkZXIoVgogICAgICAgICAgICAgYWRkRm9yRGVwdGhGaXJzdFNvcnQo
cmVzdWx0LCB3b3JrbGlzdCwgc2VlbiwgYmxvY2stPnN1Y2Nlc3NvcihpKSk7CiAgICAgfQogfQor
Cit2b2lkIEdyYXBoOjpjbGVhclJlcGxhY2VtZW50cygpCit7CisgICAgZm9yIChCbG9ja0luZGV4
IGJsb2NrSW5kZXggPSBudW1CbG9ja3MoKTsgYmxvY2tJbmRleC0tOykgeworICAgICAgICBCYXNp
Y0Jsb2NrKiBibG9jayA9IG1fYmxvY2tzW2Jsb2NrSW5kZXhdLmdldCgpOworICAgICAgICBpZiAo
IWJsb2NrKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGZvciAodW5zaWduZWQgcGhp
SW5kZXggPSBibG9jay0+cGhpcy5zaXplKCk7IHBoaUluZGV4LS07KQorICAgICAgICAgICAgYmxv
Y2stPnBoaXNbcGhpSW5kZXhdLT5taXNjLnJlcGxhY2VtZW50ID0gMDsKKyAgICAgICAgZm9yICh1
bnNpZ25lZCBub2RlSW5kZXggPSBibG9jay0+c2l6ZSgpOyBub2RlSW5kZXgtLTspCisgICAgICAg
ICAgICBibG9jay0+YXQobm9kZUluZGV4KS0+bWlzYy5yZXBsYWNlbWVudCA9IDA7CisgICAgfQor
fQogICAgIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdHcmFwaC5oCShyZXZpc2lvbiAxNTI3NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0dyYXBoLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgICAgICAvLyBDaGVjayBp
ZiB0aGVyZSBpcyBhbnkgcmVwbGFjZW1lbnQuCi0gICAgICAgIE5vZGUqIHJlcGxhY2VtZW50ID0g
Y2hpbGQtPnJlcGxhY2VtZW50OworICAgICAgICBOb2RlKiByZXBsYWNlbWVudCA9IGNoaWxkLT5t
aXNjLnJlcGxhY2VtZW50OwogICAgICAgICBpZiAoIXJlcGxhY2VtZW50KQogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICAKQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIAog
ICAgICAgICAvLyBUaGVyZSBpcyBkZWZpbml0ZWx5IGEgcmVwbGFjZW1lbnQuIEFzc2VydCB0aGF0
IHRoZSByZXBsYWNlbWVudCBkb2VzIG5vdAogICAgICAgICAvLyBoYXZlIGEgcmVwbGFjZW1lbnQu
Ci0gICAgICAgIEFTU0VSVCghY2hpbGQtPnJlcGxhY2VtZW50KTsKKyAgICAgICAgQVNTRVJUKCFj
aGlsZC0+bWlzYy5yZXBsYWNlbWVudCk7CiAgICAgfQogICAgIAogI2RlZmluZSBERkdfREVGSU5F
X0FERF9OT0RFKHRlbXBsYXRlUHJlLCB0ZW1wbGF0ZVBvc3QsIHR5cGVQYXJhbXMsIHZhbHVlUGFy
YW1zQ29tbWEsIHZhbHVlUGFyYW1zLCB2YWx1ZUFyZ3MpIFwKQEAgLTY0Niw2ICs2NDYsOCBAQCBw
dWJsaWM6CiAgICAgCiAgICAgdm9pZCBpbnZhbGlkYXRlQ0ZHKCk7CiAgICAgCisgICAgdm9pZCBj
bGVhclJlcGxhY2VtZW50cygpOworICAgIAogICAgIHZvaWQgZ2V0QmxvY2tzSW5EZXB0aEZpcnN0
T3JkZXIoVmVjdG9yPEJhc2ljQmxvY2sqPiYgcmVzdWx0KTsKICAgICAKICAgICBQcm9maWxlcjo6
Q29tcGlsYXRpb24qIGNvbXBpbGF0aW9uKCkgeyByZXR1cm4gbV9wbGFuLmNvbXBpbGF0aW9uLmdl
dCgpOyB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkocmV2aXNpb24gMTUy
NzU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2Nyw2ICsxNjcsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgICwgbV9yZWZDb3Vu
dCgxKQogICAgICAgICAsIG1fcHJlZGljdGlvbihTcGVjTm9uZSkKICAgICB7CisgICAgICAgIG1p
c2MucmVwbGFjZW1lbnQgPSAwOwogICAgICAgICBzZXRPcEFuZERlZmF1bHRGbGFncyhvcCk7CiAg
ICAgfQogICAgIApAQCAtMTc4LDYgKzE3OSw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgLCBt
X3JlZkNvdW50KDEpCiAgICAgICAgICwgbV9wcmVkaWN0aW9uKFNwZWNOb25lKQogICAgIHsKKyAg
ICAgICAgbWlzYy5yZXBsYWNlbWVudCA9IDA7CiAgICAgICAgIHNldE9wQW5kRGVmYXVsdEZsYWdz
KG9wKTsKICAgICAgICAgQVNTRVJUKCEobV9mbGFncyAmIE5vZGVIYXNWYXJBcmdzKSk7CiAgICAg
fQpAQCAtMTkxLDYgKzE5Myw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgLCBtX3ByZWRpY3Rp
b24oU3BlY05vbmUpCiAgICAgICAgICwgbV9vcEluZm8oaW1tLm1fdmFsdWUpCiAgICAgeworICAg
ICAgICBtaXNjLnJlcGxhY2VtZW50ID0gMDsKICAgICAgICAgc2V0T3BBbmREZWZhdWx0RmxhZ3Mo
b3ApOwogICAgICAgICBBU1NFUlQoIShtX2ZsYWdzICYgTm9kZUhhc1ZhckFyZ3MpKTsKICAgICB9
CkBAIC0yMDUsNiArMjA4LDcgQEAgc3RydWN0IE5vZGUgewogICAgICAgICAsIG1fb3BJbmZvKGlt
bTEubV92YWx1ZSkKICAgICAgICAgLCBtX29wSW5mbzIoaW1tMi5tX3ZhbHVlKQogICAgIHsKKyAg
ICAgICAgbWlzYy5yZXBsYWNlbWVudCA9IDA7CiAgICAgICAgIHNldE9wQW5kRGVmYXVsdEZsYWdz
KG9wKTsKICAgICAgICAgQVNTRVJUKCEobV9mbGFncyAmIE5vZGVIYXNWYXJBcmdzKSk7CiAgICAg
fQpAQCAtMjE5LDYgKzIyMyw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgLCBtX29wSW5mbyhp
bW0xLm1fdmFsdWUpCiAgICAgICAgICwgbV9vcEluZm8yKGltbTIubV92YWx1ZSkKICAgICB7Cisg
ICAgICAgIG1pc2MucmVwbGFjZW1lbnQgPSAwOwogICAgICAgICBzZXRPcEFuZERlZmF1bHRGbGFn
cyhvcCk7CiAgICAgICAgIEFTU0VSVChtX2ZsYWdzICYgTm9kZUhhc1ZhckFyZ3MpOwogICAgIH0K
QEAgLTEzOTEsNyArMTM5Niw5IEBAIHByaXZhdGU6CiBwdWJsaWM6CiAgICAgLy8gRmllbGRzIHVz
ZWQgYnkgdmFyaW91cyBhbmFseXNlcy4KICAgICBBYnN0cmFjdFZhbHVlIHZhbHVlOwotICAgIE5v
ZGUqIHJlcGxhY2VtZW50OworICAgIHVuaW9uIHsKKyAgICAgICAgTm9kZSogcmVwbGFjZW1lbnQ7
CisgICAgfSBtaXNjOwogfTsKIAogaW5saW5lIGJvb2wgbm9kZUNvbXBhcmF0b3IoTm9kZSogYSwg
Tm9kZSogYikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU1NBQ29udmVyc2lv
blBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NT
QUNvbnZlcnNpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE1Mjc1NCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU1NBQ29udmVyc2lvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTk0LDE1ICsxOTQsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIGRvIGEgcmVwbGFjZW1lbnQgZm9y
ICgzKS4KICAgICAgICAgCiAgICAgICAgIC8vIENsZWFyIGFsbCByZXBsYWNlbWVudHMsIHNpbmNl
IG90aGVyIHBoYXNlcyBtYXkgaGF2ZSB1c2VkIHRoZW0uCi0gICAgICAgIGZvciAoQmxvY2tJbmRl
eCBibG9ja0luZGV4ID0gbV9ncmFwaC5udW1CbG9ja3MoKTsgYmxvY2tJbmRleC0tOykgewotICAg
ICAgICAgICAgQmFzaWNCbG9jayogYmxvY2sgPSBtX2dyYXBoLmJsb2NrKGJsb2NrSW5kZXgpOwot
ICAgICAgICAgICAgaWYgKCFibG9jaykKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgcGhpSW5kZXggPSBibG9jay0+cGhpcy5zaXplKCk7IHBoaUlu
ZGV4LS07KQotICAgICAgICAgICAgICAgIGJsb2NrLT5waGlzW3BoaUluZGV4XS0+cmVwbGFjZW1l
bnQgPSAwOwotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBub2RlSW5kZXggPSBibG9jay0+c2l6
ZSgpOyBub2RlSW5kZXgtLTspCi0gICAgICAgICAgICAgICAgYmxvY2stPmF0KG5vZGVJbmRleCkt
PnJlcGxhY2VtZW50ID0gMDsKLSAgICAgICAgfQorICAgICAgICBtX2dyYXBoLmNsZWFyUmVwbGFj
ZW1lbnRzKCk7CiAgICAgICAgIAogICAgICAgICAvLyBGb3IgYWxsIG9mIHRoZSBvbGQgQ1BTIFBo
aXMsIGZpZ3VyZSBvdXQgd2hhdCB0aGV5IGNvcnJlc3BvbmQgdG8gaW4gU1NBLgogICAgICAgICBm
b3IgKEJsb2NrSW5kZXggYmxvY2tJbmRleCA9IG1fZ3JhcGgubnVtQmxvY2tzKCk7IGJsb2NrSW5k
ZXgtLTspIHsKQEAgLTIxNyw3ICsyMDksNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAg
ICAgICAiLCBhbmQgaXRzIHJlcGxhY2VtZW50IGluICIsICpibG9jaywgIiwgIiwKICAgICAgICAg
ICAgICAgICAgICAgICAgIGJsb2NrLT52YXJpYWJsZXNBdEhlYWQub3BlcmFuZChwaGktPmxvY2Fs
KCkpLCAiXG4iKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcGhpLT5yZXBs
YWNlbWVudCA9IGJsb2NrLT52YXJpYWJsZXNBdEhlYWQub3BlcmFuZChwaGktPmxvY2FsKCkpOwor
ICAgICAgICAgICAgICAgIHBoaS0+bWlzYy5yZXBsYWNlbWVudCA9IGJsb2NrLT52YXJpYWJsZXNB
dEhlYWQub3BlcmFuZChwaGktPmxvY2FsKCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgICAgIApAQCAtMjMyLDggKzIyNCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBOb2Rl
KiBub2RlID0gYmxvY2stPnZhcmlhYmxlc0F0SGVhZFtpXTsKICAgICAgICAgICAgICAgICBpZiAo
IW5vZGUpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIHdo
aWxlIChub2RlLT5yZXBsYWNlbWVudCkKLSAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUt
PnJlcGxhY2VtZW50OworICAgICAgICAgICAgICAgIHdoaWxlIChub2RlLT5taXNjLnJlcGxhY2Vt
ZW50KQorICAgICAgICAgICAgICAgICAgICBub2RlID0gbm9kZS0+bWlzYy5yZXBsYWNlbWVudDsK
ICAgICAgICAgICAgICAgICBibG9jay0+dmFyaWFibGVzQXRIZWFkW2ldID0gbm9kZTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQpAQCAtMjc1LDExICsyNjcsMTEgQEAgcHVibGljOgogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIHBoaUluZGV4ID0gYmxvY2stPnBoaXMuc2l6ZSgpOyBwaGlJbmRleC0tOykgewotICAgICAg
ICAgICAgICAgIGJsb2NrLT5waGlzW3BoaUluZGV4XS0+cmVwbGFjZW1lbnQgPQorICAgICAgICAg
ICAgICAgIGJsb2NrLT5waGlzW3BoaUluZGV4XS0+bWlzYy5yZXBsYWNlbWVudCA9CiAgICAgICAg
ICAgICAgICAgICAgIGJsb2NrLT52YXJpYWJsZXNBdEhlYWQub3BlcmFuZChibG9jay0+cGhpc1tw
aGlJbmRleF0tPmxvY2FsKCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBub2RlSW5kZXggPSBibG9jay0+c2l6ZSgpOyBub2RlSW5kZXgtLTspCi0gICAgICAgICAg
ICAgICAgQVNTRVJUKCFibG9jay0+YXQobm9kZUluZGV4KS0+cmVwbGFjZW1lbnQpOworICAgICAg
ICAgICAgICAgIEFTU0VSVCghYmxvY2stPmF0KG5vZGVJbmRleCktPm1pc2MucmVwbGFjZW1lbnQp
OwogICAgICAgICAgICAgCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7
IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CiAgICAgICAgICAgICAg
ICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOwpAQCAtMjkzLDcgKzI4NSw3IEBA
IHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm1lcmdlRmxhZ3MoTm9kZU11
c3RHZW5lcmF0ZSk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAg
ICAgICAgIG5vZGUtPnNldE9wQW5kRGVmYXVsdEZsYWdzKE1vdkhpbnQpOwotICAgICAgICAgICAg
ICAgICAgICBub2RlLT5yZXBsYWNlbWVudCA9IG5vZGUtPmNoaWxkMSgpLm5vZGUoKTsgLy8gT25s
eSBmb3IgVXBzaWxvbnMuCisgICAgICAgICAgICAgICAgICAgIG5vZGUtPm1pc2MucmVwbGFjZW1l
bnQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7IC8vIE9ubHkgZm9yIFVwc2lsb25zLgogICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIApAQCAtMzA3LDcgKzI5OSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgaWYg
KHZhcmlhYmxlLT5pc0NhcHR1cmVkKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbSgpOwotICAgICAgICAg
ICAgICAgICAgICBub2RlLT5yZXBsYWNlbWVudCA9IGJsb2NrLT52YXJpYWJsZXNBdEhlYWQub3Bl
cmFuZCh2YXJpYWJsZS0+bG9jYWwoKSk7CisgICAgICAgICAgICAgICAgICAgIG5vZGUtPm1pc2Mu
cmVwbGFjZW1lbnQgPSBibG9jay0+dmFyaWFibGVzQXRIZWFkLm9wZXJhbmQodmFyaWFibGUtPmxv
Y2FsKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgICAgIApAQCAtMzE1LDcgKzMwNyw3IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICAgICAgICAgbm9kZS0+Y2hpbGRyZW4ucmVzZXQoKTsKICAgICAgICAgICAgICAgICAgICAg
Ly8gVGhpcyBpcyBvbmx5IGZvciBVcHNpbG9ucy4gQW4gVXBzaWxvbiB3aWxsIG9ubHkgcmVmZXIg
dG8gYSBGbHVzaCBpZgogICAgICAgICAgICAgICAgICAgICAvLyB0aGVyZSB3ZXJlIG5vIFNldExv
Y2FscyBvciBHZXRMb2NhbHMgaW4gdGhlIGJsb2NrLgotICAgICAgICAgICAgICAgICAgICBub2Rl
LT5yZXBsYWNlbWVudCA9IGJsb2NrLT52YXJpYWJsZXNBdEhlYWQub3BlcmFuZChub2RlLT5sb2Nh
bCgpKTsKKyAgICAgICAgICAgICAgICAgICAgbm9kZS0+bWlzYy5yZXBsYWNlbWVudCA9IGJsb2Nr
LT52YXJpYWJsZXNBdEhlYWQub3BlcmFuZChub2RlLT5sb2NhbCgpKTsKICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKQEAg
LTMyNyw3ICszMTksNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZl
cnRUb1BoYW50b20oKTsKICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBvbmx5IGZvciBV
cHNpbG9ucy4gQW4gVXBzaWxvbiB3aWxsIG9ubHkgcmVmZXIgdG8gYQogICAgICAgICAgICAgICAg
ICAgICAvLyBQaGFudG9tTG9jYWwgaWYgdGhlcmUgd2VyZSBubyBTZXRMb2NhbHMgb3IgR2V0TG9j
YWxzIGluIHRoZSBibG9jay4KLSAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVwbGFjZW1lbnQg
PSBibG9jay0+dmFyaWFibGVzQXRIZWFkLm9wZXJhbmQodmFyaWFibGUtPmxvY2FsKCkpOworICAg
ICAgICAgICAgICAgICAgICBub2RlLT5taXNjLnJlcGxhY2VtZW50ID0gYmxvY2stPnZhcmlhYmxl
c0F0SGVhZC5vcGVyYW5kKHZhcmlhYmxlLT5sb2NhbCgpKTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAK
</data>
<flag name="review"
          id="228577"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>