<?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>95658</bug_id>
          
          <creation_ts>2012-09-02 13:38:15 -0700</creation_ts>
          <short_desc>Refactored scope chain opcodes to support optimization for named function expressions</short_desc>
          <delta_ts>2012-09-03 03:08:17 -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>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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>paroga</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>710353</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-02 13:38:15 -0700</bug_when>
    <thetext>Refactored scope chain opcodes to support optimization for named function expressions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710354</commentid>
    <comment_count>1</comment_count>
      <attachid>161848</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-02 14:01:01 -0700</bug_when>
    <thetext>Created attachment 161848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710357</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-02 14:26:50 -0700</bug_when>
    <thetext>Committed r127393: &lt;http://trac.webkit.org/changeset/127393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710360</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-09-02 16:45:20 -0700</bug_when>
    <thetext>Follow-up fix for Linux bots: &lt;http://trac.webkit.org/changeset/127394&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710521</commentid>
    <comment_count>4</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-09-03 03:08:17 -0700</bug_when>
    <thetext>Build fix for ENABLE(CLASSIC_INTERPRETER): &lt;http://trac.webkit.org/changeset/127408&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161848</attachid>
            <date>2012-09-02 14:01:01 -0700</date>
            <delta_ts>2012-09-02 14:24:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95658-20120902140050.patch</filename>
            <type>text/plain</type>
            <size>21864</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3MzkyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDEyLTA5LTAyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVmYWN0b3JlZCBzY29wZSBjaGFpbiBvcGNvZGVzIHRvIHN1cHBvcnQgb3B0aW1pemF0aW9u
IGZvciBuYW1lZCBmdW5jdGlvbiBleHByZXNzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU2NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWVkCisgICAgICAgICAgICBwdXNoX3Njb3BlID0+
IHB1c2hfd2l0aF9zY29wZQorICAgICAgICAgICAgcHVzaF9uZXdfc2NvcGUgPT4gcHVzaF9uYW1l
X3Njb3BlCisgICAgICAgIHRvIGNsYXJpZnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtLgor
CisgICAgICAgIENoYW5nZWQgcHVzaF93aXRoX3Njb3BlIGFuZCBwdXNoX25hbWVfc2NvcGUgbm90
IHRvIHNhdmUgdGhlIG5ldyBzY29wZSBpbgorICAgICAgICBhIHRlbXBvcmFyeSByZWdpc3Rlciwg
c2luY2UgZG9pbmcgc28gbWFkZSBvcHRpbWl6YXRpb24gaGFyZGVyLgorCisgICAgICAgIChUaGUg
b2xkIGJlaGF2aW9yIHdhcyBhIGhvbGQtb3ZlciBmcm9tIHdoZW4gdGhlIHNjb3BlIGNoYWluIHdh
c24ndAorICAgICAgICBhIEdDIG9iamVjdCwgYW5kIHdvdWxkbid0IGJlIG1hcmtlZCBvdGhlcndp
c2UuIE5vdywgdGhlIHNjb3BlIGNoYWluIGlzCisgICAgICAgIG1hcmtlZCBiZWNhdXNlIGl0IGlz
IGEgR0Mgb2JqZWN0IHBvaW50ZWQgdG8gYnkgdGhlIGNhbGwgZnJhbWUuKQorCisgICAgICAgIENo
YW5nZWQgcHVzaF9uYW1lX3Njb3BlIHRvIGFjY2VwdCBhbiBvcGVyYW5kIHNwZWNpZnlpbmcgdGhl
IGF0dHJpYnV0ZXMKKyAgICAgICAgZm9yIHRoZSBuYW1lZCBwcm9wZXJ0eSwgaW5zdGVhZCBvZiBh
c3N1bWluZyBEb250RGVsZXRlLCBiZWNhdXNlIGEgbmFtZWQKKyAgICAgICAgZnVuY3Rpb24gZXhw
cmVzc2lvbiBuZWVkcyBSZWFkT25seXxEb250RGVsZXRlLgorCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0
b3I6OmhpZ2hlc3RVc2VkUmVnaXN0ZXIpOiBSZW1vdmVkIHRoaXMgZnVuY3Rpb24sCisgICAgICAg
IHdoaWNoIHVzZWQgdG8gYmUgcmVsYXRlZCB0byBwcmVzZXJ2aW5nIHNhdmVkIHNjb3BlIG9iamVj
dCB0ZW1wb3JhcmllcywKKyAgICAgICAgYmVjYXVzZSBpdCBoYWQgbm8gY2FsbGVycy4KKwogMjAx
Mi0wOS0wMSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJv
bGxlZCBiYWNrIG91dCBhIHBpZWNlIG9mIDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8xMjcyOTM+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAkocmV2aXNpb24gMTI3MzkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NzksOSArMTQ3OSw5IEBAIHZv
aWQgQ29kZUJsb2NrOjpkdW1wKEV4ZWNTdGF0ZSogZXhlYywgY28KICAgICAgICAgICAgIGl0ICs9
IE9QQ09ERV9MRU5HVEgob3BfbmV4dF9wbmFtZSkgLSAxOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KLSAgICAgICAgY2FzZSBvcF9wdXNoX3Njb3BlOiB7CisgICAgICAgIGNhc2Ugb3Bf
cHVzaF93aXRoX3Njb3BlOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFu
ZDsKLSAgICAgICAgICAgIGRhdGFMb2coIlslNGRdIHB1c2hfc2NvcGVcdCAlcyIsIGxvY2F0aW9u
LCByZWdpc3Rlck5hbWUoZXhlYywgcjApLmRhdGEoKSk7CisgICAgICAgICAgICBkYXRhTG9nKCJb
JTRkXSBwdXNoX3dpdGhfc2NvcGVcdCAlcyIsIGxvY2F0aW9uLCByZWdpc3Rlck5hbWUoZXhlYywg
cjApLmRhdGEoKSk7CiAgICAgICAgICAgICBkdW1wQnl0ZWNvZGVDb21tZW50QW5kTmV3TGluZShs
b2NhdGlvbik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTQ5MCwxMSArMTQ5
MCwxMSBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMsIGNvCiAgICAgICAg
ICAgICBkdW1wQnl0ZWNvZGVDb21tZW50QW5kTmV3TGluZShsb2NhdGlvbik7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQotICAgICAgICBjYXNlIG9wX3B1c2hfbmV3X3Njb3BlOiB7Ci0g
ICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgY2FzZSBvcF9w
dXNoX25hbWVfc2NvcGU6IHsKICAgICAgICAgICAgIGludCBpZDAgPSAoKytpdCktPnUub3BlcmFu
ZDsKICAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOwotICAgICAgICAgICAg
ZGF0YUxvZygiWyU0ZF0gcHVzaF9uZXdfc2NvcGUgXHQlcywgJXMsICVzIiwgbG9jYXRpb24sIHJl
Z2lzdGVyTmFtZShleGVjLCByMCkuZGF0YSgpLCBpZE5hbWUoaWQwLCBtX2lkZW50aWZpZXJzW2lk
MF0pLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKGV4ZWMsIHIxKS5kYXRhKCkpOworICAgICAgICAgICAg
dW5zaWduZWQgYXR0cmlidXRlcyA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgZGF0
YUxvZygiWyU0ZF0gcHVzaF9uYW1lX3Njb3BlIFx0JXMsICVzLCAldSIsIGxvY2F0aW9uLCBpZE5h
bWUoaWQwLCBtX2lkZW50aWZpZXJzW2lkMF0pLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKGV4ZWMsIHIx
KS5kYXRhKCksIGF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgZHVtcEJ5dGVjb2RlQ29tbWVudEFu
ZE5ld0xpbmUobG9jYXRpb24pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgJKHJldmlzaW9uIDEyNzM5MikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTg4LDkgKzE4OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtYWNybyhvcF9n
ZXRfcG5hbWVzLCA2KSBcCiAgICAgICAgIG1hY3JvKG9wX25leHRfcG5hbWUsIDcpIFwKICAgICAg
ICAgXAotICAgICAgICBtYWNybyhvcF9wdXNoX3Njb3BlLCAyKSBcCisgICAgICAgIG1hY3JvKG9w
X3B1c2hfd2l0aF9zY29wZSwgMikgXAogICAgICAgICBtYWNybyhvcF9wb3Bfc2NvcGUsIDEpIFwK
LSAgICAgICAgbWFjcm8ob3BfcHVzaF9uZXdfc2NvcGUsIDQpIFwKKyAgICAgICAgbWFjcm8ob3Bf
cHVzaF9uYW1lX3Njb3BlLCA0KSBcCiAgICAgICAgIFwKICAgICAgICAgbWFjcm8ob3BfY2F0Y2gs
IDIpIFwKICAgICAgICAgbWFjcm8ob3BfdGhyb3csIDIpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CShyZXZpc2lvbiAxMjczOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQyLDE0ICs2NDIsNiBA
QCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6bmV3VGVtcG9yCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAotUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmhpZ2hlc3RVc2VkUmVn
aXN0ZXIoKQotewotICAgIHNpemVfdCBjb3VudCA9IG1fY29kZUJsb2NrLT5tX251bUNhbGxlZVJl
Z2lzdGVyczsKLSAgICB3aGlsZSAobV9jYWxsZWVSZWdpc3RlcnMuc2l6ZSgpIDwgY291bnQpCi0g
ICAgICAgIG5ld1JlZ2lzdGVyKCk7Ci0gICAgcmV0dXJuICZtX2NhbGxlZVJlZ2lzdGVycy5sYXN0
KCk7Ci19Ci0KIFBhc3NSZWZQdHI8TGFiZWxTY29wZT4gQnl0ZWNvZGVHZW5lcmF0b3I6Om5ld0xh
YmVsU2NvcGUoTGFiZWxTY29wZTo6VHlwZSB0eXBlLCBjb25zdCBJZGVudGlmaWVyKiBuYW1lKQog
ewogICAgIC8vIFJlY2xhaW0gZnJlZSBsYWJlbCBzY29wZXMuCkBAIC0yMDkzLDE1ICsyMDg1LDE0
IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRUb1ByaW1pdGl2ZSgKICAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc3JjLT5pbmRleCgpKTsKIH0KIAotUmVnaXN0ZXJJRCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXRQdXNoU2NvcGUoUmVnaXN0ZXJJRCogc2NvcGUpCitSZWdpc3RlcklEKiBC
eXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1c2hXaXRoU2NvcGUoUmVnaXN0ZXJJRCogc2NvcGUpCiB7
Ci0gICAgQVNTRVJUKHNjb3BlLT5pc1RlbXBvcmFyeSgpKTsKICAgICBDb250cm9sRmxvd0NvbnRl
eHQgY29udGV4dDsKICAgICBjb250ZXh0LmlzRmluYWxseUJsb2NrID0gZmFsc2U7CiAgICAgbV9z
Y29wZUNvbnRleHRTdGFjay5hcHBlbmQoY29udGV4dCk7CiAgICAgbV9keW5hbWljU2NvcGVEZXB0
aCsrOwogCi0gICAgcmV0dXJuIGVtaXRVbmFyeU5vRHN0T3Aob3BfcHVzaF9zY29wZSwgc2NvcGUp
OworICAgIHJldHVybiBlbWl0VW5hcnlOb0RzdE9wKG9wX3B1c2hfd2l0aF9zY29wZSwgc2NvcGUp
OwogfQogCiB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UG9wU2NvcGUoKQpAQCAtMjQ1Miwx
NyArMjQ0MywxNyBAQCB2b2lkIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0VGhyb3dSZWZlcmVuCiAg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGFkZENvbnN0YW50VmFsdWUoanNTdHJpbmcoZ2xvYmFs
RGF0YSgpLCBtZXNzYWdlKSktPmluZGV4KCkpOwogfQogCi12b2lkIEJ5dGVjb2RlR2VuZXJhdG9y
OjplbWl0UHVzaE5ld1Njb3BlKFJlZ2lzdGVySUQqIGRzdCwgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHksIFJlZ2lzdGVySUQqIHZhbHVlKQordm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFB1
c2hOYW1lU2NvcGUoY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHksIFJlZ2lzdGVySUQqIHZhbHVl
LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQogewogICAgIENvbnRyb2xGbG93Q29udGV4dCBjb250ZXh0
OwogICAgIGNvbnRleHQuaXNGaW5hbGx5QmxvY2sgPSBmYWxzZTsKICAgICBtX3Njb3BlQ29udGV4
dFN0YWNrLmFwcGVuZChjb250ZXh0KTsKICAgICBtX2R5bmFtaWNTY29wZURlcHRoKys7CiAKLSAg
ICBlbWl0T3Bjb2RlKG9wX3B1c2hfbmV3X3Njb3BlKTsKLSAgICBpbnN0cnVjdGlvbnMoKS5hcHBl
bmQoZHN0LT5pbmRleCgpKTsKKyAgICBlbWl0T3Bjb2RlKG9wX3B1c2hfbmFtZV9zY29wZSk7CiAg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGFkZENvbnN0YW50KHByb3BlcnR5KSk7CiAgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKHZhbHVlLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQoYXR0cmlidXRlcyk7CiB9CiAKIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OmJlZ2luU3dp
dGNoKFJlZ2lzdGVySUQqIHNjcnV0aW5lZVJlZ2lzdGVyLCBTd2l0Y2hJbmZvOjpTd2l0Y2hUeXBl
IHR5cGUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiAxMjczOTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5Niw4ICsyOTYsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgLy8gdGhlIG5l
eHQgaW5zdHJ1Y3Rpb24gbWF5IG92ZXJ3cml0ZSBpdC4KICAgICAgICAgUmVnaXN0ZXJJRCogbmV3
VGVtcG9yYXJ5KCk7CiAKLSAgICAgICAgUmVnaXN0ZXJJRCogaGlnaGVzdFVzZWRSZWdpc3Rlcigp
OwotCiAgICAgICAgIC8vIFRoZSBzYW1lIGFzIG5ld1RlbXBvcmFyeSgpLCBidXQgdGhpcyBmdW5j
dGlvbiByZXR1cm5zICJzdWdnZXN0aW9uIiBpZgogICAgICAgICAvLyAic3VnZ2VzdGlvbiIgaXMg
YSB0ZW1wb3JhcnkuIFRoaXMgZnVuY3Rpb24gaXMgaGVscGZ1bCBpbiBzaXR1YXRpb25zCiAgICAg
ICAgIC8vIHdoZXJlIHlvdSd2ZSBwdXQgInN1Z2dlc3Rpb24iIGluIGEgUmVmUHRyLCBidXQgeW91
J2QgbGlrZSB0byBhbGxvdwpAQCAtNTIyLDkgKzUyMCw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIHZvaWQgZW1pdFRocm93UmVmZXJlbmNlRXJyb3IoY29uc3QgU3RyaW5nJiBtZXNzYWdl
KTsKIAotICAgICAgICB2b2lkIGVtaXRQdXNoTmV3U2NvcGUoUmVnaXN0ZXJJRCogZHN0LCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eSwgUmVnaXN0ZXJJRCogdmFsdWUpOworICAgICAgICB2b2lk
IGVtaXRQdXNoTmFtZVNjb3BlKGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5LCBSZWdpc3RlcklE
KiB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAKLSAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dFB1c2hTY29wZShSZWdpc3RlcklEKiBzY29wZSk7CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQ
dXNoV2l0aFNjb3BlKFJlZ2lzdGVySUQqIHNjb3BlKTsKICAgICAgICAgdm9pZCBlbWl0UG9wU2Nv
cGUoKTsKIAogICAgICAgICB2b2lkIGVtaXREZWJ1Z0hvb2soRGVidWdIb29rSUQsIGludCBmaXJz
dExpbmUsIGludCBsYXN0TGluZSwgaW50IGNvbHVtbik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCShyZXZpc2lvbiAx
MjczOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NTYsMTEgKzE3NTYsMTAgQEAgUmVnaXN0ZXJJRCog
UmV0dXJuTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dAogUmVnaXN0ZXJJRCogV2l0aE5vZGU6OmVtaXRC
eXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7
CiAgICAgZ2VuZXJhdG9yLmVtaXREZWJ1Z0hvb2soV2lsbEV4ZWN1dGVTdGF0ZW1lbnQsIGZpcnN0
TGluZSgpLCBsYXN0TGluZSgpLCBjb2x1bW4oKSk7Ci0gICAgCi0gICAgUmVmUHRyPFJlZ2lzdGVy
SUQ+IHNjb3BlID0gZ2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpOwotICAgIGdlbmVyYXRvci5lbWl0
Tm9kZShzY29wZS5nZXQoKSwgbV9leHByKTsgLy8gc2NvcGUgbXVzdCBiZSBwcm90ZWN0ZWQgdW50
aWwgcG9wcGVkCisKKyAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gc2NvcGUgPSBnZW5lcmF0b3IuZW1p
dE5vZGUobV9leHByKTsKICAgICBnZW5lcmF0b3IuZW1pdEV4cHJlc3Npb25JbmZvKG1fZGl2b3Qs
IG1fZXhwcmVzc2lvbkxlbmd0aCwgMCk7Ci0gICAgZ2VuZXJhdG9yLmVtaXRQdXNoU2NvcGUoc2Nv
cGUuZ2V0KCkpOworICAgIGdlbmVyYXRvci5lbWl0UHVzaFdpdGhTY29wZShzY29wZS5nZXQoKSk7
CiAgICAgUmVnaXN0ZXJJRCogcmVzdWx0ID0gZ2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9zdGF0
ZW1lbnQpOwogICAgIGdlbmVyYXRvci5lbWl0UG9wU2NvcGUoKTsKICAgICByZXR1cm4gcmVzdWx0
OwpAQCAtMTk5Niw3ICsxOTk1LDcgQEAgUmVnaXN0ZXJJRCogVHJ5Tm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjbwogICAgICAgICAgICAgdHJ5RGF0YSA9IGdlbmVyYXRvci5wdXNoVHJ5KGhlcmUuZ2V0
KCkpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBnZW5lcmF0b3IuZW1pdFB1c2hOZXdT
Y29wZShleGNlcHRpb25SZWdpc3Rlci5nZXQoKSwgbV9leGNlcHRpb25JZGVudCwgZXhjZXB0aW9u
UmVnaXN0ZXIuZ2V0KCkpOworICAgICAgICBnZW5lcmF0b3IuZW1pdFB1c2hOYW1lU2NvcGUobV9l
eGNlcHRpb25JZGVudCwgZXhjZXB0aW9uUmVnaXN0ZXIuZ2V0KCksIERvbnREZWxldGUpOwogICAg
ICAgICBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBtX2NhdGNoQmxvY2spOwogICAgICAgICBnZW5l
cmF0b3IuZW1pdFBvcFNjb3BlKCk7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0TGFiZWwoY2F0Y2hF
bmRMYWJlbC5nZXQoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDEyNzM5MikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE0MjYsMTQgKzE0MjYsMTMgQEAgTkVWRVJfSU5MSU5FIHZvaWQgSW50ZXJwcmV0ZXI6OmRlYnVn
KENhbAogfQogICAgIAogI2lmIEVOQUJMRShDTEFTU0lDX0lOVEVSUFJFVEVSKQotTkVWRVJfSU5M
SU5FIEpTU2NvcGUqIEludGVycHJldGVyOjpjcmVhdGVFeGNlcHRpb25TY29wZShDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgY29uc3QgSW5zdHJ1Y3Rpb24qIHZQQykKK05FVkVSX0lOTElORSBKU1Njb3Bl
KiBJbnRlcnByZXRlcjo6Y3JlYXRlTmFtZVNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBjb25z
dCBJbnN0cnVjdGlvbiogdlBDKQogewotICAgIGludCBkc3QgPSB2UENbMV0udS5vcGVyYW5kOwog
ICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gY2FsbEZyYW1lLT5jb2RlQmxvY2soKTsKLSAgICBJ
ZGVudGlmaWVyJiBwcm9wZXJ0eSA9IGNvZGVCbG9jay0+aWRlbnRpZmllcih2UENbMl0udS5vcGVy
YW5kKTsKLSAgICBKU1ZhbHVlIHZhbHVlID0gY2FsbEZyYW1lLT5yKHZQQ1szXS51Lm9wZXJhbmQp
LmpzVmFsdWUoKTsKLSAgICBKU05hbWVTY29wZSogc2NvcGUgPSBKU05hbWVTY29wZTo6Y3JlYXRl
KGNhbGxGcmFtZSwgcHJvcGVydHksIHZhbHVlLCBEb250RGVsZXRlKTsKLSAgICBjYWxsRnJhbWUt
PnVuY2hlY2tlZFIoZHN0KSA9IEpTVmFsdWUoc2NvcGUpOworICAgIElkZW50aWZpZXImIHByb3Bl
cnR5ID0gY29kZUJsb2NrLT5pZGVudGlmaWVyKHZQQ1sxXS51Lm9wZXJhbmQpOworICAgIEpTVmFs
dWUgdmFsdWUgPSBjYWxsRnJhbWUtPnIodlBDWzJdLnUub3BlcmFuZCkuanNWYWx1ZSgpOworICAg
IHVuc2lnbmVkIGF0dHJpYnV0ZXMgPSB2UENbM10udS5vcGVyYW5kOworICAgIEpTTmFtZVNjb3Bl
KiBzY29wZSA9IEpTTmFtZVNjb3BlOjpjcmVhdGUoY2FsbEZyYW1lLCBwcm9wZXJ0eSwgdmFsdWUs
IGF0dHJpYnV0ZXMpOwogICAgIHJldHVybiBzY29wZTsKIH0KIApAQCAtNDgxNCwyMiArNDgxMywy
MCBAQCBza2lwX2lkX2N1c3RvbV9zZWxmOgogCiAgICAgICAgIE5FWFRfSU5TVFJVQ1RJT04oKTsK
ICAgICB9Ci0gICAgREVGSU5FX09QQ09ERShvcF9wdXNoX3Njb3BlKSB7Ci0gICAgICAgIC8qIHB1
c2hfc2NvcGUgc2NvcGUocikKKyAgICBERUZJTkVfT1BDT0RFKG9wX3B1c2hfd2l0aF9zY29wZSkg
eworICAgICAgICAvKiBwdXNoX3dpdGhfc2NvcGUgc2NvcGUocikKIAogICAgICAgICAgICBDb252
ZXJ0cyByZWdpc3RlciBzY29wZSB0byBvYmplY3QsIGFuZCBwdXNoZXMgaXQgb250byB0aGUgdG9w
Ci0gICAgICAgICAgIG9mIHRoZSBjdXJyZW50IHNjb3BlIGNoYWluLiAgVGhlIGNvbnRlbnRzIG9m
IHRoZSByZWdpc3RlciBzY29wZQotICAgICAgICAgICBhcmUgcmVwbGFjZWQgYnkgdGhlIHJlc3Vs
dCBvZiB0b09iamVjdCBjb252ZXJzaW9uIG9mIHRoZSBzY29wZS4KKyAgICAgICAgICAgb2YgdGhl
IHNjb3BlIGNoYWluLgogICAgICAgICAqLwogICAgICAgICBpbnQgc2NvcGUgPSB2UENbMV0udS5v
cGVyYW5kOwogICAgICAgICBKU1ZhbHVlIHYgPSBjYWxsRnJhbWUtPnIoc2NvcGUpLmpzVmFsdWUo
KTsKICAgICAgICAgSlNPYmplY3QqIG8gPSB2LnRvT2JqZWN0KGNhbGxGcmFtZSk7CiAgICAgICAg
IENIRUNLX0ZPUl9FWENFUFRJT04oKTsKIAotICAgICAgICBjYWxsRnJhbWUtPnVuY2hlY2tlZFIo
c2NvcGUpID0gSlNWYWx1ZShvKTsKICAgICAgICAgY2FsbEZyYW1lLT5zZXRTY29wZShKU1dpdGhT
Y29wZTo6Y3JlYXRlKGNhbGxGcmFtZSwgbykpOwogCi0gICAgICAgIHZQQyArPSBPUENPREVfTEVO
R1RIKG9wX3B1c2hfc2NvcGUpOworICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9wdXNo
X3dpdGhfc2NvcGUpOwogICAgICAgICBORVhUX0lOU1RSVUNUSU9OKCk7CiAgICAgfQogICAgIERF
RklORV9PUENPREUob3BfcG9wX3Njb3BlKSB7CkBAIC00OTI3LDE2ICs0OTI0LDE1IEBAIHNraXBf
aWRfY3VzdG9tX3NlbGY6CiAgICAgLy8gQXBwZWFzZSBHQ0MKICAgICBnb3RvICooJiZza2lwX25l
d19zY29wZSk7CiAjZW5kaWYKLSAgICBERUZJTkVfT1BDT0RFKG9wX3B1c2hfbmV3X3Njb3BlKSB7
Ci0gICAgICAgIC8qIG5ld19zY29wZSBkc3QocikgcHJvcGVydHkoaWQpIHZhbHVlKHIpCisgICAg
REVGSU5FX09QQ09ERShvcF9wdXNoX25hbWVfc2NvcGUpIHsKKyAgICAgICAgLyogbmV3X3Njb3Bl
IHByb3BlcnR5KGlkKSB2YWx1ZShyKSBhdHRyaWJ1dGVzKHVuc2lnbmVkKQogICAgICAgICAgCi0g
ICAgICAgICAgIENvbnN0cnVjdHMgYSBuZXcgTmFtZVNjb3BlT2JqZWN0IHdpdGggcHJvcGVydHkg
c2V0IHRvIHZhbHVlLiAgVGhhdCBzY29wZQotICAgICAgICAgICBvYmplY3QgaXMgdGhlbiBwdXNo
ZWQgb250byB0aGUgU2NvcGVDaGFpbi4gIFRoZSBzY29wZSBvYmplY3QgaXMgdGhlbiBzdG9yZWQK
LSAgICAgICAgICAgaW4gZHN0IGZvciBHQy4KKyAgICAgICAgICAgQ29uc3RydWN0cyBhIG5hbWUg
c2NvcGUgb2YgdGhlIGZvcm0geyBwcm9wZXJ0eTxhdHRyaWJ1dGVzPjogdmFsdWUgfSwKKyAgICAg
ICAgICAgYW5kIHB1c2hlcyBpdCBvbnRvIHRoZSBzY29wZSBjaGFpbi4KICAgICAgICAgICovCi0g
ICAgICAgIGNhbGxGcmFtZS0+c2V0U2NvcGUoY3JlYXRlRXhjZXB0aW9uU2NvcGUoY2FsbEZyYW1l
LCB2UEMpKTsKKyAgICAgICAgY2FsbEZyYW1lLT5zZXRTY29wZShjcmVhdGVOYW1lU2NvcGUoY2Fs
bEZyYW1lLCB2UEMpKTsKIAotICAgICAgICB2UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9wdXNoX25l
d19zY29wZSk7CisgICAgICAgIHZQQyArPSBPUENPREVfTEVOR1RIKG9wX3B1c2hfbmFtZV9zY29w
ZSk7CiAgICAgICAgIE5FWFRfSU5TVFJVQ1RJT04oKTsKICAgICB9CiAjaWYgRU5BQkxFKENPTVBV
VEVEX0dPVE9fQ0xBU1NJQ19JTlRFUlBSRVRFUikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAJKHJldmlzaW9uIDEyNzM5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE4LDggKzMxOCw4IEBAIHZvaWQgSklUOjpwcml2YXRl
Q29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX3ByZV9pbmMpCiAgICAgICAg
IERFRklORV9PUChvcF9wcm9maWxlX2RpZF9jYWxsKQogICAgICAgICBERUZJTkVfT1Aob3BfcHJv
ZmlsZV93aWxsX2NhbGwpCi0gICAgICAgIERFRklORV9PUChvcF9wdXNoX25ld19zY29wZSkKLSAg
ICAgICAgREVGSU5FX09QKG9wX3B1c2hfc2NvcGUpCisgICAgICAgIERFRklORV9PUChvcF9wdXNo
X25hbWVfc2NvcGUpCisgICAgICAgIERFRklORV9PUChvcF9wdXNoX3dpdGhfc2NvcGUpCiAgICAg
ICAgIGNhc2Ugb3BfcHV0X2J5X2lkX291dF9vZl9saW5lOgogICAgICAgICBjYXNlIG9wX3B1dF9i
eV9pZF90cmFuc2l0aW9uX2RpcmVjdDoKICAgICAgICAgY2FzZSBvcF9wdXRfYnlfaWRfdHJhbnNp
dGlvbl9ub3JtYWw6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHJldmlzaW9uIDEyNzM5
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHdvcmtpbmcgY29weSkKQEAg
LTY3MSw4ICs2NzEsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX3By
ZV9pbmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX3Byb2ZpbGVfZGlkX2Nh
bGwoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX3Byb2ZpbGVfd2lsbF9jYWxs
KEluc3RydWN0aW9uKik7Ci0gICAgICAgIHZvaWQgZW1pdF9vcF9wdXNoX25ld19zY29wZShJbnN0
cnVjdGlvbiopOwotICAgICAgICB2b2lkIGVtaXRfb3BfcHVzaF9zY29wZShJbnN0cnVjdGlvbiop
OworICAgICAgICB2b2lkIGVtaXRfb3BfcHVzaF9uYW1lX3Njb3BlKEluc3RydWN0aW9uKik7Cisg
ICAgICAgIHZvaWQgZW1pdF9vcF9wdXNoX3dpdGhfc2NvcGUoSW5zdHJ1Y3Rpb24qKTsKICAgICAg
ICAgdm9pZCBlbWl0X29wX3B1dF9ieV9pZChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVt
aXRfb3BfcHV0X2J5X2luZGV4KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9w
dXRfYnlfdmFsKEluc3RydWN0aW9uKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCShyZXZpc2lvbiAxMjczOTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEz
NTgsOSArMTM1OCw5IEBAIHZvaWQgSklUOjplbWl0X29wX25leHRfcG5hbWUoSW5zdHJ1Y3Rpb24K
ICAgICBlbmQubGluayh0aGlzKTsKIH0KIAotdm9pZCBKSVQ6OmVtaXRfb3BfcHVzaF9zY29wZShJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQordm9pZCBKSVQ6OmVtaXRfb3BfcHVzaF93
aXRoX3Njb3BlKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7Ci0gICAgSklUU3R1
YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX3B1c2hfc2NvcGUpOworICAgIEpJVFN0dWJDYWxs
IHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9wdXNoX3dpdGhfc2NvcGUpOwogICAgIHN0dWJDYWxsLmFk
ZEFyZ3VtZW50KGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpOwogICAgIHN0dWJDYWxs
LmNhbGwoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7CiB9CkBAIC0xMzk3LDEyICsx
Mzk3LDEzIEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF90b19qc251bWJlcihJbnN0cnUKICAgICBz
dHViQ2FsbC5jYWxsKGRzdCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29wX3B1c2hfbmV3X3Njb3Bl
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJVDo6ZW1pdF9vcF9wdXNo
X25hbWVfc2NvcGUoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKLSAgICBKSVRT
dHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBjdGlfb3BfcHVzaF9uZXdfc2NvcGUpOwotICAgIHN0dWJD
YWxsLmFkZEFyZ3VtZW50KFRydXN0ZWRJbW1QdHIoJm1fY29kZUJsb2NrLT5pZGVudGlmaWVyKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7Ci0gICAgc3R1YkNhbGwuYWRkQXJndW1l
bnQoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7Ci0gICAgc3R1YkNhbGwuY2FsbChj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKKyAgICBKSVRTdHViQ2FsbCBzdHViQ2Fs
bCh0aGlzLCBjdGlfb3BfcHVzaF9uYW1lX3Njb3BlKTsKKyAgICBzdHViQ2FsbC5hZGRBcmd1bWVu
dChUcnVzdGVkSW1tUHRyKCZtX2NvZGVCbG9jay0+aWRlbnRpZmllcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSkpOworICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KGN1cnJlbnRJbnN0
cnVjdGlvblsyXS51Lm9wZXJhbmQpOworICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KFRydXN0ZWRJ
bW0zMihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKSk7CisgICAgc3R1YkNhbGwuY2Fs
bCgpOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9jYXRjaChJbnN0cnVjdGlvbiogY3VycmVudElu
c3RydWN0aW9uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CShyZXZpc2lvbiAxMjczOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAzLDkgKzEwMDMsOSBAQCB2b2lkIEpJVDo6ZW1p
dF9vcF9uZXh0X3BuYW1lKEluc3RydWN0aW9uCiAgICAgZW5kLmxpbmsodGhpcyk7CiB9CiAKLXZv
aWQgSklUOjplbWl0X29wX3B1c2hfc2NvcGUoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKK3ZvaWQgSklUOjplbWl0X29wX3B1c2hfd2l0aF9zY29wZShJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewotICAgIEpJVFN0dWJDYWxsIHN0dWJDYWxsKHRoaXMsIGN0aV9vcF9w
dXNoX3Njb3BlKTsKKyAgICBKSVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBjdGlfb3BfcHVzaF93
aXRoX3Njb3BlKTsKICAgICBzdHViQ2FsbC5hZGRBcmd1bWVudChjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kLCByZWdUMik7CiAgICAgc3R1YkNhbGwuY2FsbChjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKTsKIH0KQEAgLTEwNzIsMTIgKzEwNzIsMTMgQEAgdm9pZCBKSVQ6OmVt
aXRfb3BfdG9fanNudW1iZXIoSW5zdHJ1Y3RpbwogICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7CiB9CiAKLXZvaWQgSklUOjplbWl0X29w
X3B1c2hfbmV3X3Njb3BlKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit2b2lkIEpJ
VDo6ZW1pdF9vcF9wdXNoX25hbWVfc2NvcGUoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKIHsKLSAgICBKSVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBjdGlfb3BfcHVzaF9uZXdfc2Nv
cGUpOwotICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KFRydXN0ZWRJbW1QdHIoJm1fY29kZUJsb2Nr
LT5pZGVudGlmaWVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7Ci0gICAgc3R1
YkNhbGwuYWRkQXJndW1lbnQoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCwgcmVnVDIp
OwotICAgIHN0dWJDYWxsLmNhbGwoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7Cisg
ICAgSklUU3R1YkNhbGwgc3R1YkNhbGwodGhpcywgY3RpX29wX3B1c2hfbmFtZV9zY29wZSk7Cisg
ICAgc3R1YkNhbGwuYWRkQXJndW1lbnQoVHJ1c3RlZEltbVB0cigmbV9jb2RlQmxvY2stPmlkZW50
aWZpZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCkpKTsKKyAgICBzdHViQ2FsbC5h
ZGRBcmd1bWVudChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMik7CisgICAg
c3R1YkNhbGwuYWRkQXJndW1lbnQoVHJ1c3RlZEltbTMyKGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQpKTsKKyAgICBzdHViQ2FsbC5jYWxsKCk7CiB9CiAKIHZvaWQgSklUOjplbWl0X29w
X2NhdGNoKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAkocmV2aXNpb24gMTI3MzkyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNDEsNyAr
MzE0MSw3IEBAIERFRklORV9TVFVCX0ZVTkNUSU9OKGludCwgaGFzX3Byb3BlcnR5KQogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLURFRklORV9TVFVCX0ZVTkNUSU9OKEpTT2JqZWN0Kiwgb3BfcHVz
aF9zY29wZSkKK0RFRklORV9TVFVCX0ZVTkNUSU9OKEpTT2JqZWN0Kiwgb3BfcHVzaF93aXRoX3Nj
b3BlKQogewogICAgIFNUVUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKIApAQCAtMzI1
OCwxNSArMzI1OCwxNCBAQCBERUZJTkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3Bf
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oYmFzZU9iai0+aGFzUHJvcGVy
dHkoY2FsbEZyYW1lLCBwcm9wZXJ0eSkpKTsKIH0KIAotREVGSU5FX1NUVUJfRlVOQ1RJT04oSlNP
YmplY3QqLCBvcF9wdXNoX25ld19zY29wZSkKK0RFRklORV9TVFVCX0ZVTkNUSU9OKHZvaWQsIG9w
X3B1c2hfbmFtZV9zY29wZSkKIHsKICAgICBTVFVCX0lOSVRfU1RBQ0tfRlJBTUUoc3RhY2tGcmFt
ZSk7CiAKLSAgICBKU05hbWVTY29wZSogc2NvcGUgPSBKU05hbWVTY29wZTo6Y3JlYXRlKHN0YWNr
RnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMF0uaWRlbnRpZmllcigpLCBzdGFja0Zy
YW1lLmFyZ3NbMV0uanNWYWx1ZSgpLCBEb250RGVsZXRlKTsKKyAgICBKU05hbWVTY29wZSogc2Nv
cGUgPSBKU05hbWVTY29wZTo6Y3JlYXRlKHN0YWNrRnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1l
LmFyZ3NbMF0uaWRlbnRpZmllcigpLCBzdGFja0ZyYW1lLmFyZ3NbMV0uanNWYWx1ZSgpLCBzdGFj
a0ZyYW1lLmFyZ3NbMl0uaW50MzIoKSk7CiAKICAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IHN0
YWNrRnJhbWUuY2FsbEZyYW1lOwogICAgIGNhbGxGcmFtZS0+c2V0U2NvcGUoc2NvcGUpOwotICAg
IHJldHVybiBzY29wZTsKIH0KIAogREVGSU5FX1NUVUJfRlVOQ1RJT04odm9pZCwgb3Bfam1wX3Nj
b3BlcykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgJKHJldmlzaW9uIDEy
NzM5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAkod29ya2luZyBj
b3B5KQpAQCAtNDE3LDggKzQxNyw4IEBAIGV4dGVybiAiQyIgewogICAgIEpTT2JqZWN0KiBKSVRf
U1RVQiBjdGlfb3BfbmV3X29iamVjdChTVFVCX0FSR1NfREVDTEFSQVRJT04pIFdURl9JTlRFUk5B
TDsKICAgICBKU09iamVjdCogSklUX1NUVUIgY3RpX29wX25ld19yZWdleHAoU1RVQl9BUkdTX0RF
Q0xBUkFUSU9OKSBXVEZfSU5URVJOQUw7CiAgICAgSlNPYmplY3QqIEpJVF9TVFVCIGN0aV9vcF9w
dXNoX2FjdGl2YXRpb24oU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKSBXVEZfSU5URVJOQUw7Ci0gICAg
SlNPYmplY3QqIEpJVF9TVFVCIGN0aV9vcF9wdXNoX25ld19zY29wZShTVFVCX0FSR1NfREVDTEFS
QVRJT04pIFdURl9JTlRFUk5BTDsKLSAgICBKU09iamVjdCogSklUX1NUVUIgY3RpX29wX3B1c2hf
c2NvcGUoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKSBXVEZfSU5URVJOQUw7CisgICAgdm9pZCBKSVRf
U1RVQiBjdGlfb3BfcHVzaF9uYW1lX3Njb3BlKFNUVUJfQVJHU19ERUNMQVJBVElPTikgV1RGX0lO
VEVSTkFMOworICAgIEpTT2JqZWN0KiBKSVRfU1RVQiBjdGlfb3BfcHVzaF93aXRoX3Njb3BlKFNU
VUJfQVJHU19ERUNMQVJBVElPTikgV1RGX0lOVEVSTkFMOwogICAgIEpTT2JqZWN0KiBKSVRfU1RV
QiBjdGlfb3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fcmVhbGxvYyhTVFVCX0FSR1NfREVDTEFSQVRJ
T04pIFdURl9JTlRFUk5BTDsKICAgICBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yKiBKSVRfU1RVQiBj
dGlfb3BfZ2V0X3BuYW1lcyhTVFVCX0FSR1NfREVDTEFSQVRJT04pIFdURl9JTlRFUk5BTDsKICAg
ICBpbnQgSklUX1NUVUIgY3RpX29wX2VxKFNUVUJfQVJHU19ERUNMQVJBVElPTikgV1RGX0lOVEVS
TkFMOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwCShyZXZpc2lvbiAxMjczOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMwLDE0ICsxNTMwLDEzIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXh0X3BuYW0KICAgICBMTElOVF9FTkQo
KTsKIH0KIAotTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1c2hfc2NvcGUpCitMTElO
VF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHVzaF93aXRoX3Njb3BlKQogewogICAgIExMSU5U
X0JFR0lOKCk7Ci0gICAgSlNWYWx1ZSB2ID0gTExJTlRfT1AoMSkuanNWYWx1ZSgpOworICAgIEpT
VmFsdWUgdiA9IExMSU5UX09QX0MoMSkuanNWYWx1ZSgpOwogICAgIEpTT2JqZWN0KiBvID0gdi50
b09iamVjdChleGVjKTsKICAgICBMTElOVF9DSEVDS19FWENFUFRJT04oKTsKICAgICAKLSAgICBM
TElOVF9PUCgxKSA9IG87CiAgICAgZXhlYy0+c2V0U2NvcGUoSlNXaXRoU2NvcGU6OmNyZWF0ZShl
eGVjLCBvKSk7CiAgICAgCiAgICAgTExJTlRfRU5EKCk7CkBAIC0xNTUwLDEzICsxNTQ5LDEzIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wb3Bfc2NvcGUKICAgICBMTElOVF9FTkQo
KTsKIH0KIAotTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1c2hfbmV3X3Njb3BlKQor
TExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1c2hfbmFtZV9zY29wZSkKIHsKICAgICBM
TElOVF9CRUdJTigpOwogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2Nr
KCk7Ci0gICAgSlNOYW1lU2NvcGUqIHNjb3BlID0gSlNOYW1lU2NvcGU6OmNyZWF0ZShleGVjLCBj
b2RlQmxvY2stPmlkZW50aWZpZXIocGNbMl0udS5vcGVyYW5kKSwgTExJTlRfT1AoMykuanNWYWx1
ZSgpLCBEb250RGVsZXRlKTsKKyAgICBKU05hbWVTY29wZSogc2NvcGUgPSBKU05hbWVTY29wZTo6
Y3JlYXRlKGV4ZWMsIGNvZGVCbG9jay0+aWRlbnRpZmllcihwY1sxXS51Lm9wZXJhbmQpLCBMTElO
VF9PUCgyKS5qc1ZhbHVlKCksIHBjWzNdLnUub3BlcmFuZCk7CiAgICAgZXhlYy0+c2V0U2NvcGUo
c2NvcGUpOwotICAgIExMSU5UX1JFVFVSTihzY29wZSk7CisgICAgTExJTlRfRU5EKCk7CiB9CiAK
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF90aHJvdykKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCShyZXZpc2lvbiAxMjczOTIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAkod29ya2luZyBj
b3B5KQpAQCAtMjAyLDkgKzIwMiw5IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfc3QKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfdG9fcHJpbWl0
aXZlKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfZ2V0X3BuYW1lcyk7
CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25leHRfcG5hbWUpOwotTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9wdXNoX3Njb3BlKTsKK0xMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfcHVzaF93aXRoX3Njb3BlKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfcG9wX3Njb3BlKTsKLUxMSU5UX1NMT1dfUEFU
SF9ISURERU5fREVDTChzbG93X3BhdGhfcHVzaF9uZXdfc2NvcGUpOworTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF9wdXNoX25hbWVfc2NvcGUpOwogTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF90aHJvdyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3Rocm93X3JlZmVyZW5jZV9lcnJvcik7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX2RlYnVnKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHJldmlzaW9uIDEyNzM5MikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQko
d29ya2luZyBjb3B5KQpAQCAtNzczLDkgKzc3Myw5IEBAIF9sbGludF9vcF9nZXRfcG5hbWVzOgog
ICAgIGRpc3BhdGNoKDApICMgVGhlIHNsb3dfcGF0aCBlaXRoZXIgYWR2YW5jZXMgdGhlIFBDIG9y
IGp1bXBzIHVzIHRvIHNvbWV3aGVyZSBlbHNlLgogCiAKLV9sbGludF9vcF9wdXNoX3Njb3BlOgor
X2xsaW50X29wX3B1c2hfd2l0aF9zY29wZToKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgY2Fs
bFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHVzaF9zY29wZSkKKyAgICBjYWxsU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9wdXNoX3dpdGhfc2NvcGUpCiAgICAgZGlzcGF0Y2goMikKIAogCkBA
IC03ODUsOSArNzg1LDkgQEAgX2xsaW50X29wX3BvcF9zY29wZToKICAgICBkaXNwYXRjaCgxKQog
CiAKLV9sbGludF9vcF9wdXNoX25ld19zY29wZToKK19sbGludF9vcF9wdXNoX25hbWVfc2NvcGU6
CiAgICAgdHJhY2VFeGVjdXRpb24oKQotICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRo
X3B1c2hfbmV3X3Njb3BlKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1c2hf
bmFtZV9zY29wZSkKICAgICBkaXNwYXRjaCg0KQogCiAK
</data>
<flag name="review"
          id="172761"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>