<?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>74671</bug_id>
          
          <creation_ts>2011-12-15 17:34:13 -0800</creation_ts>
          <short_desc>Improve performance of ChildListMutationScope when no MutationObservers are present</short_desc>
          <delta_ts>2011-12-16 10:27:33 -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>New Bugs</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="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>ojan</cc>
    
    <cc>rafaelw</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>522391</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-15 17:34:13 -0800</bug_when>
    <thetext>Improve performance of ChildListMutationScope when no MutationObservers are present</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522392</commentid>
    <comment_count>1</comment_count>
      <attachid>119529</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-15 17:37:11 -0800</bug_when>
    <thetext>Created attachment 119529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522826</commentid>
    <comment_count>2</comment_count>
      <attachid>119529</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 10:27:29 -0800</bug_when>
    <thetext>Comment on attachment 119529
Patch

Clearing flags on attachment: 119529

Committed r103079: &lt;http://trac.webkit.org/changeset/103079&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522827</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 10:27:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119529</attachid>
            <date>2011-12-15 17:37:11 -0800</date>
            <delta_ts>2011-12-16 10:27:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74671-20111215173710.patch</filename>
            <type>text/plain</type>
            <size>14583</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ4ZGIwNjNlNmJlY2Nk
NmZjODY1NjE1ZTBhYmVjOGQ2YjQ0NDk0Yi4uMGVmNWRiZGFlMTY0ODUwZTdmOWQ4NDA3MzZiMDI3
NWMwN2QxMDVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDExLTEyLTE1ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEltcHJvdmUgcGVyZm9ybWFu
Y2Ugb2YgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSB3aGVuIG5vIE11dGF0aW9uT2JzZXJ2ZXJzIGFy
ZSBwcmVzZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NDY3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElubGluZSBDaGlsZExpc3RNdXRhdGlvblNjb3BlJ3MgbWV0aG9kcyAoaW5jbHVkaW5nIGNvbnN0
cnVjdG9yIGFuZAorICAgICAgICBkZXN0cnVjdG9yKSwgYW5kIHByb3ZpZGUgYSBmYXN0LWZhaWwg
Y2FzZSB3aGVuIG5vIG11dGF0aW9uIG9ic2VydmVycworICAgICAgICBhcmUgcHJlc2VudC4KKwor
ICAgICAgICBUaGUgY29kZSByZW9yZ2FuaXphdGlvbiBuZWNlc3NhcnkgZm9yIHRoZSBhYm92ZSBh
bHNvIHJlbW92ZWQgdGhlCisgICAgICAgIGFub255bW91cyBuYW1lc3BhY2UgaW4gQ2hpbGRMaXN0
TXV0YXRpb25TY29wZS5jcHAsIG1ha2luZyBib3RoIGhlbHBlcgorICAgICAgICBjbGFzc2VzIHBy
aXZhdGUgaW5uZXIgY2xhc3NlcyBvZiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgcmVmYWN0b3Jpbmcgb25seS4KKworICAgICAgICAqIGRvbS9DaGlsZExp
c3RNdXRhdGlvblNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdE11dGF0aW9u
U2NvcGU6Ok11dGF0aW9uQWNjdW11bGF0b3I6Ok11dGF0aW9uQWNjdW11bGF0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRvcjo6
fk11dGF0aW9uQWNjdW11bGF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0YXRp
b25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRvcjo6aXNBZGRlZE5vZGVJbk9yZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGU6Ok11dGF0aW9uQWNjdW11bGF0b3I6
OmNoaWxkQWRkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0YXRpb25TY29wZTo6
TXV0YXRpb25BY2N1bXVsYXRvcjo6aXNSZW1vdmVkTm9kZUluT3JkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hpbGRMaXN0TXV0YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRvcjo6d2lsbFJl
bW92ZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGU6Ok11
dGF0aW9uQWNjdW11bGF0b3I6OmVucXVldWVNdXRhdGlvblJlY29yZCk6CisgICAgICAgIChXZWJD
b3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdG9yOjpjbGVhcik6
CisgICAgICAgIChXZWJDb3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3Vt
dWxhdG9yOjppc0VtcHR5KToKKyAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2Nv
cGU6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjpNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRl
cik6CisgICAgICAgIChXZWJDb3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFj
Y3VtdWxhdGlvblJvdXRlcjo6fk11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGU6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91
dGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2Nv
cGU6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjppbnN0YW5jZSk6CisgICAgICAgIChXZWJD
b3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6
Y2hpbGRBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpN
dXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6d2lsbFJlbW92ZUNoaWxkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGU6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVy
OjppbmNyZW1lbnRTY29waW5nTGV2ZWwpOgorICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0
YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6OmRlY3JlbWVudFNjb3BpbmdM
ZXZlbCk6CisgICAgICAgICogZG9tL0NoaWxkTGlzdE11dGF0aW9uU2NvcGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0YXRpb25TY29wZTo6fkNoaWxkTGlzdE11
dGF0aW9uU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hpbGRMaXN0TXV0YXRpb25TY29wZTo6
Y2hpbGRBZGRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDaGlsZExpc3RNdXRhdGlvblNjb3BlOjp3
aWxsUmVtb3ZlQ2hpbGQpOgorCiAyMDExLTEyLTE1ICBSYWZhZWwgV2VpbnN0ZWluICA8cmFmYWVs
d0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBBZGQgYSBkb2N1
bWVudC1sZXZlbCBmbGFnIHRoYXQgY2FuIHRyaXZpYWxseSBiZSBjaGVja2VkIHRvIGF2b2lkIGRv
aW5nIHVubmVzc2FyeSB3b3JrIGlmIG11dGF0aW9uIG9ic2VydmVycyBhYnNlbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGlsZExpc3RNdXRhdGlvblNjb3BlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9DaGlsZExpc3RNdXRhdGlvblNjb3BlLmNwcAppbmRleCBkMzg4ZjUxYWZj
ODM0MDJlMDA1NjA0OWM0M2MzMjI0OGNlZDZlOWIzLi5jYmFhYTRlZmVjMDE3YjM2MjJiNjg0OTRj
ZGU0ZjE5MzFjY2FiZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hpbGRMaXN0
TXV0YXRpb25TY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoaWxkTGlzdE11dGF0
aW9uU2NvcGUuY3BwCkBAIC00NSwxNyArNDUsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1uYW1lc3BhY2UgewotCi0vLyBDaGlsZExpc3RNdXRhdGlvbkFjY3VtdWxhdG9yIGV4cGVjdHMg
dGhhdCBhbGwgcmVtb3ZhbHMgZnJvbSBhIHBhcmVudCB0YWtlIHBsYWNlIGluIG9yZGVyCisvLyBN
dXRhdGlvbkFjY3VtdWxhdG9yIGV4cGVjdHMgdGhhdCBhbGwgcmVtb3ZhbHMgZnJvbSBhIHBhcmVu
dCB0YWtlIHBsYWNlIGluIG9yZGVyCiAvLyBhbmQgcHJlY2VkZSBhbnkgYWRkaXRpb25zLiBJZiB0
aGlzIGlzIHZpb2xhdGVkIChpLmUuIGJlY2F1c2Ugb2YgY29kZSBjaGFuZ2VzIGVsc2V3aGVyZQog
Ly8gaW4gV2ViQ29yZSkgaXQgd2lsbCBsaWtlbHkgcmVzdWx0IGluIGJvdGggKGEpIEFTU0VSVGlv
bnMgZmFpbGluZywgYW5kIChiKSBtdXRhdGlvbiByZWNvcmRzCiAvLyBiZWluZyBlbnF1ZXVlZCBm
b3IgZGVsaXZlcnkgYmVmb3JlIHRoZSBvdXRlci1tb3N0IHNjb3BlIGNsb3Nlcy4KLWNsYXNzIENo
aWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3IgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENo
aWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3IpOworY2xhc3MgQ2hpbGRMaXN0TXV0YXRpb25TY29w
ZTo6TXV0YXRpb25BY2N1bXVsYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0YXRp
b25BY2N1bXVsYXRvcik7CiBwdWJsaWM6Ci0gICAgQ2hpbGRMaXN0TXV0YXRpb25BY2N1bXVsYXRv
cihQYXNzUmVmUHRyPE5vZGU+LCBQYXNzT3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdy
b3VwPiBvYnNlcnZlcnMpOwotICAgIH5DaGlsZExpc3RNdXRhdGlvbkFjY3VtdWxhdG9yKCk7Cisg
ICAgTXV0YXRpb25BY2N1bXVsYXRvcihQYXNzUmVmUHRyPE5vZGU+LCBQYXNzT3duUHRyPE11dGF0
aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwPiBvYnNlcnZlcnMpOworICAgIH5NdXRhdGlvbkFjY3Vt
dWxhdG9yKCk7CiAKICAgICB2b2lkIGNoaWxkQWRkZWQoUGFzc1JlZlB0cjxOb2RlPik7CiAgICAg
dm9pZCB3aWxsUmVtb3ZlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPik7CkBAIC03Nyw0OCArNzUsMjQg
QEAgcHJpdmF0ZToKICAgICBPd25QdHI8TXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXA+IG1f
b2JzZXJ2ZXJzOwogfTsKIAotY2xhc3MgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXIgewotICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKTsKLXB1Ymxp
YzoKLSAgICB+TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXIoKTsKLQotICAgIHN0YXRpYyBNdXRh
dGlvbkFjY3VtdWxhdGlvblJvdXRlciogaW5zdGFuY2UoKTsKLQotICAgIHZvaWQgaW5jcmVtZW50
U2NvcGluZ0xldmVsKE5vZGUqKTsKLSAgICB2b2lkIGRlY3JlbWVudFNjb3BpbmdMZXZlbChOb2Rl
Kik7Ci0KLSAgICB2b2lkIGNoaWxkQWRkZWQoTm9kZSogdGFyZ2V0LCBOb2RlKiBjaGlsZCk7Ci0g
ICAgdm9pZCB3aWxsUmVtb3ZlQ2hpbGQoTm9kZSogdGFyZ2V0LCBOb2RlKiBjaGlsZCk7Ci0KLXBy
aXZhdGU6Ci0gICAgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXIoKTsKLSAgICBzdGF0aWMgdm9p
ZCBpbml0aWFsaXplKCk7Ci0KLSAgICB0eXBlZGVmIEhhc2hNYXA8Tm9kZSosIHVuc2lnbmVkPiBT
Y29waW5nTGV2ZWxNYXA7Ci0gICAgU2NvcGluZ0xldmVsTWFwIG1fc2NvcGluZ0xldmVsczsKLSAg
ICBIYXNoTWFwPE5vZGUqLCBPd25QdHI8Q2hpbGRMaXN0TXV0YXRpb25BY2N1bXVsYXRvcj4gPiBt
X2FjY3VtdWxhdGlvbnM7Ci0KLSAgICBzdGF0aWMgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXIq
IHNfaW5zdGFuY2U7Ci19OwotCi1DaGlsZExpc3RNdXRhdGlvbkFjY3VtdWxhdG9yOjpDaGlsZExp
c3RNdXRhdGlvbkFjY3VtdWxhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gdGFyZ2V0LCBQYXNzT3duUHRy
PE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwPiBvYnNlcnZlcnMpCitDaGlsZExpc3RNdXRh
dGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdG9yOjpNdXRhdGlvbkFjY3VtdWxhdG9yKFBhc3NS
ZWZQdHI8Tm9kZT4gdGFyZ2V0LCBQYXNzT3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdy
b3VwPiBvYnNlcnZlcnMpCiAgICAgOiBtX3RhcmdldCh0YXJnZXQpCiAgICAgLCBtX29ic2VydmVy
cyhvYnNlcnZlcnMpCiB7CiAgICAgY2xlYXIoKTsKIH0KIAotQ2hpbGRMaXN0TXV0YXRpb25BY2N1
bXVsYXRvcjo6fkNoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3IoKQorQ2hpbGRMaXN0TXV0YXRp
b25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRvcjo6fk11dGF0aW9uQWNjdW11bGF0b3IoKQogewog
ICAgIEFTU0VSVChpc0VtcHR5KCkpOwogfQogCi1pbmxpbmUgYm9vbCBDaGlsZExpc3RNdXRhdGlv
bkFjY3VtdWxhdG9yOjppc0FkZGVkTm9kZUluT3JkZXIoTm9kZSogY2hpbGQpCitpbmxpbmUgYm9v
bCBDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdG9yOjppc0FkZGVkTm9k
ZUluT3JkZXIoTm9kZSogY2hpbGQpCiB7CiAgICAgcmV0dXJuIGlzRW1wdHkoKSB8fCAobV9sYXN0
QWRkZWQgPT0gY2hpbGQtPnByZXZpb3VzU2libGluZygpICYmIG1fbmV4dFNpYmxpbmcgPT0gY2hp
bGQtPm5leHRTaWJsaW5nKCkpOwogfQogCi12b2lkIENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0
b3I6OmNoaWxkQWRkZWQoUGFzc1JlZlB0cjxOb2RlPiBwcnBDaGlsZCkKK3ZvaWQgQ2hpbGRMaXN0
TXV0YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRvcjo6Y2hpbGRBZGRlZChQYXNzUmVmUHRy
PE5vZGU+IHBycENoaWxkKQogewogICAgIFJlZlB0cjxOb2RlPiBjaGlsZCA9IHBycENoaWxkOwog
CkBAIC0xMzUsMTIgKzEwOSwxMiBAQCB2b2lkIENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I6
OmNoaWxkQWRkZWQoUGFzc1JlZlB0cjxOb2RlPiBwcnBDaGlsZCkKICAgICBtX2xhc3RBZGRlZCA9
IGNoaWxkOwogfQogCi1pbmxpbmUgYm9vbCBDaGlsZExpc3RNdXRhdGlvbkFjY3VtdWxhdG9yOjpp
c1JlbW92ZWROb2RlSW5PcmRlcihOb2RlKiBjaGlsZCkKK2lubGluZSBib29sIENoaWxkTGlzdE11
dGF0aW9uU2NvcGU6Ok11dGF0aW9uQWNjdW11bGF0b3I6OmlzUmVtb3ZlZE5vZGVJbk9yZGVyKE5v
ZGUqIGNoaWxkKQogewogICAgIHJldHVybiBpc0VtcHR5KCkgfHwgbV9uZXh0U2libGluZy5nZXQo
KSA9PSBjaGlsZDsKIH0KIAotdm9pZCBDaGlsZExpc3RNdXRhdGlvbkFjY3VtdWxhdG9yOjp3aWxs
UmVtb3ZlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBwcnBDaGlsZCkKK3ZvaWQgQ2hpbGRMaXN0TXV0
YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRvcjo6d2lsbFJlbW92ZUNoaWxkKFBhc3NSZWZQ
dHI8Tm9kZT4gcHJwQ2hpbGQpCiB7CiAgICAgUmVmUHRyPE5vZGU+IGNoaWxkID0gcHJwQ2hpbGQ7
CiAKQEAgLTE1OSw3ICsxMzMsNyBAQCB2b2lkIENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I6
OndpbGxSZW1vdmVDaGlsZChQYXNzUmVmUHRyPE5vZGU+IHBycENoaWxkKQogICAgIG1fcmVtb3Zl
ZE5vZGVzLmFwcGVuZChjaGlsZCk7CiB9CiAKLXZvaWQgQ2hpbGRMaXN0TXV0YXRpb25BY2N1bXVs
YXRvcjo6ZW5xdWV1ZU11dGF0aW9uUmVjb3JkKCkKK3ZvaWQgQ2hpbGRMaXN0TXV0YXRpb25TY29w
ZTo6TXV0YXRpb25BY2N1bXVsYXRvcjo6ZW5xdWV1ZU11dGF0aW9uUmVjb3JkKCkKIHsKICAgICBB
U1NFUlQoIWlzRW1wdHkoKSk7CiAgICAgaWYgKGlzRW1wdHkoKSkgewpAQCAtMTcyLDcgKzE0Niw3
IEBAIHZvaWQgQ2hpbGRMaXN0TXV0YXRpb25BY2N1bXVsYXRvcjo6ZW5xdWV1ZU11dGF0aW9uUmVj
b3JkKCkKICAgICBjbGVhcigpOwogfQogCi12b2lkIENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0
b3I6OmNsZWFyKCkKK3ZvaWQgQ2hpbGRMaXN0TXV0YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVs
YXRvcjo6Y2xlYXIoKQogewogICAgIGlmICghbV9yZW1vdmVkTm9kZXMuaXNFbXB0eSgpKQogICAg
ICAgICBtX3JlbW92ZWROb2Rlcy5jbGVhcigpOwpAQCAtMTgzLDMxICsxNTcsMzEgQEAgdm9pZCBD
aGlsZExpc3RNdXRhdGlvbkFjY3VtdWxhdG9yOjpjbGVhcigpCiAgICAgbV9sYXN0QWRkZWQgPSAw
OwogfQogCi1ib29sIENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I6OmlzRW1wdHkoKQorYm9v
bCBDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdG9yOjppc0VtcHR5KCkK
IHsKICAgICByZXR1cm4gbV9yZW1vdmVkTm9kZXMuaXNFbXB0eSgpICYmIG1fYWRkZWROb2Rlcy5p
c0VtcHR5KCk7CiB9CiAKLU11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKiBNdXRhdGlvbkFjY3Vt
dWxhdGlvblJvdXRlcjo6c19pbnN0YW5jZSA9IDA7CitDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpN
dXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlciogQ2hpbGRMaXN0TXV0YXRpb25TY29wZTo6TXV0YXRp
b25BY2N1bXVsYXRpb25Sb3V0ZXI6OnNfaW5zdGFuY2UgPSAwOwogCi1NdXRhdGlvbkFjY3VtdWxh
dGlvblJvdXRlcjo6TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXIoKQorQ2hpbGRMaXN0TXV0YXRp
b25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6Ok11dGF0aW9uQWNjdW11bGF0aW9u
Um91dGVyKCkKIHsKIH0KIAotTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6On5NdXRhdGlvbkFj
Y3VtdWxhdGlvblJvdXRlcigpCitDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3Vt
dWxhdGlvblJvdXRlcjo6fk11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKCkKIHsKICAgICBBU1NF
UlQobV9zY29waW5nTGV2ZWxzLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fYWNjdW11bGF0aW9u
cy5pc0VtcHR5KCkpOwogfQogCi12b2lkIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjppbml0
aWFsaXplKCkKK3ZvaWQgQ2hpbGRMaXN0TXV0YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRp
b25Sb3V0ZXI6OmluaXRpYWxpemUoKQogewogICAgIEFTU0VSVCghc19pbnN0YW5jZSk7Ci0gICAg
c19pbnN0YW5jZSA9IGFkb3B0UHRyKG5ldyBNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcikubGVh
a1B0cigpOworICAgIHNfaW5zdGFuY2UgPSBhZG9wdFB0cihuZXcgQ2hpbGRMaXN0TXV0YXRpb25T
Y29wZTo6TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXIpLmxlYWtQdHIoKTsKIH0KIAogCi1NdXRh
dGlvbkFjY3VtdWxhdGlvblJvdXRlciogTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6Omluc3Rh
bmNlKCkKK0NoaWxkTGlzdE11dGF0aW9uU2NvcGU6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVy
KiBDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6aW5z
dGFuY2UoKQogewogICAgIGlmICghc19pbnN0YW5jZSkKICAgICAgICAgaW5pdGlhbGl6ZSgpOwpA
QCAtMjE1LDkgKzE4OSw5IEBAIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKiBNdXRhdGlvbkFj
Y3VtdWxhdGlvblJvdXRlcjo6aW5zdGFuY2UoKQogICAgIHJldHVybiBzX2luc3RhbmNlOwogfQog
Ci12b2lkIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjpjaGlsZEFkZGVkKE5vZGUqIHRhcmdl
dCwgTm9kZSogY2hpbGQpCit2b2lkIENoaWxkTGlzdE11dGF0aW9uU2NvcGU6Ok11dGF0aW9uQWNj
dW11bGF0aW9uUm91dGVyOjpjaGlsZEFkZGVkKE5vZGUqIHRhcmdldCwgTm9kZSogY2hpbGQpCiB7
Ci0gICAgSGFzaE1hcDxOb2RlKiwgT3duUHRyPENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I+
ID46Oml0ZXJhdG9yIGl0ZXIgPSBtX2FjY3VtdWxhdGlvbnMuZmluZCh0YXJnZXQpOworICAgIEhh
c2hNYXA8Tm9kZSosIE93blB0cjxDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3Vt
dWxhdG9yPiA+OjppdGVyYXRvciBpdGVyID0gbV9hY2N1bXVsYXRpb25zLmZpbmQodGFyZ2V0KTsK
ICAgICBBU1NFUlQoaXRlciAhPSBtX2FjY3VtdWxhdGlvbnMuZW5kKCkpOwogICAgIGlmIChpdGVy
ID09IG1fYWNjdW11bGF0aW9ucy5lbmQoKSB8fCAhaXRlci0+c2Vjb25kKQogICAgICAgICByZXR1
cm47CkBAIC0yMjUsOSArMTk5LDkgQEAgdm9pZCBNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6
Y2hpbGRBZGRlZChOb2RlKiB0YXJnZXQsIE5vZGUqIGNoaWxkKQogICAgIGl0ZXItPnNlY29uZC0+
Y2hpbGRBZGRlZChjaGlsZCk7CiB9CiAKLXZvaWQgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6
OndpbGxSZW1vdmVDaGlsZChOb2RlKiB0YXJnZXQsIE5vZGUqIGNoaWxkKQordm9pZCBDaGlsZExp
c3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6d2lsbFJlbW92ZUNo
aWxkKE5vZGUqIHRhcmdldCwgTm9kZSogY2hpbGQpCiB7Ci0gICAgSGFzaE1hcDxOb2RlKiwgT3du
UHRyPENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I+ID46Oml0ZXJhdG9yIGl0ZXIgPSBtX2Fj
Y3VtdWxhdGlvbnMuZmluZCh0YXJnZXQpOworICAgIEhhc2hNYXA8Tm9kZSosIE93blB0cjxDaGls
ZExpc3RNdXRhdGlvblNjb3BlOjpNdXRhdGlvbkFjY3VtdWxhdG9yPiA+OjppdGVyYXRvciBpdGVy
ID0gbV9hY2N1bXVsYXRpb25zLmZpbmQodGFyZ2V0KTsKICAgICBBU1NFUlQoaXRlciAhPSBtX2Fj
Y3VtdWxhdGlvbnMuZW5kKCkpOwogICAgIGlmIChpdGVyID09IG1fYWNjdW11bGF0aW9ucy5lbmQo
KSB8fCAhaXRlci0+c2Vjb25kKQogICAgICAgICByZXR1cm47CkBAIC0yMzUsNyArMjA5LDcgQEAg
dm9pZCBNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6d2lsbFJlbW92ZUNoaWxkKE5vZGUqIHRh
cmdldCwgTm9kZSogY2hpbGQpCiAgICAgaXRlci0+c2Vjb25kLT53aWxsUmVtb3ZlQ2hpbGQoY2hp
bGQpOwogfQogCi12b2lkIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjppbmNyZW1lbnRTY29w
aW5nTGV2ZWwoTm9kZSogdGFyZ2V0KQordm9pZCBDaGlsZExpc3RNdXRhdGlvblNjb3BlOjpNdXRh
dGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6aW5jcmVtZW50U2NvcGluZ0xldmVsKE5vZGUqIHRhcmdl
dCkKIHsKICAgICBwYWlyPFNjb3BpbmdMZXZlbE1hcDo6aXRlcmF0b3IsIGJvb2w+IHJlc3VsdCA9
IG1fc2NvcGluZ0xldmVscy5hZGQodGFyZ2V0LCAxKTsKICAgICBpZiAoIXJlc3VsdC5zZWNvbmQp
IHsKQEAgLTI0NCwxNCArMjE4LDE0IEBAIHZvaWQgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6
OmluY3JlbWVudFNjb3BpbmdMZXZlbChOb2RlKiB0YXJnZXQpCiAgICAgfQogCiAgICAgaWYgKE93
blB0cjxNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cD4gb2JzZXJ2ZXJzID0gTXV0YXRpb25P
YnNlcnZlckludGVyZXN0R3JvdXA6OmNyZWF0ZUZvckNoaWxkTGlzdE11dGF0aW9uKHRhcmdldCkp
Ci0gICAgICAgIG1fYWNjdW11bGF0aW9ucy5zZXQodGFyZ2V0LCBhZG9wdFB0cihuZXcgQ2hpbGRM
aXN0TXV0YXRpb25BY2N1bXVsYXRvcih0YXJnZXQsIG9ic2VydmVycy5yZWxlYXNlKCkpKSk7Cisg
ICAgICAgIG1fYWNjdW11bGF0aW9ucy5zZXQodGFyZ2V0LCBhZG9wdFB0cihuZXcgQ2hpbGRMaXN0
TXV0YXRpb25TY29wZTo6TXV0YXRpb25BY2N1bXVsYXRvcih0YXJnZXQsIG9ic2VydmVycy5yZWxl
YXNlKCkpKSk7CiAjaWZuZGVmIE5ERUJVRwogICAgIGVsc2UKICAgICAgICAgbV9hY2N1bXVsYXRp
b25zLnNldCh0YXJnZXQsIG51bGxwdHIpOwogI2VuZGlmCiB9CiAKLXZvaWQgTXV0YXRpb25BY2N1
bXVsYXRpb25Sb3V0ZXI6OmRlY3JlbWVudFNjb3BpbmdMZXZlbChOb2RlKiB0YXJnZXQpCit2b2lk
IENoaWxkTGlzdE11dGF0aW9uU2NvcGU6Ok11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjpkZWNy
ZW1lbnRTY29waW5nTGV2ZWwoTm9kZSogdGFyZ2V0KQogewogICAgIFNjb3BpbmdMZXZlbE1hcDo6
aXRlcmF0b3IgaXRlciA9IG1fc2NvcGluZ0xldmVscy5maW5kKHRhcmdldCk7CiAgICAgQVNTRVJU
KGl0ZXIgIT0gbV9zY29waW5nTGV2ZWxzLmVuZCgpKTsKQEAgLTI2MiwzNCArMjM2LDExIEBAIHZv
aWQgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6OmRlY3JlbWVudFNjb3BpbmdMZXZlbChOb2Rl
KiB0YXJnZXQpCiAKICAgICBtX3Njb3BpbmdMZXZlbHMucmVtb3ZlKGl0ZXIpOwogCi0gICAgT3du
UHRyPENoaWxkTGlzdE11dGF0aW9uQWNjdW11bGF0b3I+IHJlY29yZChtX2FjY3VtdWxhdGlvbnMu
dGFrZSh0YXJnZXQpKTsKKyAgICBPd25QdHI8TXV0YXRpb25BY2N1bXVsYXRvcj4gcmVjb3JkKG1f
YWNjdW11bGF0aW9ucy50YWtlKHRhcmdldCkpOwogICAgIGlmIChyZWNvcmQpCiAgICAgICAgIHJl
Y29yZC0+ZW5xdWV1ZU11dGF0aW9uUmVjb3JkKCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlCi0KLUNo
aWxkTGlzdE11dGF0aW9uU2NvcGU6OkNoaWxkTGlzdE11dGF0aW9uU2NvcGUoTm9kZSogdGFyZ2V0
KQotICAgIDogbV90YXJnZXQodGFyZ2V0KQotewotICAgIE11dGF0aW9uQWNjdW11bGF0aW9uUm91
dGVyOjppbnN0YW5jZSgpLT5pbmNyZW1lbnRTY29waW5nTGV2ZWwobV90YXJnZXQpOwotfQotCi1D
aGlsZExpc3RNdXRhdGlvblNjb3BlOjp+Q2hpbGRMaXN0TXV0YXRpb25TY29wZSgpCi17Ci0gICAg
TXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6Omluc3RhbmNlKCktPmRlY3JlbWVudFNjb3BpbmdM
ZXZlbChtX3RhcmdldCk7Ci19Ci0KLXZvaWQgQ2hpbGRMaXN0TXV0YXRpb25TY29wZTo6Y2hpbGRB
ZGRlZChOb2RlKiBjaGlsZCkKLXsKLSAgICBNdXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6aW5z
dGFuY2UoKS0+Y2hpbGRBZGRlZChtX3RhcmdldCwgY2hpbGQpOwotfQotCi12b2lkIENoaWxkTGlz
dE11dGF0aW9uU2NvcGU6OndpbGxSZW1vdmVDaGlsZChOb2RlKiBjaGlsZCkKLXsKLSAgICBNdXRh
dGlvbkFjY3VtdWxhdGlvblJvdXRlcjo6aW5zdGFuY2UoKS0+d2lsbFJlbW92ZUNoaWxkKG1fdGFy
Z2V0LCBjaGlsZCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Q2hpbGRMaXN0TXV0YXRpb25TY29wZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoaWxkTGlzdE11
dGF0aW9uU2NvcGUuaAppbmRleCA1MTIzYzBmMzBmNzllMzM1MTZiZjhmYTk4MjE3ODkxMGZiMjdi
MzU5Li42ZGQ1MjM2NDBiNjFmMDZmM2E1M2JhNTc1YjVjYWVkOTIzN2M0MDVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hpbGRMaXN0TXV0YXRpb25TY29wZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9DaGlsZExpc3RNdXRhdGlvblNjb3BlLmgKQEAgLTMzLDIyICszMyw3MCBA
QAogCiAjaWYgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUykKIAorI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1ZGUgIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIu
aCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBOb2RlOwotCiBjbGFzcyBDaGlsZExpc3RNdXRhdGlvblNjb3BlIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDaGlsZExpc3RNdXRhdGlvblNjb3BlKTsKIHB1YmxpYzoKLSAgICBDaGlsZExp
c3RNdXRhdGlvblNjb3BlKE5vZGUqIHRhcmdldCk7Ci0gICAgfkNoaWxkTGlzdE11dGF0aW9uU2Nv
cGUoKTsKKyAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlKE5vZGUqIHRhcmdldCkKKyAgICAgICAg
OiBtX3RhcmdldCh0YXJnZXQtPmRvY3VtZW50KCktPmhhc011dGF0aW9uT2JzZXJ2ZXJzT2ZUeXBl
KFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6OkNoaWxkTGlzdCkgPyB0YXJnZXQgOiAwKQorICAgIHsK
KyAgICAgICAgaWYgKG1fdGFyZ2V0KQorICAgICAgICAgICAgTXV0YXRpb25BY2N1bXVsYXRpb25S
b3V0ZXI6Omluc3RhbmNlKCktPmluY3JlbWVudFNjb3BpbmdMZXZlbChtX3RhcmdldCk7CisgICAg
fQorCisgICAgfkNoaWxkTGlzdE11dGF0aW9uU2NvcGUoKQorICAgIHsKKyAgICAgICAgaWYgKG1f
dGFyZ2V0KQorICAgICAgICAgICAgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6Omluc3RhbmNl
KCktPmRlY3JlbWVudFNjb3BpbmdMZXZlbChtX3RhcmdldCk7CisgICAgfQorCisgICAgdm9pZCBj
aGlsZEFkZGVkKE5vZGUqIGNoaWxkKQorICAgIHsKKyAgICAgICAgaWYgKG1fdGFyZ2V0KQorICAg
ICAgICAgICAgTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXI6Omluc3RhbmNlKCktPmNoaWxkQWRk
ZWQobV90YXJnZXQsIGNoaWxkKTsKKyAgICB9CiAKLSAgICB2b2lkIGNoaWxkQWRkZWQoTm9kZSop
OwotICAgIHZvaWQgd2lsbFJlbW92ZUNoaWxkKE5vZGUqKTsKKyAgICB2b2lkIHdpbGxSZW1vdmVD
aGlsZChOb2RlKiBjaGlsZCkKKyAgICB7CisgICAgICAgIGlmIChtX3RhcmdldCkKKyAgICAgICAg
ICAgIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyOjppbnN0YW5jZSgpLT53aWxsUmVtb3ZlQ2hp
bGQobV90YXJnZXQsIGNoaWxkKTsKKyAgICB9CiAKIHByaXZhdGU6CisgICAgY2xhc3MgTXV0YXRp
b25BY2N1bXVsYXRvcjsKKworICAgIGNsYXNzIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0YXRpb25BY2N1bXVsYXRpb25Sb3V0ZXIp
OworICAgIHB1YmxpYzoKKyAgICAgICAgfk11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKCk7CisK
KyAgICAgICAgc3RhdGljIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKiBpbnN0YW5jZSgpOwor
CisgICAgICAgIHZvaWQgaW5jcmVtZW50U2NvcGluZ0xldmVsKE5vZGUqKTsKKyAgICAgICAgdm9p
ZCBkZWNyZW1lbnRTY29waW5nTGV2ZWwoTm9kZSopOworCisgICAgICAgIHZvaWQgY2hpbGRBZGRl
ZChOb2RlKiB0YXJnZXQsIE5vZGUqIGNoaWxkKTsKKyAgICAgICAgdm9pZCB3aWxsUmVtb3ZlQ2hp
bGQoTm9kZSogdGFyZ2V0LCBOb2RlKiBjaGlsZCk7CisKKyAgICBwcml2YXRlOgorICAgICAgICBN
dXRhdGlvbkFjY3VtdWxhdGlvblJvdXRlcigpOworICAgICAgICBzdGF0aWMgdm9pZCBpbml0aWFs
aXplKCk7CisKKyAgICAgICAgdHlwZWRlZiBIYXNoTWFwPE5vZGUqLCB1bnNpZ25lZD4gU2NvcGlu
Z0xldmVsTWFwOworICAgICAgICBTY29waW5nTGV2ZWxNYXAgbV9zY29waW5nTGV2ZWxzOworICAg
ICAgICBIYXNoTWFwPE5vZGUqLCBPd25QdHI8TXV0YXRpb25BY2N1bXVsYXRvcj4gPiBtX2FjY3Vt
dWxhdGlvbnM7CisKKyAgICAgICAgc3RhdGljIE11dGF0aW9uQWNjdW11bGF0aW9uUm91dGVyKiBz
X2luc3RhbmNlOworICAgIH07CisKICAgICBOb2RlKiBtX3RhcmdldDsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>