<?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>106910</bug_id>
          
          <creation_ts>2013-01-15 08:26:25 -0800</creation_ts>
          <short_desc>Move parent pointer from TreeShared to subclass</short_desc>
          <delta_ts>2013-01-15 10:13:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>d-r</cc>
    
    <cc>fmalita</cc>
    
    <cc>kling</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>807332</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-01-15 08:26:25 -0800</bug_when>
    <thetext>This simplifies TreeShared and makes code dealing with parents more understandable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807405</commentid>
    <comment_count>1</comment_count>
      <attachid>182798</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-01-15 10:03:13 -0800</bug_when>
    <thetext>Created attachment 182798
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807408</commentid>
    <comment_count>2</comment_count>
      <attachid>182798</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-01-15 10:05:54 -0800</bug_when>
    <thetext>Comment on attachment 182798
patch

Looks fine. I still hope that some day we can retire the TreeShared class and find a different way to handle reference counting in the trees, and in a way this takes us one small step closer to that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807415</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-01-15 10:13:32 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/139751</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182798</attachid>
            <date>2013-01-15 10:03:13 -0800</date>
            <delta_ts>2013-01-15 10:05:53 -0800</delta_ts>
            <desc>patch</desc>
            <filename>tree-shared-parent-3.patch</filename>
            <type>text/plain</type>
            <size>12125</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzOTc0OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAxLTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHBhcmVudCBwb2ludGVy
IGZyb20gVHJlZVNoYXJlZCB0byBzdWJjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBzaW1wbGlmaWVzIGJvdGggVHJlZVNoYXJlZCBhbmQg
Y2xpZW50cywgYW5kIG1ha2VzIGNvZGUgZGVhbGluZyB3aXRoIHBhcmVudHMgbW9yZSB1bmRlcnN0
YW5kYWJsZSBpbiBnZW5lcmFsLgorCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpOb2RlOjpOb2RlKToKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL05vZGUu
aDoKKyAgICAKKyAgICAgICAgICAgIEFkZCBtX3BhcmVudE9ySG9zdE5vZGUgdmFyaWFibGUgKG1h
dGNoaW5nIHRoZSBhY2Nlc3NvciBuYW1lcykuCisKKyAgICAgICAgKE5vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZTo6aGFzVHJlZVNoYXJlZFBhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpO
b2RlOjpwYXJlbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNldFBhcmVudE9ySG9z
dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cGFyZW50T3JIb3N0Tm9kZSk6CisgICAg
ICAgICogcGxhdGZvcm0vVHJlZVNoYXJlZC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpUcmVlU2hhcmVkOjpUcmVlU2hhcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRy
ZWVTaGFyZWQ6OmRlcmVmKToKKyAgICAgICAgCisgICAgICAgICAgICBDYWxsIHN1YmNsYXNzIGhh
c1RyZWVTaGFyZWRQYXJlbnQoKSB0byBmaWd1cmUgb3V0IGlmIGl0IGlzIHRpbWUgdG8gZGVsZXRl
LgorCisgICAgICAgIChUcmVlU2hhcmVkKToKKworICAgICAgICAgICAgUmVtb3ZlIHBhcmVudCBw
b2ludGVyIGFuZCBhY2Nlc3NvcnMuCisgICAgICAgICAgICBSZW1vdmUgUGFyZW50Tm9kZVR5cGUg
dGVtcGxhdGUgcGFyYW1ldGVyLgorICAgICAgICAgICAgUmVtb3ZlIG5vdyB1bm5lY2Vzc2F5IHJl
cG9ydE1lbW9yeVVzYWdlKCkuCisKKyAgICAgICAgKFdlYkNvcmU6OmFkb3B0ZWQpOgorICAgICAg
ICAqIHN2Zy9TVkdFbGVtZW50SW5zdGFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxl
bWVudEluc3RhbmNlOjpTVkdFbGVtZW50SW5zdGFuY2UpOgorICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50SW5zdGFuY2UuaDoKKyAgICAgICAgCisgICAgICAgICAgICBBZGQgbV9wYXJlbnRJbnN0YW5j
ZSB2YXJpYWJsZS4KKworICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpzZXRQ
YXJlbnRPckhvc3ROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnRJbnN0YW5jZTo6
cGFyZW50Tm9kZSk6CisgICAgICAgIChTVkdFbGVtZW50SW5zdGFuY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRWxlbWVudEluc3RhbmNlOjpoYXNUcmVlU2hhcmVkUGFyZW50KToKKwogMjAxMy0w
MS0xNSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByZW1vdmUgZmlsZSB0aGF0IHdhcyBhY2NpZGVudGFsbHkgYWRkZWQgdG8gdGhl
IHdyb25nIHBhdGNoLgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDEzOTc0OCkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTg4
LDYgKzE1ODgsNyBAQCBpbmxpbmUgYm9vbCBOb2RlOjppc0RvY3VtZW50Tm9kZSgpIGNvbnN0CiAK
IGlubGluZSBOb2RlOjpOb2RlKERvY3VtZW50KiBkb2N1bWVudCwgQ29uc3RydWN0aW9uVHlwZSB0
eXBlKQogICAgIDogbV9ub2RlRmxhZ3ModHlwZSkKKyAgICAsIG1fcGFyZW50T3JIb3N0Tm9kZSgw
KQogICAgICwgbV90cmVlU2NvcGUoZG9jdW1lbnQpCiAgICAgLCBtX3ByZXZpb3VzKDApCiAgICAg
LCBtX25leHQoMCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHJldmlzaW9uIDEzOTc0OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU3Miw4ICsyNTcy
LDggQEAgdm9pZCBOb2RlOjpyZW1vdmVkTGFzdFJlZigpCiB2b2lkIE5vZGU6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9y
eVR5cGVzOjpET00pOwotICAgIFRyZWVTaGFyZWQ8Tm9kZSwgQ29udGFpbmVyTm9kZT46OnJlcG9y
dE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIFNjcmlwdFdyYXBwYWJsZTo6cmVw
b3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9w
YXJlbnRPckhvc3ROb2RlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3RyZWVTY29wZSk7CiAgICAg
aW5mby5hZGRNZW1iZXIobV9uZXh0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3ByZXZpb3VzKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuaAkocmV2aXNpb24gMTM5NzQ4KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDcgKzEyMiw3IEBAIHByaXZhdGU6CiAgICAg
UmVuZGVyT2JqZWN0KiBtX3JlbmRlcmVyOwogfTsKIAotY2xhc3MgTm9kZSA6IHB1YmxpYyBFdmVu
dFRhcmdldCwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFRyZWVTaGFyZWQ8Tm9kZSwg
Q29udGFpbmVyTm9kZT4geworY2xhc3MgTm9kZSA6IHB1YmxpYyBFdmVudFRhcmdldCwgcHVibGlj
IFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFRyZWVTaGFyZWQ8Tm9kZT4gewogICAgIGZyaWVuZCBj
bGFzcyBEb2N1bWVudDsKICAgICBmcmllbmQgY2xhc3MgVHJlZVNjb3BlOwogICAgIGZyaWVuZCBj
bGFzcyBUcmVlU2NvcGVBZG9wdGVyOwpAQCAtNjQ0LDggKzY0NCw4IEBAIHB1YmxpYzoKICAgICAv
LyB0byBldmVudCBsaXN0ZW5lcnMsIGFuZCBwcmV2ZW50cyBET01BY3RpdmF0ZSBldmVudHMgZnJv
bSBiZWluZyBzZW50IGF0IGFsbC4KICAgICB2aXJ0dWFsIGJvb2wgZGlzYWJsZWQoKSBjb25zdDsK
IAotICAgIHVzaW5nIFRyZWVTaGFyZWQ8Tm9kZSwgQ29udGFpbmVyTm9kZT46OnJlZjsKLSAgICB1
c2luZyBUcmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5vZGU+OjpkZXJlZjsKKyAgICB1c2luZyBU
cmVlU2hhcmVkPE5vZGU+OjpyZWY7CisgICAgdXNpbmcgVHJlZVNoYXJlZDxOb2RlPjo6ZGVyZWY7
CiAKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CiAgICAg
dmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOwpAQCAtNzYz
LDkgKzc2MywxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRUcmVlU2NvcGUoVHJlZVNjb3Bl
KiBzY29wZSkgeyBtX3RyZWVTY29wZSA9IHNjb3BlOyB9CiAKIHByaXZhdGU6Ci0gICAgZnJpZW5k
IGNsYXNzIFRyZWVTaGFyZWQ8Tm9kZSwgQ29udGFpbmVyTm9kZT47CisgICAgZnJpZW5kIGNsYXNz
IFRyZWVTaGFyZWQ8Tm9kZT47CiAKICAgICB2b2lkIHJlbW92ZWRMYXN0UmVmKCk7CisgICAgYm9v
bCBoYXNUcmVlU2hhcmVkUGFyZW50KCkgY29uc3QgeyByZXR1cm4gISFwYXJlbnRPckhvc3ROb2Rl
KCk7IH0KIAogICAgIGVudW0gRWRpdGFibGVMZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0YWJs
ZSB9OwogICAgIGJvb2wgcmVuZGVyZXJJc0VkaXRhYmxlKEVkaXRhYmxlTGV2ZWwsIFVzZXJTZWxl
Y3RBbGxUcmVhdG1lbnQgPSBVc2VyU2VsZWN0QWxsSXNBbHdheXNOb25FZGl0YWJsZSkgY29uc3Q7
CkBAIC03OTUsMTggKzc5NiwxMyBAQCBwcml2YXRlOgogCiAgICAgRWxlbWVudCogYW5jZXN0b3JF
bGVtZW50KCkgY29uc3Q7CiAKLSAgICAvLyBVc2UgTm9kZTo6cGFyZW50Tm9kZSBhcyB0aGUgY29u
c2lzdGVudCB3YXkgb2YgcXVlcnlpbmcgYSBwYXJlbnQgbm9kZS4KLSAgICAvLyBUaGlzIG1ldGhv
ZCBpcyBtYWRlIHByaXZhdGUgdG8gZW5zdXJlIGEgY29tcGlsZXIgZXJyb3Igb24gY2FsbCBzaXRl
cyB0aGF0Ci0gICAgLy8gZG9uJ3QgZm9sbG93IHRoaXMgcnVsZS4KLSAgICB1c2luZyBUcmVlU2hh
cmVkPE5vZGUsIENvbnRhaW5lck5vZGU+OjpwYXJlbnQ7Ci0gICAgdXNpbmcgVHJlZVNoYXJlZDxO
b2RlLCBDb250YWluZXJOb2RlPjo6c2V0UGFyZW50OwotCiAgICAgdm9pZCB0cmFja0ZvckRlYnVn
Z2luZygpOwogCiAgICAgVmVjdG9yPE93blB0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9u
PiA+KiBtdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKTsKICAgICBIYXNoU2V0PE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24qPiogdHJhbnNpZW50TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCk7
CiAKICAgICBtdXRhYmxlIHVpbnQzMl90IG1fbm9kZUZsYWdzOworICAgIENvbnRhaW5lck5vZGUq
IG1fcGFyZW50T3JIb3N0Tm9kZTsKICAgICBUcmVlU2NvcGUqIG1fdHJlZVNjb3BlOwogICAgIE5v
ZGUqIG1fcHJldmlvdXM7CiAgICAgTm9kZSogbV9uZXh0OwpAQCAtODQyLDE5ICs4MzgsMjEgQEAg
aW5saW5lIHZvaWQgYWRkU3VicmVzb3VyY2VVUkwoTGlzdEhhc2hTZQogICAgICAgICB1cmxzLmFk
ZCh1cmwpOwogfQogCi1pbmxpbmUgQ29udGFpbmVyTm9kZSogTm9kZTo6cGFyZW50Tm9kZSgpIGNv
bnN0CitpbmxpbmUgdm9pZCBOb2RlOjpzZXRQYXJlbnRPckhvc3ROb2RlKENvbnRhaW5lck5vZGUq
IHBhcmVudCkKIHsKLSAgICByZXR1cm4gaXNTaGFkb3dSb290KCkgPyAwIDogcGFyZW50KCk7Cisg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBtX3BhcmVudE9ySG9zdE5vZGUgPSBwYXJl
bnQ7CiB9CiAKLWlubGluZSB2b2lkIE5vZGU6OnNldFBhcmVudE9ySG9zdE5vZGUoQ29udGFpbmVy
Tm9kZSogcGFyZW50KQoraW5saW5lIENvbnRhaW5lck5vZGUqIE5vZGU6OnBhcmVudE9ySG9zdE5v
ZGUoKSBjb25zdAogewotICAgIHNldFBhcmVudChwYXJlbnQpOworICAgIEFTU0VSVChpc01haW5U
aHJlYWRPckdDVGhyZWFkKCkpOworICAgIHJldHVybiBtX3BhcmVudE9ySG9zdE5vZGU7CiB9CiAK
LWlubGluZSBDb250YWluZXJOb2RlKiBOb2RlOjpwYXJlbnRPckhvc3ROb2RlKCkgY29uc3QKK2lu
bGluZSBDb250YWluZXJOb2RlKiBOb2RlOjpwYXJlbnROb2RlKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gcGFyZW50KCk7CisgICAgcmV0dXJuIGlzU2hhZG93Um9vdCgpID8gMCA6IHBhcmVudE9ySG9z
dE5vZGUoKTsKIH0KIAogaW5saW5lIENvbnRhaW5lck5vZGUqIE5vZGU6OnBhcmVudE5vZGVHdWFy
YW50ZWVkSG9zdEZyZWUoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFy
ZWQuaAkocmV2aXNpb24gMTM5NzQ4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNo
YXJlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNiArMjgsMTUgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogI2lmbmRlZiBOREVCVUcKLXRlbXBsYXRlPHR5cGVuYW1lIE5vZGVUeXBlLCB0eXBl
bmFtZSBQYXJlbnROb2RlVHlwZT4gY2xhc3MgVHJlZVNoYXJlZDsKLXRlbXBsYXRlPHR5cGVuYW1l
IE5vZGVUeXBlLCB0eXBlbmFtZSBQYXJlbnROb2RlVHlwZT4gdm9pZCBhZG9wdGVkKFRyZWVTaGFy
ZWQ8Tm9kZVR5cGUsIFBhcmVudE5vZGVUeXBlPiopOwordGVtcGxhdGU8dHlwZW5hbWUgTm9kZVR5
cGU+IGNsYXNzIFRyZWVTaGFyZWQ7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBOb2RlVHlwZT4gdm9pZCBh
ZG9wdGVkKFRyZWVTaGFyZWQ8Tm9kZVR5cGU+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgTm9kZVR5cGUsIHR5cGVuYW1lIFBhcmVudE5vZGVUeXBlPiBjbGFzcyBUcmVlU2hhcmVkIHsK
K3RlbXBsYXRlPHR5cGVuYW1lIE5vZGVUeXBlPiBjbGFzcyBUcmVlU2hhcmVkIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHByb3RlY3RlZDoKICAgICBUcmVlU2hhcmVk
KCkKLSAgICAgICAgOiBtX3BhcmVudCgwKQotICAgICAgICAsIG1fcmVmQ291bnQoMSkKKyAgICAg
ICAgOiBtX3JlZkNvdW50KDEpCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICAsIG1fYWRvcHRpb25J
c1JlcXVpcmVkKHRydWUpCiAjZW5kaWYKQEAgLTc0LDExICs3MywxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIEFTU0VSVCghbV9kZWxldGlvbkhhc0JlZ3VuKTsKICAgICAgICAgQVNTRVJUKCFtX2luUmVt
b3ZlZExhc3RSZWZGdW5jdGlvbik7CiAgICAgICAgIEFTU0VSVCghbV9hZG9wdGlvbklzUmVxdWly
ZWQpOwotICAgICAgICBpZiAoLS1tX3JlZkNvdW50IDw9IDAgJiYgIW1fcGFyZW50KSB7CisgICAg
ICAgIE5vZGVUeXBlKiB0aGlzTm9kZSA9IHN0YXRpY19jYXN0PE5vZGVUeXBlKj4odGhpcyk7Cisg
ICAgICAgIGlmICgtLW1fcmVmQ291bnQgPD0gMCAmJiAhdGhpc05vZGUtPmhhc1RyZWVTaGFyZWRQ
YXJlbnQoKSkgewogI2lmbmRlZiBOREVCVUcKICAgICAgICAgICAgIG1faW5SZW1vdmVkTGFzdFJl
ZkZ1bmN0aW9uID0gdHJ1ZTsKICNlbmRpZgotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Tm9kZVR5
cGUqPih0aGlzKS0+cmVtb3ZlZExhc3RSZWYoKTsKKyAgICAgICAgICAgIHRoaXNOb2RlLT5yZW1v
dmVkTGFzdFJlZigpOwogICAgICAgICB9CiAgICAgfQogCkBAIC05NCwzNSArOTQsMTYgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gbV9yZWZDb3VudDsKICAgICB9CiAKLSAgICB2b2lkIHNldFBh
cmVudChQYXJlbnROb2RlVHlwZSogcGFyZW50KQotICAgIHsgCi0gICAgICAgIEFTU0VSVChpc01h
aW5UaHJlYWQoKSk7Ci0gICAgICAgIG1fcGFyZW50ID0gcGFyZW50OyAKLSAgICB9Ci0KLSAgICBQ
YXJlbnROb2RlVHlwZSogcGFyZW50KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChpc01h
aW5UaHJlYWRPckdDVGhyZWFkKCkpOwotICAgICAgICByZXR1cm4gbV9wYXJlbnQ7Ci0gICAgfQot
CiAjaWZuZGVmIE5ERUJVRwogICAgIGJvb2wgbV9kZWxldGlvbkhhc0JlZ3VuOwogICAgIGJvb2wg
bV9pblJlbW92ZWRMYXN0UmVmRnVuY3Rpb247CiAjZW5kaWYKIAotICAgIHZvaWQgcmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKLSAgICB7
Ci0gICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMpOwot
ICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3BhcmVudCk7Ci0gICAgfQotCiBwcml2YXRlOgogI2lm
bmRlZiBOREVCVUcKLSAgICBmcmllbmQgdm9pZCBhZG9wdGVkPD4oVHJlZVNoYXJlZDxOb2RlVHlw
ZSwgUGFyZW50Tm9kZVR5cGU+Kik7CisgICAgZnJpZW5kIHZvaWQgYWRvcHRlZDw+KFRyZWVTaGFy
ZWQ8Tm9kZVR5cGU+Kik7CiAjZW5kaWYKIAotICAgIFBhcmVudE5vZGVUeXBlKiBtX3BhcmVudDsK
ICAgICBpbnQgbV9yZWZDb3VudDsKIAogI2lmbmRlZiBOREVCVUcKQEAgLTEzMiw3ICsxMTMsNyBA
QCBwcml2YXRlOgogCiAjaWZuZGVmIE5ERUJVRwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBOb2RlVHlw
ZSwgdHlwZW5hbWUgUGFyZW50Tm9kZVR5cGU+IGlubGluZSB2b2lkIGFkb3B0ZWQoVHJlZVNoYXJl
ZDxOb2RlVHlwZSwgUGFyZW50Tm9kZVR5cGU+KiBvYmplY3QpCit0ZW1wbGF0ZTx0eXBlbmFtZSBO
b2RlVHlwZT4gaW5saW5lIHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPE5vZGVUeXBlPiogb2JqZWN0
KQogewogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmNwcAkocmV2aXNpb24gMTM5NzQ4KQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBpbnN0YW5jZUNvdW50ZXIsICgiV2ViQ29y
ZVNWR0VsZW1lbnRJbnN0YW5jZSIpKTsKIAogU1ZHRWxlbWVudEluc3RhbmNlOjpTVkdFbGVtZW50
SW5zdGFuY2UoU1ZHVXNlRWxlbWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVs
ZW1lbnQqIGRpcmVjdFVzZUVsZW1lbnQsIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxF
bGVtZW50KQotICAgIDogbV9jb3JyZXNwb25kaW5nVXNlRWxlbWVudChjb3JyZXNwb25kaW5nVXNl
RWxlbWVudCkKKyAgICA6IG1fcGFyZW50SW5zdGFuY2UoMCkKKyAgICAsIG1fY29ycmVzcG9uZGlu
Z1VzZUVsZW1lbnQoY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpCiAgICAgLCBtX2RpcmVjdFVzZUVs
ZW1lbnQoZGlyZWN0VXNlRWxlbWVudCkKICAgICAsIG1fZWxlbWVudChvcmlnaW5hbEVsZW1lbnQp
CiAgICAgLCBtX3ByZXZpb3VzU2libGluZygwKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnRJbnN0YW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdF
bGVtZW50SW5zdGFuY2UuaAkocmV2aXNpb24gMTM5NzQ4KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnRJbnN0YW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIFNWR0VsZW1lbnRJbnN0YW5jZUxpc3Q7CiBjbGFzcyBTVkdTdHlsZWRFbGVtZW50OwogCiAv
LyBTVkdFbGVtZW50SW5zdGFuY2UgbWltaWNzIE5vZGUsIGJ1dCB3aXRob3V0IHByb3ZpZGluZyBh
bGwgaXRzIGZ1bmN0aW9uYWxpdHkKLWNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZSA6IHB1YmxpYyBF
dmVudFRhcmdldCwgcHVibGljIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlLCBTVkdFbGVt
ZW50SW5zdGFuY2U+IHsKK2NsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZSA6IHB1YmxpYyBFdmVudFRh
cmdldCwgcHVibGljIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlPiB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRWxlbWVudEluc3RhbmNlPiBjcmVhdGUoU1ZHVXNlRWxl
bWVudCogY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQsIFNWR1VzZUVsZW1lbnQqIGRpcmVjdFVzZUVs
ZW1lbnQsIFBhc3NSZWZQdHI8U1ZHRWxlbWVudD4gb3JpZ2luYWxFbGVtZW50KQogICAgIHsKQEAg
LTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+U1ZHRWxlbWVudEluc3RhbmNl
KCk7CiAKLSAgICB2b2lkIHNldFBhcmVudE9ySG9zdE5vZGUoU1ZHRWxlbWVudEluc3RhbmNlKiBp
bnN0YW5jZSkgeyBzZXRQYXJlbnQoaW5zdGFuY2UpOyB9CisgICAgdm9pZCBzZXRQYXJlbnRPckhv
c3ROb2RlKFNWR0VsZW1lbnRJbnN0YW5jZSogaW5zdGFuY2UpIHsgbV9wYXJlbnRJbnN0YW5jZSA9
IGluc3RhbmNlOyB9CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNl
TmFtZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwpAQCAtNjYsNyArNjYsNyBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGRldGFjaCgpOwogCi0gICAgU1ZHRWxlbWVudEluc3RhbmNlKiBwYXJlbnROb2RlKCkg
Y29uc3QgeyByZXR1cm4gcGFyZW50KCk7IH0KKyAgICBTVkdFbGVtZW50SW5zdGFuY2UqIHBhcmVu
dE5vZGUoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudEluc3RhbmNlOyB9CiAgICAgUGFzc1JlZlB0
cjxTVkdFbGVtZW50SW5zdGFuY2VMaXN0PiBjaGlsZE5vZGVzKCk7CiAKICAgICBTVkdFbGVtZW50
SW5zdGFuY2UqIHByZXZpb3VzU2libGluZygpIGNvbnN0IHsgcmV0dXJuIG1fcHJldmlvdXNTaWJs
aW5nOyB9CkBAIC05OCw4ICs5OCw4IEBAIHB1YmxpYzoKICAgICAKICAgICBzdGF0aWMgdm9pZCBp
bnZhbGlkYXRlQWxsSW5zdGFuY2VzT2ZFbGVtZW50KFNWR0VsZW1lbnQqKTsKIAotICAgIHVzaW5n
IFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlLCBTVkdFbGVtZW50SW5zdGFuY2U+OjpyZWY7
Ci0gICAgdXNpbmcgVHJlZVNoYXJlZDxTVkdFbGVtZW50SW5zdGFuY2UsIFNWR0VsZW1lbnRJbnN0
YW5jZT46OmRlcmVmOworICAgIHVzaW5nIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlPjo6
cmVmOworICAgIHVzaW5nIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudEluc3RhbmNlPjo6ZGVyZWY7CiAK
ICAgICAvLyBFdmVudFRhcmdldCBBUEkKICAgICBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgYWJvcnQpOwpAQCAtMTQ1LDEz
ICsxNDUsMTIgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTVkdVc2VF
bGVtZW50OwotICAgIGZyaWVuZCBjbGFzcyBUcmVlU2hhcmVkPFNWR0VsZW1lbnRJbnN0YW5jZSwg
U1ZHRWxlbWVudEluc3RhbmNlPjsKLQotICAgIHVzaW5nIFRyZWVTaGFyZWQ8U1ZHRWxlbWVudElu
c3RhbmNlLCBTVkdFbGVtZW50SW5zdGFuY2U+OjpwYXJlbnQ7Ci0gICAgdXNpbmcgVHJlZVNoYXJl
ZDxTVkdFbGVtZW50SW5zdGFuY2UsIFNWR0VsZW1lbnRJbnN0YW5jZT46OnNldFBhcmVudDsKKyAg
ICBmcmllbmQgY2xhc3MgVHJlZVNoYXJlZDxTVkdFbGVtZW50SW5zdGFuY2U+OwogCiAgICAgU1ZH
RWxlbWVudEluc3RhbmNlKFNWR1VzZUVsZW1lbnQqLCBTVkdVc2VFbGVtZW50KiwgUGFzc1JlZlB0
cjxTVkdFbGVtZW50PiBvcmlnaW5hbEVsZW1lbnQpOworCiAgICAgdm9pZCByZW1vdmVkTGFzdFJl
ZigpOworICAgIGJvb2wgaGFzVHJlZVNoYXJlZFBhcmVudCgpIGNvbnN0IHsgcmV0dXJuICEhbV9w
YXJlbnRJbnN0YW5jZTsgfQogCiAgICAgdmlydHVhbCBOb2RlKiB0b05vZGUoKSB7IHJldHVybiBz
aGFkb3dUcmVlRWxlbWVudCgpOyB9CiAKQEAgLTE4MCw2ICsxNzksOCBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKICAgICB2aXJ0dWFs
IEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CiAKKyAgICBTVkdFbGVt
ZW50SW5zdGFuY2UqIG1fcGFyZW50SW5zdGFuY2U7CisKICAgICBTVkdVc2VFbGVtZW50KiBtX2Nv
cnJlc3BvbmRpbmdVc2VFbGVtZW50OwogICAgIFNWR1VzZUVsZW1lbnQqIG1fZGlyZWN0VXNlRWxl
bWVudDsKICAgICBSZWZQdHI8U1ZHRWxlbWVudD4gbV9lbGVtZW50Owo=
</data>
<flag name="review"
          id="200941"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>