<?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>94061</bug_id>
          
          <creation_ts>2012-08-14 19:30:29 -0700</creation_ts>
          <short_desc>[Refactoring] RenderMenuList and RenderListBox should have a method to return HTMLSelectElement</short_desc>
          <delta_ts>2012-08-14 21:02:36 -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>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>
          
          <blocked>91487</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>eric</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>695673</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-08-14 19:30:29 -0700</bug_when>
    <thetext>Instead of using toHTMLSelectElement(node()), it would be better to have a method to return HTMLSelectElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695678</commentid>
    <comment_count>1</comment_count>
      <attachid>158483</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-08-14 19:45:26 -0700</bug_when>
    <thetext>Created attachment 158483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695700</commentid>
    <comment_count>2</comment_count>
      <attachid>158483</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-08-14 20:31:46 -0700</bug_when>
    <thetext>Comment on attachment 158483
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695715</commentid>
    <comment_count>3</comment_count>
      <attachid>158483</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-14 21:02:32 -0700</bug_when>
    <thetext>Comment on attachment 158483
Patch

Clearing flags on attachment: 158483

Committed r125644: &lt;http://trac.webkit.org/changeset/125644&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695716</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-14 21:02:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158483</attachid>
            <date>2012-08-14 19:45:26 -0700</date>
            <delta_ts>2012-08-14 21:02:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94061-20120815114453.patch</filename>
            <type>text/plain</type>
            <size>18166</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJmMjc3ZjE3YjIwNzMy
OWIwZjVjMGVkZWIwMDVlNzkyN2Q1MzcwZS4uMDkzZWRjYzFhOTRhYmIyZmFhZTZkNDJhZGFjYjk5
Zjk1ODAzYzBlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDEyLTA4LTE0ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVmYWN0b3Jp
bmddIFJlbmRlck1lbnVMaXN0IGFuZCBSZW5kZXJMaXN0Qm94IHNob3VsZCBoYXZlIGEgbWV0aG9k
IHRvIHJldHVybiBIVE1MU2VsZWN0RWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0MDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhIHByZXBhcmF0aW9uIHBhdGNoIGZvciBCdWcg
OTE0ODcuIFNpbmNlIFJlbmRlck1lbnVMaXN0Ojpub2RlKCkgYW5kIFJlbmRlckxpc3RCb3g6Om5v
ZGUoKQorICAgICAgICB3aWxsIG5vdCByZXR1cm4gSFRNTFNlbGVjdEVsZW1lbnQgdG8gZml4IEJ1
ZyA5MTQ4NywgaXQgd291bGQgYmUgZ29vZCB0byBoYXZlIGEgbWV0aG9kIHRvIEhUTUxTZWxlY3RF
bGVtZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6c2VsZWN0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGlzdEJveDo6bnVtSXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJv
eDo6YWRkRm9jdXNSaW5nUmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6
cGFpbnRJdGVtRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpw
YWludEl0ZW1CYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBh
blNjcm9sbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjphdXRvc2Nyb2xsKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnN0b3BBdXRvc2Nyb2xsKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnZhbHVlQ2hhbmdlZCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMaXN0Qm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoUmVuZGVyTGlzdEJv
eCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1lbnVMaXN0OjpzZWxlY3RFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6OnVwZGF0ZU9wdGlvbnNXaWR0aCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6dXBkYXRlRnJvbUVsZW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6OnNldFRleHRGcm9tT3B0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjpzaG93UG9wdXApOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTWVudUxpc3Q6OnZhbHVlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNZW51TGlzdDo6bGlzdEJveFNlbGVjdEl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTWVudUxpc3Q6Om11bHRpcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0
OjpkaWRTZXRTZWxlY3RlZEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0
OjpkaWRVcGRhdGVBY3RpdmVPcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxp
c3Q6Oml0ZW1UZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjppdGVtQWNj
ZXNzaWJpbGl0eVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6Oml0ZW1U
b29sVGlwKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjppdGVtSXNFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjppdGVtU3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6Oml0ZW1CYWNrZ3JvdW5kQ29sb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6Omxpc3RTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1lbnVMaXN0OjpzZWxlY3RlZEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck1lbnVMaXN0OjppdGVtSXNTZXBhcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVu
dUxpc3Q6Oml0ZW1Jc0xhYmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojpp
dGVtSXNTZWxlY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6c2V0VGV4
dEZyb21JdGVtKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoUmVuZGVyTWVudUxpc3QpOgorCiAyMDEyLTA4LTE0ICBL
aWhvbmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgogCiAgICAgICAgIENsZWFyIHBh
dHRlcm4gdG8gcHJldmVudCB0aW1pbmcgcHJvYmxlbSBiZXR3ZWVuIGNhbmNlbFZpYnJhdGlvbiBh
bmQgdmlicmF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCmlu
ZGV4IDJmNWFlMmI2Yzc3ZmIyMTRiNmEyNWU1MWExMzc1ZmJmMmU2MzZiYjYuLjk0NGVhNWYwODMy
OWQ1ODE4MTJkOTA5NGZmNjU0MzRiOWMyNzRmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTEwNSwxMiArMTA1LDE3IEBAIFJlbmRlckxpc3RCb3g6
On5SZW5kZXJMaXN0Qm94KCkKICAgICAgICAgZnJhbWVWaWV3LT5yZW1vdmVTY3JvbGxhYmxlQXJl
YSh0aGlzKTsKIH0KIAoraW5saW5lIEhUTUxTZWxlY3RFbGVtZW50KiBSZW5kZXJMaXN0Qm94Ojpz
ZWxlY3RFbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG9IVE1MU2VsZWN0RWxlbWVudChu
b2RlKCkpOworfQorCiB2b2lkIFJlbmRlckxpc3RCb3g6OnVwZGF0ZUZyb21FbGVtZW50KCkKIHsK
ICAgICBGb250Q2FjaGVQdXJnZVByZXZlbnRlciBmb250Q2FjaGVQdXJnZVByZXZlbnRlcjsKIAog
ICAgIGlmIChtX29wdGlvbnNDaGFuZ2VkKSB7Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxl
bWVudCo+JiBsaXN0SXRlbXMgPSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSktPmxpc3RJdGVt
cygpOworICAgICAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0gc2Vs
ZWN0RWxlbWVudCgpLT5saXN0SXRlbXMoKTsKICAgICAgICAgaW50IHNpemUgPSBudW1JdGVtcygp
OwogICAgICAgICAKICAgICAgICAgZmxvYXQgd2lkdGggPSAwOwpAQCAtMTc2LDcgKzE4MSw3IEBA
IHZvaWQgUmVuZGVyTGlzdEJveDo6bGF5b3V0KCkKIAogdm9pZCBSZW5kZXJMaXN0Qm94OjpzY3Jv
bGxUb1JldmVhbFNlbGVjdGlvbigpCiB7ICAgIAotICAgIEhUTUxTZWxlY3RFbGVtZW50KiBzZWxl
Y3QgPSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAgSFRNTFNlbGVjdEVsZW1lbnQq
IHNlbGVjdCA9IHNlbGVjdEVsZW1lbnQoKTsKIAogICAgIG1fc2Nyb2xsVG9SZXZlYWxTZWxlY3Rp
b25BZnRlckxheW91dCA9IGZhbHNlOwogCkBAIC0yMjIsNyArMjI3LDcgQEAgdm9pZCBSZW5kZXJM
aXN0Qm94Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAKIGludCBSZW5kZXJMaXN0
Qm94OjpzaXplKCkgY29uc3QKIHsKLSAgICBpbnQgc3BlY2lmaWVkU2l6ZSA9IHRvSFRNTFNlbGVj
dEVsZW1lbnQobm9kZSgpKS0+c2l6ZSgpOworICAgIGludCBzcGVjaWZpZWRTaXplID0gc2VsZWN0
RWxlbWVudCgpLT5zaXplKCk7CiAgICAgaWYgKHNwZWNpZmllZFNpemUgPiAxKQogICAgICAgICBy
ZXR1cm4gbWF4KG1pblNpemUsIHNwZWNpZmllZFNpemUpOwogCkBAIC0yMzcsNyArMjQyLDcgQEAg
aW50IFJlbmRlckxpc3RCb3g6Om51bVZpc2libGVJdGVtcygpIGNvbnN0CiAKIGludCBSZW5kZXJM
aXN0Qm94OjpudW1JdGVtcygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1l
bnQobm9kZSgpKS0+bGlzdEl0ZW1zKCkuc2l6ZSgpOworICAgIHJldHVybiBzZWxlY3RFbGVtZW50
KCktPmxpc3RJdGVtcygpLnNpemUoKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJMaXN0Qm94Ojps
aXN0SGVpZ2h0KCkgY29uc3QKQEAgLTMyNiw3ICszMzEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6
OmFkZEZvY3VzUmluZ1JlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBv
aW50JgogICAgIGlmICghaXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoZnJhbWUoKSkpCiAgICAg
ICAgIHJldHVybiBSZW5kZXJCbG9jazo6YWRkRm9jdXNSaW5nUmVjdHMocmVjdHMsIGFkZGl0aW9u
YWxPZmZzZXQpOwogCi0gICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IHRvSFRNTFNlbGVj
dEVsZW1lbnQobm9kZSgpKTsKKyAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gc2VsZWN0
RWxlbWVudCgpOwogCiAgICAgLy8gRm9jdXMgdGhlIGxhc3Qgc2VsZWN0ZWQgaXRlbS4KICAgICBp
bnQgc2VsZWN0ZWRJdGVtID0gc2VsZWN0LT5hY3RpdmVTZWxlY3Rpb25FbmRMaXN0SW5kZXgoKTsK
QEAgLTM4Myw5ICszODgsOSBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50SXRlbUZvcmVncm91
bmQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JgogewogICAgIEZvbnRD
YWNoZVB1cmdlUHJldmVudGVyIGZvbnRDYWNoZVB1cmdlUHJldmVudGVyOwogCi0gICAgSFRNTFNl
bGVjdEVsZW1lbnQqIHNlbGVjdEVsZW1lbnQgPSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7
CisgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IHNlbGVjdEVsZW1lbnQoKTsKIAotICAg
IGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSBzZWxlY3RFbGVtZW50LT5s
aXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0g
c2VsZWN0LT5saXN0SXRlbXMoKTsKICAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IGxpc3RJdGVt
c1tsaXN0SW5kZXhdOwogCiAgICAgUmVuZGVyU3R5bGUqIGl0ZW1TdHlsZSA9IGVsZW1lbnQtPnJl
bmRlclN0eWxlKCk7CkBAIC00MDgsNyArNDEzLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWlu
dEl0ZW1Gb3JlZ3JvdW5kKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYK
ICAgICAgICAgaWYgKGZyYW1lKCktPnNlbGVjdGlvbigpLT5pc0ZvY3VzZWRBbmRBY3RpdmUoKSAm
JiBkb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpID09IG5vZGUoKSkKICAgICAgICAgICAgIHRleHRD
b2xvciA9IHRoZW1lKCktPmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKTsK
ICAgICAgICAgLy8gSG9ub3IgdGhlIGZvcmVncm91bmQgY29sb3IgZm9yIGRpc2FibGVkIGl0ZW1z
Ci0gICAgICAgIGVsc2UgaWYgKCFlbGVtZW50LT5kaXNhYmxlZCgpICYmICFzZWxlY3RFbGVtZW50
LT5kaXNhYmxlZCgpKQorICAgICAgICBlbHNlIGlmICghZWxlbWVudC0+ZGlzYWJsZWQoKSAmJiAh
c2VsZWN0LT5kaXNhYmxlZCgpKQogICAgICAgICAgICAgdGV4dENvbG9yID0gdGhlbWUoKS0+aW5h
Y3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCk7CiAgICAgfQogCkBAIC00MzMs
NyArNDM4LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYKIAogdm9pZCBSZW5kZXJMaXN0Qm94
OjpwYWludEl0ZW1CYWNrZ3JvdW5kKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQ
b2ludCYgcGFpbnRPZmZzZXQsIGludCBsaXN0SW5kZXgpCiB7Ci0gICAgY29uc3QgVmVjdG9yPEhU
TUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKS0+bGlz
dEl0ZW1zKCk7CisgICAgY29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHNl
bGVjdEVsZW1lbnQoKS0+bGlzdEl0ZW1zKCk7CiAgICAgSFRNTEVsZW1lbnQqIGVsZW1lbnQgPSBs
aXN0SXRlbXNbbGlzdEluZGV4XTsKIAogICAgIENvbG9yIGJhY2tDb2xvcjsKQEAgLTUyOCw3ICs1
MzMsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhblNjcm9sbChjb25zdCBJbnRQb2ludCYgcGFu
U3RhcnRNb3VzZVBvc2l0aW9uKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2luQXV0b3Njcm9s
bCA9IHRydWU7Ci0gICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IHRvSFRNTFNlbGVjdEVs
ZW1lbnQobm9kZSgpKTsKKyAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gc2VsZWN0RWxl
bWVudCgpOwogICAgIHNlbGVjdC0+dXBkYXRlTGlzdEJveFNlbGVjdGlvbighc2VsZWN0LT5tdWx0
aXBsZSgpKTsKICAgICBtX2luQXV0b3Njcm9sbCA9IGZhbHNlOwogfQpAQCAtNTU3LDcgKzU2Miw3
IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6YXV0b3Njcm9sbCgpCiAKICAgICBpbnQgZW5kSW5kZXgg
PSBzY3JvbGxUb3dhcmQocG9zKTsKICAgICBpZiAoZW5kSW5kZXggPj0gMCkgewotICAgICAgICBI
VE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gdG9IVE1MU2VsZWN0RWxlbWVudChub2RlKCkpOwor
ICAgICAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gc2VsZWN0RWxlbWVudCgpOwogICAg
ICAgICBtX2luQXV0b3Njcm9sbCA9IHRydWU7CiAKICAgICAgICAgaWYgKCFzZWxlY3QtPm11bHRp
cGxlKCkpCkBAIC01NzEsNyArNTc2LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjphdXRvc2Nyb2xs
KCkKIAogdm9pZCBSZW5kZXJMaXN0Qm94OjpzdG9wQXV0b3Njcm9sbCgpCiB7Ci0gICAgdG9IVE1M
U2VsZWN0RWxlbWVudChub2RlKCkpLT5saXN0Qm94T25DaGFuZ2UoKTsKKyAgICBzZWxlY3RFbGVt
ZW50KCktPmxpc3RCb3hPbkNoYW5nZSgpOwogfQogCiBib29sIFJlbmRlckxpc3RCb3g6OnNjcm9s
bFRvUmV2ZWFsRWxlbWVudEF0TGlzdEluZGV4KGludCBpbmRleCkKQEAgLTYwNyw3ICs2MTIsNyBA
QCBib29sIFJlbmRlckxpc3RCb3g6OmxvZ2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlv
biBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bAogCiB2b2lkIFJlbmRlckxpc3RCb3g6OnZhbHVlQ2hh
bmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgpCiB7Ci0gICAgSFRNTFNlbGVjdEVsZW1lbnQqIGVsZW1l
bnQgPSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAgSFRNTFNlbGVjdEVsZW1lbnQq
IGVsZW1lbnQgPSBzZWxlY3RFbGVtZW50KCk7CiAgICAgZWxlbWVudC0+c2V0U2VsZWN0ZWRJbmRl
eChlbGVtZW50LT5saXN0VG9PcHRpb25JbmRleChsaXN0SW5kZXgpKTsKICAgICBlbGVtZW50LT5k
aXNwYXRjaEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoKTsKIH0KQEAgLTY5Myw3ICs2OTgsNyBAQCBi
b29sIFJlbmRlckxpc3RCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1
ZXN0LCBIaXRUZXN0UmVzdWx0JiByZQogewogICAgIGlmICghUmVuZGVyQmxvY2s6Om5vZGVBdFBv
aW50KHJlcXVlc3QsIHJlc3VsdCwgcG9pbnRJbkNvbnRhaW5lciwgYWNjdW11bGF0ZWRPZmZzZXQs
IGhpdFRlc3RBY3Rpb24pKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY29uc3QgVmVjdG9y
PEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKS0+
bGlzdEl0ZW1zKCk7CisgICAgY29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9
IHNlbGVjdEVsZW1lbnQoKS0+bGlzdEl0ZW1zKCk7CiAgICAgaW50IHNpemUgPSBudW1JdGVtcygp
OwogICAgIExheW91dFBvaW50IGFkanVzdGVkTG9jYXRpb24gPSBhY2N1bXVsYXRlZE9mZnNldCAr
IGxvY2F0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCmlu
ZGV4IDYwMzhjNDMxNjRmYWE3MmZiNjhmOGY4YzI3Yjg0NWVjNzM1ZjhjMTguLmQ5NjhjODcxNzVk
OWZhMzU2YzMyMWY4Mzc4NDY5YTgzY2U4ZDk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RCb3guaApAQCAtMzYsNiArMzYsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIEhUTUxTZWxlY3RFbGVtZW50OworCiBjbGFzcyBSZW5kZXJMaXN0Qm94IDogcHVi
bGljIFJlbmRlckJsb2NrLCBwcml2YXRlIFNjcm9sbGFibGVBcmVhIHsKIHB1YmxpYzoKICAgICBS
ZW5kZXJMaXN0Qm94KEVsZW1lbnQqKTsKQEAgLTU2LDYgKzU4LDggQEAgcHVibGljOgogICAgIGlu
dCBzaXplKCkgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVj
dEVsZW1lbnQoKSBjb25zdDsKKwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgp
IGNvbnN0IHsgcmV0dXJuICJSZW5kZXJMaXN0Qm94IjsgfQogCiAgICAgdmlydHVhbCBib29sIGlz
TGlzdEJveCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IDUyMWNjMDMyNzY4OTNmZGY3YTI0OTA0YjY0NTFk
NmM3YTVlZjMwMzIuLjViNzlkNmM5MGNiNjM3NTM2MGIxMmUzMTJmZDM3N2FjM2Q0MzhiNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMTE5LDYg
KzExOSwxMSBAQCB2b2lkIFJlbmRlck1lbnVMaXN0OjphZGp1c3RJbm5lclN0eWxlKCkKICAgICB9
CiB9CiAKK2lubGluZSBIVE1MU2VsZWN0RWxlbWVudCogUmVuZGVyTWVudUxpc3Q6OnNlbGVjdEVs
ZW1lbnQoKSBjb25zdAoreworICAgIHJldHVybiB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7
Cit9CisKIHZvaWQgUmVuZGVyTWVudUxpc3Q6OmFkZENoaWxkKFJlbmRlck9iamVjdCogbmV3Q2hp
bGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7CiAgICAgY3JlYXRlSW5uZXJCbG9jaygp
OwpAQCAtMTU1LDcgKzE2MCw3IEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnN0eWxlRGlkQ2hhbmdl
KFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkCiB2b2lkIFJlbmRl
ck1lbnVMaXN0Ojp1cGRhdGVPcHRpb25zV2lkdGgoKQogewogICAgIGZsb2F0IG1heE9wdGlvbldp
ZHRoID0gMDsKLSAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0gdG9I
VE1MU2VsZWN0RWxlbWVudChub2RlKCkpLT5saXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8
SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0gc2VsZWN0RWxlbWVudCgpLT5saXN0SXRlbXMoKTsK
ICAgICBpbnQgc2l6ZSA9IGxpc3RJdGVtcy5zaXplKCk7ICAgIAogICAgIEZvbnRDYWNoZVB1cmdl
UHJldmVudGVyIGZvbnRDYWNoZVB1cmdlUHJldmVudGVyOwogCkBAIC0xOTcsMTIgKzIwMiwxMiBA
QCB2b2lkIFJlbmRlck1lbnVMaXN0Ojp1cGRhdGVGcm9tRWxlbWVudCgpCiAgICAgaWYgKG1fcG9w
dXBJc1Zpc2libGUpCiAgICAgICAgIG1fcG9wdXAtPnVwZGF0ZUZyb21FbGVtZW50KCk7CiAgICAg
ZWxzZQotICAgICAgICBzZXRUZXh0RnJvbU9wdGlvbih0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUo
KSktPnNlbGVjdGVkSW5kZXgoKSk7CisgICAgICAgIHNldFRleHRGcm9tT3B0aW9uKHNlbGVjdEVs
ZW1lbnQoKS0+c2VsZWN0ZWRJbmRleCgpKTsKIH0KIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6c2V0
VGV4dEZyb21PcHRpb24oaW50IG9wdGlvbkluZGV4KQogewotICAgIEhUTUxTZWxlY3RFbGVtZW50
KiBzZWxlY3QgPSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAgSFRNTFNlbGVjdEVs
ZW1lbnQqIHNlbGVjdCA9IHNlbGVjdEVsZW1lbnQoKTsKICAgICBjb25zdCBWZWN0b3I8SFRNTEVs
ZW1lbnQqPiYgbGlzdEl0ZW1zID0gc2VsZWN0LT5saXN0SXRlbXMoKTsKICAgICBpbnQgc2l6ZSA9
IGxpc3RJdGVtcy5zaXplKCk7CiAKQEAgLTMxOCw3ICszMjMsNyBAQCB2b2lkIFJlbmRlck1lbnVM
aXN0OjpzaG93UG9wdXAoKQogICAgIEZsb2F0UG9pbnQgYWJzVG9wTGVmdCA9IGxvY2FsVG9BYnNv
bHV0ZShGbG9hdFBvaW50KCksIGZhbHNlLCB0cnVlKTsKICAgICBJbnRSZWN0IGFic0JvdW5kcyA9
IGFic29sdXRlQm91bmRpbmdCb3hSZWN0SWdub3JpbmdUcmFuc2Zvcm1zKCk7CiAgICAgYWJzQm91
bmRzLnNldExvY2F0aW9uKHJvdW5kZWRJbnRQb2ludChhYnNUb3BMZWZ0KSk7Ci0gICAgSFRNTFNl
bGVjdEVsZW1lbnQqIHNlbGVjdCA9IHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKTsKKyAgICBI
VE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gc2VsZWN0RWxlbWVudCgpOwogICAgIG1fcG9wdXAt
PnNob3coYWJzQm91bmRzLCBkb2N1bWVudCgpLT52aWV3KCksIHNlbGVjdC0+b3B0aW9uVG9MaXN0
SW5kZXgoc2VsZWN0LT5zZWxlY3RlZEluZGV4KCkpKTsKIH0KIApAQCAtMzM2LDIzICszNDEsMjMg
QEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6dmFsdWVDaGFuZ2VkKHVuc2lnbmVkIGxpc3RJbmRleCwg
Ym9vbCBmaXJlT25DaGFuZ2UpCiAgICAgaWYgKCFkb2MgfHwgZG9jICE9IGRvYy0+ZnJhbWUoKS0+
ZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIEhUTUxTZWxlY3RFbGVtZW50
KiBzZWxlY3QgPSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAgSFRNTFNlbGVjdEVs
ZW1lbnQqIHNlbGVjdCA9IHNlbGVjdEVsZW1lbnQoKTsKICAgICBzZWxlY3QtPm9wdGlvblNlbGVj
dGVkQnlVc2VyKHNlbGVjdC0+bGlzdFRvT3B0aW9uSW5kZXgobGlzdEluZGV4KSwgZmlyZU9uQ2hh
bmdlKTsKIH0KIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6bGlzdEJveFNlbGVjdEl0ZW0oaW50IGxp
c3RJbmRleCwgYm9vbCBhbGxvd011bHRpcGx5U2VsZWN0aW9ucywgYm9vbCBzaGlmdCwgYm9vbCBm
aXJlT25DaGFuZ2VOb3cpCiB7Ci0gICAgdG9IVE1MU2VsZWN0RWxlbWVudChub2RlKCkpLT5saXN0
Qm94U2VsZWN0SXRlbShsaXN0SW5kZXgsIGFsbG93TXVsdGlwbHlTZWxlY3Rpb25zLCBzaGlmdCwg
ZmlyZU9uQ2hhbmdlTm93KTsKKyAgICBzZWxlY3RFbGVtZW50KCktPmxpc3RCb3hTZWxlY3RJdGVt
KGxpc3RJbmRleCwgYWxsb3dNdWx0aXBseVNlbGVjdGlvbnMsIHNoaWZ0LCBmaXJlT25DaGFuZ2VO
b3cpOwogfQogCiBib29sIFJlbmRlck1lbnVMaXN0OjptdWx0aXBsZSgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKS0+bXVsdGlwbGUoKTsKKyAgICByZXR1
cm4gc2VsZWN0RWxlbWVudCgpLT5tdWx0aXBsZSgpOwogfQogCiB2b2lkIFJlbmRlck1lbnVMaXN0
OjpkaWRTZXRTZWxlY3RlZEluZGV4KGludCBsaXN0SW5kZXgpCiB7Ci0gICAgZGlkVXBkYXRlQWN0
aXZlT3B0aW9uKHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKS0+bGlzdFRvT3B0aW9uSW5kZXgo
bGlzdEluZGV4KSk7CisgICAgZGlkVXBkYXRlQWN0aXZlT3B0aW9uKHNlbGVjdEVsZW1lbnQoKS0+
bGlzdFRvT3B0aW9uSW5kZXgobGlzdEluZGV4KSk7CiB9CiAKIHZvaWQgUmVuZGVyTWVudUxpc3Q6
OmRpZFVwZGF0ZUFjdGl2ZU9wdGlvbihpbnQgb3B0aW9uSW5kZXgpCkBAIC0zNjQsNyArMzY5LDcg
QEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6ZGlkVXBkYXRlQWN0aXZlT3B0aW9uKGludCBvcHRpb25J
bmRleCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fbGFzdEFjdGl2ZUluZGV4ID0gb3B0aW9uSW5k
ZXg7CiAKLSAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gdG9IVE1MU2VsZWN0RWxlbWVu
dChub2RlKCkpOworICAgIEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBzZWxlY3RFbGVtZW50
KCk7CiAgICAgaW50IGxpc3RJbmRleCA9IHNlbGVjdC0+b3B0aW9uVG9MaXN0SW5kZXgob3B0aW9u
SW5kZXgpOwogICAgIGlmIChsaXN0SW5kZXggPCAwIHx8IGxpc3RJbmRleCA+PSBzdGF0aWNfY2Fz
dDxpbnQ+KHNlbGVjdC0+bGlzdEl0ZW1zKCkuc2l6ZSgpKSkKICAgICAgICAgcmV0dXJuOwpAQCAt
Mzc3LDcgKzM4Miw3IEBAIHZvaWQgUmVuZGVyTWVudUxpc3Q6OmRpZFVwZGF0ZUFjdGl2ZU9wdGlv
bihpbnQgb3B0aW9uSW5kZXgpCiAKIFN0cmluZyBSZW5kZXJNZW51TGlzdDo6aXRlbVRleHQodW5z
aWduZWQgbGlzdEluZGV4KSBjb25zdAogewotICAgIEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3Qg
PSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNl
bGVjdCA9IHNlbGVjdEVsZW1lbnQoKTsKICAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYg
bGlzdEl0ZW1zID0gc2VsZWN0LT5saXN0SXRlbXMoKTsKICAgICBpZiAobGlzdEluZGV4ID49IGxp
c3RJdGVtcy5zaXplKCkpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTQwNiw3ICs0MTEs
NyBAQCBTdHJpbmcgUmVuZGVyTWVudUxpc3Q6Oml0ZW1JY29uKHVuc2lnbmVkKSBjb25zdAogU3Ry
aW5nIFJlbmRlck1lbnVMaXN0OjppdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWduZWQgbGlzdElu
ZGV4KSBjb25zdAogewogICAgIC8vIEFsbG93IHRoZSBhY2Nlc3NpYmxlIG5hbWUgYmUgY2hhbmdl
ZCBpZiBuZWNlc3NhcnkuCi0gICAgY29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVt
cyA9IHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKS0+bGlzdEl0ZW1zKCk7CisgICAgY29uc3Qg
VmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHNlbGVjdEVsZW1lbnQoKS0+bGlzdEl0
ZW1zKCk7CiAgICAgaWYgKGxpc3RJbmRleCA+PSBsaXN0SXRlbXMuc2l6ZSgpKQogICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CiAgICAgcmV0dXJuIGxpc3RJdGVtc1tsaXN0SW5kZXhdLT5mYXN0R2V0
QXR0cmlidXRlKGFyaWFfbGFiZWxBdHRyKTsKQEAgLTQxNCw3ICs0MTksNyBAQCBTdHJpbmcgUmVu
ZGVyTWVudUxpc3Q6Oml0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNv
bnN0CiAgICAgCiBTdHJpbmcgUmVuZGVyTWVudUxpc3Q6Oml0ZW1Ub29sVGlwKHVuc2lnbmVkIGxp
c3RJbmRleCkgY29uc3QKIHsKLSAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0
ZW1zID0gdG9IVE1MU2VsZWN0RWxlbWVudChub2RlKCkpLT5saXN0SXRlbXMoKTsKKyAgICBjb25z
dCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0gc2VsZWN0RWxlbWVudCgpLT5saXN0
SXRlbXMoKTsKICAgICBpZiAobGlzdEluZGV4ID49IGxpc3RJdGVtcy5zaXplKCkpCiAgICAgICAg
IHJldHVybiBTdHJpbmcoKTsKICAgICByZXR1cm4gbGlzdEl0ZW1zW2xpc3RJbmRleF0tPnRpdGxl
KCk7CkBAIC00MjIsNyArNDI3LDcgQEAgU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtVG9vbFRp
cCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyTWVudUxpc3Q6Oml0ZW1J
c0VuYWJsZWQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdAogewotICAgIGNvbnN0IFZlY3RvcjxI
VE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSB0b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSktPmxp
c3RJdGVtcygpOworICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSBz
ZWxlY3RFbGVtZW50KCktPmxpc3RJdGVtcygpOwogICAgIGlmIChsaXN0SW5kZXggPj0gbGlzdEl0
ZW1zLnNpemUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEhUTUxFbGVtZW50KiBlbGVt
ZW50ID0gbGlzdEl0ZW1zW2xpc3RJbmRleF07CkBAIC00NDIsNyArNDQ3LDcgQEAgYm9vbCBSZW5k
ZXJNZW51TGlzdDo6aXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiAKIFBv
cHVwTWVudVN0eWxlIFJlbmRlck1lbnVMaXN0OjppdGVtU3R5bGUodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdAogewotICAgIGNvbnN0IFZlY3RvcjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSB0
b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSktPmxpc3RJdGVtcygpOworICAgIGNvbnN0IFZlY3Rv
cjxIVE1MRWxlbWVudCo+JiBsaXN0SXRlbXMgPSBzZWxlY3RFbGVtZW50KCktPmxpc3RJdGVtcygp
OwogICAgIGlmIChsaXN0SW5kZXggPj0gbGlzdEl0ZW1zLnNpemUoKSkgewogICAgICAgICAvLyBJ
ZiB3ZSBhcmUgbWFraW5nIGFuIG91dCBvZiBib3VuZHMgYWNjZXNzLCB0aGVuIHdlIHdhbnQgdG8g
dXNlIHRoZSBzdHlsZQogICAgICAgICAvLyBvZiBhIGRpZmZlcmVudCBvcHRpb24gZWxlbWVudCAo
aW5kZXggMCkuIEhvd2V2ZXIsIGlmIHRoZXJlIGlzbid0IGFuIG9wdGlvbiBlbGVtZW50CkBAIC00
NjIsNyArNDY3LDcgQEAgUG9wdXBNZW51U3R5bGUgUmVuZGVyTWVudUxpc3Q6Oml0ZW1TdHlsZSh1
bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiAKIENvbG9yIFJlbmRlck1lbnVMaXN0OjppdGVtQmFj
a2dyb3VuZENvbG9yKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QKIHsKLSAgICBjb25zdCBWZWN0
b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0gdG9IVE1MU2VsZWN0RWxlbWVudChub2RlKCkp
LT5saXN0SXRlbXMoKTsKKyAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1z
ID0gc2VsZWN0RWxlbWVudCgpLT5saXN0SXRlbXMoKTsKICAgICBpZiAobGlzdEluZGV4ID49IGxp
c3RJdGVtcy5zaXplKCkpCiAgICAgICAgIHJldHVybiBzdHlsZSgpLT52aXNpdGVkRGVwZW5kZW50
Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpOwogICAgIEhUTUxFbGVtZW50KiBlbGVt
ZW50ID0gbGlzdEl0ZW1zW2xpc3RJbmRleF07CkBAIC01MzksMTIgKzU0NCwxMiBAQCBMYXlvdXRV
bml0IFJlbmRlck1lbnVMaXN0OjpjbGllbnRQYWRkaW5nUmlnaHQoKSBjb25zdAogCiBpbnQgUmVu
ZGVyTWVudUxpc3Q6Omxpc3RTaXplKCkgY29uc3QKIHsKLSAgICByZXR1cm4gdG9IVE1MU2VsZWN0
RWxlbWVudChub2RlKCkpLT5saXN0SXRlbXMoKS5zaXplKCk7CisgICAgcmV0dXJuIHNlbGVjdEVs
ZW1lbnQoKS0+bGlzdEl0ZW1zKCkuc2l6ZSgpOwogfQogCiBpbnQgUmVuZGVyTWVudUxpc3Q6OnNl
bGVjdGVkSW5kZXgoKSBjb25zdAogewotICAgIEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3QgPSB0
b0hUTUxTZWxlY3RFbGVtZW50KG5vZGUoKSk7CisgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVj
dCA9IHNlbGVjdEVsZW1lbnQoKTsKICAgICByZXR1cm4gc2VsZWN0LT5vcHRpb25Ub0xpc3RJbmRl
eChzZWxlY3QtPnNlbGVjdGVkSW5kZXgoKSk7CiB9CiAKQEAgLTU1NSwxOSArNTYwLDE5IEBAIHZv
aWQgUmVuZGVyTWVudUxpc3Q6OnBvcHVwRGlkSGlkZSgpCiAKIGJvb2wgUmVuZGVyTWVudUxpc3Q6
Oml0ZW1Jc1NlcGFyYXRvcih1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7Ci0gICAgY29uc3Qg
VmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHRvSFRNTFNlbGVjdEVsZW1lbnQobm9k
ZSgpKS0+bGlzdEl0ZW1zKCk7CisgICAgY29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJ
dGVtcyA9IHNlbGVjdEVsZW1lbnQoKS0+bGlzdEl0ZW1zKCk7CiAgICAgcmV0dXJuIGxpc3RJbmRl
eCA8IGxpc3RJdGVtcy5zaXplKCkgJiYgbGlzdEl0ZW1zW2xpc3RJbmRleF0tPmhhc1RhZ05hbWUo
aHJUYWcpOwogfQogCiBib29sIFJlbmRlck1lbnVMaXN0OjppdGVtSXNMYWJlbCh1bnNpZ25lZCBs
aXN0SW5kZXgpIGNvbnN0CiB7Ci0gICAgY29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJ
dGVtcyA9IHRvSFRNTFNlbGVjdEVsZW1lbnQobm9kZSgpKS0+bGlzdEl0ZW1zKCk7CisgICAgY29u
c3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHNlbGVjdEVsZW1lbnQoKS0+bGlz
dEl0ZW1zKCk7CiAgICAgcmV0dXJuIGxpc3RJbmRleCA8IGxpc3RJdGVtcy5zaXplKCkgJiYgbGlz
dEl0ZW1zW2xpc3RJbmRleF0tPmhhc1RhZ05hbWUob3B0Z3JvdXBUYWcpOwogfQogCiBib29sIFJl
bmRlck1lbnVMaXN0OjppdGVtSXNTZWxlY3RlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7
Ci0gICAgY29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcyA9IHRvSFRNTFNlbGVj
dEVsZW1lbnQobm9kZSgpKS0+bGlzdEl0ZW1zKCk7CisgICAgY29uc3QgVmVjdG9yPEhUTUxFbGVt
ZW50Kj4mIGxpc3RJdGVtcyA9IHNlbGVjdEVsZW1lbnQoKS0+bGlzdEl0ZW1zKCk7CiAgICAgaWYg
KGxpc3RJbmRleCA+PSBsaXN0SXRlbXMuc2l6ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgSFRNTEVsZW1lbnQqIGVsZW1lbnQgPSBsaXN0SXRlbXNbbGlzdEluZGV4XTsKQEAgLTU3Niw3
ICs1ODEsNyBAQCBib29sIFJlbmRlck1lbnVMaXN0OjppdGVtSXNTZWxlY3RlZCh1bnNpZ25lZCBs
aXN0SW5kZXgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyTWVudUxpc3Q6OnNldFRleHRGcm9tSXRlbSh1
bnNpZ25lZCBsaXN0SW5kZXgpCiB7Ci0gICAgc2V0VGV4dEZyb21PcHRpb24odG9IVE1MU2VsZWN0
RWxlbWVudChub2RlKCkpLT5saXN0VG9PcHRpb25JbmRleChsaXN0SW5kZXgpKTsKKyAgICBzZXRU
ZXh0RnJvbU9wdGlvbihzZWxlY3RFbGVtZW50KCktPmxpc3RUb09wdGlvbkluZGV4KGxpc3RJbmRl
eCkpOwogfQogCiBGb250U2VsZWN0b3IqIFJlbmRlck1lbnVMaXN0Ojpmb250U2VsZWN0b3IoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAppbmRleCAwYjQz
MDA4NDA2Y2Y0ZGQ5YjA2ZmYxMzgyNjRmZWE2OWE1NjljNWE2Li4yOTVlMjQyMWM3ZjNlZDMyOWFj
NWEzZGYyNmFiMzhkOTdhNDNlZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuaApAQCAtMzcsNiArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIEhUTUxTZWxlY3RFbGVtZW50OwogY2xhc3MgUmVuZGVyVGV4dDsKIAogY2xhc3MgUmVuZGVy
TWVudUxpc3QgOiBwdWJsaWMgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LCBwcml2YXRlIFBv
cHVwTWVudUNsaWVudCB7CkBAIC01Nyw2ICs1OCw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdGV4
dCgpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3RFbGVt
ZW50KCkgY29uc3Q7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNNZW51TGlzdCgpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChSZW5kZXJPYmplY3QqIG5l
d0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkID0gMCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>