<?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>121755</bug_id>
          
          <creation_ts>2013-09-21 18:41:59 -0700</creation_ts>
          <short_desc>Interpreter::unwind() has no need for the bytecodeOffset</short_desc>
          <delta_ts>2013-09-21 21:59:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>121734</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>931851</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-21 18:41:59 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931853</commentid>
    <comment_count>1</comment_count>
      <attachid>212292</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-21 18:59:31 -0700</bug_when>
    <thetext>Created attachment 212292
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931854</commentid>
    <comment_count>2</comment_count>
      <attachid>212292</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-09-21 19:02:31 -0700</bug_when>
    <thetext>Comment on attachment 212292
the patch

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931869</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-21 21:59:52 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/156242</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212292</attachid>
            <date>2013-09-21 18:59:31 -0700</date>
            <delta_ts>2013-09-21 20:49:15 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>25269</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU2MjM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBA
CisyMDEzLTA5LTIxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SW50ZXJwcmV0ZXI6OnVud2luZCgpIGhhcyBubyBuZWVkIGZvciB0aGUgYnl0ZWNvZGVPZmZzZXQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTc1NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
SXQgd2FzIG9ubHkgdXNpbmcgdGhlIGJ5dGVjb2RlT2Zmc2V0IGZvciBzb21lIGRlYnVnZ2VyIHN0
dWZmLCBidXQgdGhlIGRlYnVnZ2VyIGNvdWxkCisgICAgICAgIGp1c3QgZ2V0IHRoZSBieXRlY29k
ZU9mZnNldCB0aGUgc2FtZSB3YXkgdGhlIHJlc3Qgb2YgdGhlIG1hY2hpbmVyeSBkb2VzOiBieSB1
c2luZyB0aGUKKyAgICAgICAgQ2FsbEZyYW1lJ3MgbG9jYXRpb24uCisgICAgICAgIAorICAgICAg
ICBJdCB0dXJucyBvdXQgdGhhdCBhIGxvdCBvZiByZWFsbHkgdWdseSBjb2RlIHdhcyBpbiBwbGFj
ZSBqdXN0IHRvIHN1cHBseSB0aGlzCisgICAgICAgIGJ5dGVjb2RlT2Zmc2V0LiBUaGlzIHBhdGNo
IGtpbGxzIG1vc3Qgb2YgdGhhdCBjb2RlLCBhbmQgYWxsb3dzIHVzIHRvIGtpbGwgZXZlbiBtb3Jl
CisgICAgICAgIGNvZGUgaW4gYSBmdXR1cmUgcGF0Y2ggLSB0aG91Z2ggbW9zdCBsaWtlbHkgdGhh
dCBraWxsYWdlIHdpbGwgaW52b2x2ZSBmdXJ0aGVyCisgICAgICAgIHJlZmFjdG9yaW5ncyBhcyB3
ZWxsLCBzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTczNC4K
KworICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBpbnRlcnByZXRl
ci9DYWxsRnJhbWUuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWU6OmJ5dGVjb2RlT2Zmc2V0
KToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1lOjpjb2RlT3JpZ2luKToKKyAgICAgICAgKiBpbnRl
cnByZXRlci9DYWxsRnJhbWUuaDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjp1bndpbmQpOgorICAgICAgICAqIGludGVy
cHJldGVyL0ludGVycHJldGVyLmg6CisgICAgICAgICogaml0L0pJVEV4Y2VwdGlvbnMuY3BwOgor
ICAgICAgICAoSlNDOjpnZW5lcmljVW53aW5kKToKKyAgICAgICAgKiBqaXQvSklURXhjZXB0aW9u
cy5oOgorICAgICAgICAqIGppdC9KSVRTdHVicy5jcHA6CisgICAgICAgIChKU0M6OkRFRklORV9T
VFVCX0ZVTkNUSU9OKToKKyAgICAgICAgKEpTQzo6Y3RpX3ZtX2hhbmRsZV9leGNlcHRpb24pOgor
ICAgICAgICAqIGxsaW50L0xMSW50RXhjZXB0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50
Ojpkb1Rocm93KToKKyAgICAgICAgKEpTQzo6TExJbnQ6OnJldHVyblRvVGhyb3cpOgorICAgICAg
ICAoSlNDOjpMTEludDo6Y2FsbFRvVGhyb3cpOgorICAgICAgICAqIGxsaW50L0xMSW50RXhjZXB0
aW9ucy5oOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpT
Qzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1v
blNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAg
KiBydW50aW1lL0NvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpD
b21tb25TbG93UGF0aHM6OmludGVycHJldGVyVGhyb3dJbkNhbGxlcik6CisgICAgICAgICogcnVu
dGltZS9Db21tb25TbG93UGF0aHNFeGNlcHRpb25zLmg6CisKIDIwMTMtMDktMjEgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggdGhlIHJl
dmVydC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAkocmV2aXNpb24gMTU2MjM4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkwNiwzMSArMTkwNiwzNCBAQCBKU0NlbGwq
IERGR19PUEVSQVRJT04gb3BlcmF0aW9uU3RyaW5nRnJvCiAKIERGR0hhbmRsZXJFbmNvZGVkIERG
R19PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlcihFeGVjU3RhdGUqIGV4ZWMsIHVpbnQz
Ml90IGNhbGxJbmRleCkKIHsKKyAgICAvLyBGSVhNRTogVGhpcyBpc24ndCBuZWVkZWQgYW55bW9y
ZS4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNzM0
CisgICAgVU5VU0VEX1BBUkFNKGNhbGxJbmRleCk7CisgICAgCiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CiAKICAg
ICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlID0gZXhlYy0+ZXhjZXB0aW9uKCk7CiAgICAgQVNTRVJU
KGV4Y2VwdGlvblZhbHVlKTsKICAgICAKLSAgICB1bnNpZ25lZCB2UENJbmRleCA9IGV4ZWMtPmNv
ZGVCbG9jaygpLT5ieXRlY29kZU9mZnNldEZvckNhbGxBdEluZGV4KGNhbGxJbmRleCk7Ci0gICAg
RXhjZXB0aW9uSGFuZGxlciBoYW5kbGVyID0gZ2VuZXJpY1Vud2luZCh2bSwgZXhlYywgZXhjZXB0
aW9uVmFsdWUsIHZQQ0luZGV4KTsKKyAgICBFeGNlcHRpb25IYW5kbGVyIGhhbmRsZXIgPSBnZW5l
cmljVW53aW5kKHZtLCBleGVjLCBleGNlcHRpb25WYWx1ZSk7CiAgICAgQVNTRVJUKGhhbmRsZXIu
Y2F0Y2hSb3V0aW5lKTsKICAgICByZXR1cm4gZGZnSGFuZGxlckVuY29kZWQoaGFuZGxlci5jYWxs
RnJhbWUsIGhhbmRsZXIuY2F0Y2hSb3V0aW5lKTsKIH0KIAogREZHSGFuZGxlckVuY29kZWQgREZH
X09QRVJBVElPTiBsb29rdXBFeGNlcHRpb25IYW5kbGVySW5TdHViKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvKQogeworICAgIC8vIEZJWE1FOiBUaGlzIGlzbid0
IG5lZWRlZCBhbnltb3JlLgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjE3MzQKKyAgICBVTlVTRURfUEFSQU0oc3R1YkluZm8pOworICAgIAogICAgIFZN
KiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0s
IGV4ZWMpOwogCiAgICAgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZSA9IGV4ZWMtPmV4Y2VwdGlvbigp
OwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7CiAgICAgCi0gICAgQ29kZU9yaWdpbiBjb2Rl
T3JpZ2luID0gc3R1YkluZm8tPmNvZGVPcmlnaW47Ci0gICAgd2hpbGUgKGNvZGVPcmlnaW4uaW5s
aW5lQ2FsbEZyYW1lKQotICAgICAgICBjb2RlT3JpZ2luID0gY29kZU9yaWdpbi5pbmxpbmVDYWxs
RnJhbWUtPmNhbGxlcjsKLSAgICAKLSAgICBFeGNlcHRpb25IYW5kbGVyIGhhbmRsZXIgPSBnZW5l
cmljVW53aW5kKHZtLCBleGVjLCBleGNlcHRpb25WYWx1ZSwgY29kZU9yaWdpbi5ieXRlY29kZUlu
ZGV4KTsKKyAgICBFeGNlcHRpb25IYW5kbGVyIGhhbmRsZXIgPSBnZW5lcmljVW53aW5kKHZtLCBl
eGVjLCBleGNlcHRpb25WYWx1ZSk7CiAgICAgQVNTRVJUKGhhbmRsZXIuY2F0Y2hSb3V0aW5lKTsK
ICAgICByZXR1cm4gZGZnSGFuZGxlckVuY29kZWQoaGFuZGxlci5jYWxsRnJhbWUsIGhhbmRsZXIu
Y2F0Y2hSb3V0aW5lKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWxsRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9DYWxsRnJhbWUuY3BwCShyZXZpc2lvbiAxNTYyMzgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTAs
NiArOTAsMzEgQEAgdW5zaWduZWQgQ2FsbEZyYW1lOjpieXRlY29kZU9mZnNldEZyb21DbwogCiAj
ZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCiAKK3Vuc2lnbmVkIENhbGxGcmFtZTo6Ynl0ZWNvZGVP
ZmZzZXQoKQoreworICAgIGlmICghY29kZUJsb2NrKCkpCisgICAgICAgIHJldHVybiAwOworI2lm
IEVOQUJMRShERkdfSklUKQorICAgIGlmIChoYXNMb2NhdGlvbkFzQ29kZU9yaWdpbkluZGV4KCkp
CisgICAgICAgIHJldHVybiBieXRlY29kZU9mZnNldEZyb21Db2RlT3JpZ2luSW5kZXgoKTsKKyNl
bmRpZgorICAgIHJldHVybiBsb2NhdGlvbkFzQnl0ZWNvZGVPZmZzZXQoKTsKK30KKworQ29kZU9y
aWdpbiBDYWxsRnJhbWU6OmNvZGVPcmlnaW4oKQoreworICAgIGlmICghY29kZUJsb2NrKCkpCisg
ICAgICAgIHJldHVybiBDb2RlT3JpZ2luKDApOworI2lmIEVOQUJMRShERkdfSklUKQorICAgIGlm
IChoYXNMb2NhdGlvbkFzQ29kZU9yaWdpbkluZGV4KCkpIHsKKyAgICAgICAgdW5zaWduZWQgaW5k
ZXggPSBsb2NhdGlvbkFzQ29kZU9yaWdpbkluZGV4KCk7CisgICAgICAgIEFTU0VSVChjb2RlQmxv
Y2soKS0+Y2FuR2V0Q29kZU9yaWdpbihpbmRleCkpOworICAgICAgICByZXR1cm4gY29kZUJsb2Nr
KCktPmNvZGVPcmlnaW4oaW5kZXgpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBDb2RlT3Jp
Z2luKGxvY2F0aW9uQXNCeXRlY29kZU9mZnNldCgpKTsKK30KKwogUmVnaXN0ZXIqIENhbGxGcmFt
ZTo6ZnJhbWVFeHRlbnRJbnRlcm5hbCgpCiB7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSB0
aGlzLT5jb2RlQmxvY2soKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWxsRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ2FsbEZyYW1lLmgJKHJldmlzaW9uIDE1NjIzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTY0LDYgKzE2
NCwxNyBAQCBuYW1lc3BhY2UgSlNDICB7CiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgICAgIHVu
c2lnbmVkIGJ5dGVjb2RlT2Zmc2V0RnJvbUNvZGVPcmlnaW5JbmRleCgpOwogI2VuZGlmCisgICAg
ICAgIAorICAgICAgICAvLyBUaGlzIHdpbGwgdHJ5IHRvIGdldCB5b3UgdGhlIGJ5dGVjb2RlIG9m
ZnNldCwgYnV0IHlvdSBzaG91bGQgYmUgYXdhcmUgdGhhdAorICAgICAgICAvLyB0aGlzIGJ5dGVj
b2RlIG9mZnNldCBtYXkgYmUgYm9ndXMgaW4gdGhlIHByZXNlbmNlIG9mIGlubGluaW5nLiBUaGlz
IHdpbGwKKyAgICAgICAgLy8gYWxzbyByZXR1cm4gMCBpZiB0aGUgY2FsbCBmcmFtZSBoYXMgbm8g
bm90aW9uIG9mIGJ5dGVjb2RlIG9mZnNldHMgKGZvcgorICAgICAgICAvLyBleGFtcGxlIGlmIGl0
J3MgbmF0aXZlIGNvZGUpLgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTIxNzU0CisgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KCk7Cisg
ICAgICAgIAorICAgICAgICAvLyBUaGlzIHdpbGwgZ2V0IHlvdSBhIENvZGVPcmlnaW4uIEl0IHdp
bGwgYWx3YXlzIHN1Y2NlZWQuIE1heSByZXR1cm4KKyAgICAgICAgLy8gQ29kZU9yaWdpbigwKSBp
ZiB3ZSdyZSBpbiBuYXRpdmUgY29kZS4KKyAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKCk7
CiAKICAgICAgICAgUmVnaXN0ZXIqIGZyYW1lRXh0ZW50KCkKICAgICAgICAgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShy
ZXZpc2lvbiAxNTYyMzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MzksNyArNjM5LDcgQEAgcHJpdmF0ZToK
ICAgICBIYW5kbGVySW5mbyomIG1faGFuZGxlcjsKIH07CiAKLU5FVkVSX0lOTElORSBIYW5kbGVy
SW5mbyogSW50ZXJwcmV0ZXI6OnVud2luZChDYWxsRnJhbWUqJiBjYWxsRnJhbWUsIEpTVmFsdWUm
IGV4Y2VwdGlvblZhbHVlLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCkKK05FVkVSX0lOTElORSBI
YW5kbGVySW5mbyogSW50ZXJwcmV0ZXI6OnVud2luZChDYWxsRnJhbWUqJiBjYWxsRnJhbWUsIEpT
VmFsdWUmIGV4Y2VwdGlvblZhbHVlKQogewogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gY2Fs
bEZyYW1lLT5jb2RlQmxvY2soKTsKICAgICBib29sIGlzVGVybWluYXRpb24gPSBmYWxzZTsKQEAg
LTY2Miw2ICs2NjIsMTEgQEAgTkVWRVJfSU5MSU5FIEhhbmRsZXJJbmZvKiBJbnRlcnByZXRlcjo6
dQogICAgICAgICAvLyBXZSBuZWVkIHRvIGNsZWFyIHRoZSBleGNlcHRpb24gYW5kIHRoZSBleGNl
cHRpb24gc3RhY2sgaGVyZSBpbiBvcmRlciB0byBzZWUgaWYgYSBuZXcgZXhjZXB0aW9uIGhhcHBl
bnMuCiAgICAgICAgIC8vIEFmdGVyd2FyZHMsIHRoZSB2YWx1ZXMgYXJlIHB1dCBiYWNrIHRvIGNv
bnRpbnVlIHByb2Nlc3NpbmcgdGhpcyBlcnJvci4KICAgICAgICAgQ2xlYXJFeGNlcHRpb25TY29w
ZSBzY29wZSgmY2FsbEZyYW1lLT52bSgpKTsKKyAgICAgICAgLy8gVGhpcyBjb2RlIGFzc3VtZXMg
dGhhdCBpZiB0aGUgZGVidWdnZXIgaXMgZW5hYmxlZCB0aGVuIHRoZXJlIGlzIG5vIGlubGluaW5n
LgorICAgICAgICAvLyBJZiB0aGF0IGFzc3VtcHRpb24gdHVybnMgb3V0IHRvIGJlIGZhbHNlIHRo
ZW4gd2UnbGwgaWdub3JlIHRoZSBpbmxpbmVkIGNhbGwKKyAgICAgICAgLy8gZnJhbWVzLgorICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNzU0Cisg
ICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gY2FsbEZyYW1lLT5ieXRlY29kZU9mZnNl
dCgpOwogICAgICAgICBpbnQgbGluZSA9IGNvZGVCbG9jay0+bGluZU51bWJlckZvckJ5dGVjb2Rl
T2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KTsKICAgICAgICAgaW50IGNvbHVtbiA9IGNvZGVCbG9jay0+
Y29sdW1uTnVtYmVyRm9yQnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBE
ZWJ1Z2dlckNhbGxGcmFtZSBkZWJ1Z2dlckNhbGxGcmFtZShjYWxsRnJhbWUsIGxpbmUsIGNvbHVt
biwgZXhjZXB0aW9uVmFsdWUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ludGVycHJldGVyLmgJKHJldmlzaW9uIDE1NjIzOCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MzgsNyArMjM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgYm9vbCBpc0luRXJyb3JI
YW5kbGluZ01vZGUoKSB7IHJldHVybiBtX2Vycm9ySGFuZGxpbmdNb2RlUmVlbnRyeTsgfQogCi0g
ICAgICAgIE5FVkVSX0lOTElORSBIYW5kbGVySW5mbyogdW53aW5kKENhbGxGcmFtZSomLCBKU1Zh
bHVlJiwgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQpOworICAgICAgICBORVZFUl9JTkxJTkUgSGFu
ZGxlckluZm8qIHVud2luZChDYWxsRnJhbWUqJiwgSlNWYWx1ZSYpOwogICAgICAgICBORVZFUl9J
TkxJTkUgdm9pZCBkZWJ1ZyhDYWxsRnJhbWUqLCBEZWJ1Z0hvb2tJRCwgaW50IGZpcnN0TGluZSwg
aW50IGxhc3RMaW5lLCBpbnQgY29sdW1uKTsKICAgICAgICAgSlNTdHJpbmcqIHN0YWNrVHJhY2VB
c1N0cmluZyhFeGVjU3RhdGUqLCBWZWN0b3I8U3RhY2tGcmFtZT4pOwogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHJldmlzaW9uIDE1NjIzOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM4LDE5ICszOCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1zdGF0aWMgdW5z
aWduZWQgZ2V0RXhjZXB0aW9uTG9jYXRpb24oVk0qIHZtLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkK
LXsKLSAgICBVTlVTRURfUEFSQU0odm0pOwotICAgIEFTU0VSVCghY2FsbEZyYW1lLT5oYXNIb3N0
Q2FsbEZyYW1lRmxhZygpKTsKLQotI2lmIEVOQUJMRShERkdfSklUKQotICAgIGlmIChjYWxsRnJh
bWUtPmhhc0xvY2F0aW9uQXNDb2RlT3JpZ2luSW5kZXgoKSkKLSAgICAgICAgcmV0dXJuIGNhbGxG
cmFtZS0+Ynl0ZWNvZGVPZmZzZXRGcm9tQ29kZU9yaWdpbkluZGV4KCk7Ci0jZW5kaWYKLQotICAg
IHJldHVybiBjYWxsRnJhbWUtPmxvY2F0aW9uQXNCeXRlY29kZU9mZnNldCgpOwotfQotCiAjaWYg
VVNFKEpTVkFMVUUzMl82NCkKIEVuY29kZWRFeGNlcHRpb25IYW5kbGVyIGVuY29kZShFeGNlcHRp
b25IYW5kbGVyIGhhbmRsZXIpCiB7CkBAIC02NywxMCArNTQsMTAgQEAgRXhjZXB0aW9uSGFuZGxl
ciB1bmNhdWdodEV4Y2VwdGlvbkhhbmRsZQogICAgIHJldHVybiBleGNlcHRpb25IYW5kbGVyOwog
fQogCi1FeGNlcHRpb25IYW5kbGVyIGdlbmVyaWNVbndpbmQoVk0qIHZtLCBFeGVjU3RhdGUqIGNh
bGxGcmFtZSwgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZSwgdW5zaWduZWQgdlBDSW5kZXgpCitFeGNl
cHRpb25IYW5kbGVyIGdlbmVyaWNVbndpbmQoVk0qIHZtLCBFeGVjU3RhdGUqIGNhbGxGcmFtZSwg
SlNWYWx1ZSBleGNlcHRpb25WYWx1ZSkKIHsKICAgICBSRUxFQVNFX0FTU0VSVChleGNlcHRpb25W
YWx1ZSk7Ci0gICAgSGFuZGxlckluZm8qIGhhbmRsZXIgPSB2bS0+aW50ZXJwcmV0ZXItPnVud2lu
ZChjYWxsRnJhbWUsIGV4Y2VwdGlvblZhbHVlLCB2UENJbmRleCk7IC8vIFRoaXMgbWF5IHVwZGF0
ZSBjYWxsRnJhbWUuCisgICAgSGFuZGxlckluZm8qIGhhbmRsZXIgPSB2bS0+aW50ZXJwcmV0ZXIt
PnVud2luZChjYWxsRnJhbWUsIGV4Y2VwdGlvblZhbHVlKTsgLy8gVGhpcyBtYXkgdXBkYXRlIGNh
bGxGcmFtZS4KIAogICAgIHZvaWQqIGNhdGNoUm91dGluZTsKICAgICBJbnN0cnVjdGlvbiogY2F0
Y2hQQ0ZvckludGVycHJldGVyID0gMDsKQEAgLTg5LDE4ICs3Niw2IEBAIEV4Y2VwdGlvbkhhbmRs
ZXIgZ2VuZXJpY1Vud2luZChWTSogdm0sIEUKICAgICByZXR1cm4gZXhjZXB0aW9uSGFuZGxlcjsK
IH0KIAotRXhjZXB0aW9uSGFuZGxlciBqaXRUaHJvd05ldyhWTSogdm0sIEV4ZWNTdGF0ZSogY2Fs
bEZyYW1lLCBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlKQotewotICAgIHVuc2lnbmVkIGJ5dGVjb2Rl
T2Zmc2V0ID0gZ2V0RXhjZXB0aW9uTG9jYXRpb24odm0sIGNhbGxGcmFtZSk7Ci0gICAgCi0gICAg
cmV0dXJuIGdlbmVyaWNVbndpbmQodm0sIGNhbGxGcmFtZSwgZXhjZXB0aW9uVmFsdWUsIGJ5dGVj
b2RlT2Zmc2V0KTsKLX0KLQotRXhjZXB0aW9uSGFuZGxlciBqaXRUaHJvdyhWTSogdm0sIEV4ZWNT
dGF0ZSogY2FsbEZyYW1lLCBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlLCBSZXR1cm5BZGRyZXNzUHRy
IGZhdWx0TG9jYXRpb24pCi17Ci0gICAgcmV0dXJuIGdlbmVyaWNVbndpbmQodm0sIGNhbGxGcmFt
ZSwgZXhjZXB0aW9uVmFsdWUsIGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmJ5dGVjb2RlT2Zmc2V0
KGNhbGxGcmFtZSwgZmF1bHRMb2NhdGlvbikpOwotfQotCiB9CiAKICNlbmRpZgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmgJKHJldmlzaW9uIDE1NjIzOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5oCSh3b3JraW5nIGNv
cHkpCkBAIC01OCwxMCArNTgsNyBAQCBFbmNvZGVkRXhjZXB0aW9uSGFuZGxlciBlbmNvZGUoRXhj
ZXB0aW9uCiAjZW5kaWYKIAogRXhjZXB0aW9uSGFuZGxlciB1bmNhdWdodEV4Y2VwdGlvbkhhbmRs
ZXIoKTsKLUV4Y2VwdGlvbkhhbmRsZXIgZ2VuZXJpY1Vud2luZChWTSosIEV4ZWNTdGF0ZSosIEpT
VmFsdWUgZXhjZXB0aW9uVmFsdWUsIHVuc2lnbmVkIHZQQ0luZGV4KTsKLQotRXhjZXB0aW9uSGFu
ZGxlciBqaXRUaHJvd05ldyhWTSosIEV4ZWNTdGF0ZSosIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUp
OwotRXhjZXB0aW9uSGFuZGxlciBqaXRUaHJvdyhWTSosIEV4ZWNTdGF0ZSosIEpTVmFsdWUgZXhj
ZXB0aW9uVmFsdWUsIFJldHVybkFkZHJlc3NQdHIgZmF1bHRMb2NhdGlvbik7CitFeGNlcHRpb25I
YW5kbGVyIGdlbmVyaWNVbndpbmQoVk0qLCBFeGVjU3RhdGUqLCBKU1ZhbHVlIGV4Y2VwdGlvblZh
bHVlKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUU3R1YnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnMuY3BwCShyZXZpc2lvbiAxNTYyMzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk3OSw3ICsxOTc5LDcgQEAg
REVGSU5FX1NUVUJfRlVOQ1RJT04odm9pZCosIG9wX3Rocm93KQogewogICAgIFNUVUJfSU5JVF9T
VEFDS19GUkFNRShzdGFja0ZyYW1lKTsKICAgICBzdGFja0ZyYW1lLnZtLT50aHJvd0V4Y2VwdGlv
bihzdGFja0ZyYW1lLmNhbGxGcmFtZSwgc3RhY2tGcmFtZS5hcmdzWzBdLmpzVmFsdWUoKSk7IAot
ICAgIEV4Y2VwdGlvbkhhbmRsZXIgaGFuZGxlciA9IGppdFRocm93KHN0YWNrRnJhbWUudm0sIHN0
YWNrRnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3NbMF0uanNWYWx1ZSgpLCBTVFVCX1JF
VFVSTl9BRERSRVNTKTsKKyAgICBFeGNlcHRpb25IYW5kbGVyIGhhbmRsZXIgPSBnZW5lcmljVW53
aW5kKHN0YWNrRnJhbWUudm0sIHN0YWNrRnJhbWUuY2FsbEZyYW1lLCBzdGFja0ZyYW1lLmFyZ3Nb
MF0uanNWYWx1ZSgpKTsKICAgICBTVFVCX1NFVF9SRVRVUk5fQUREUkVTUyhoYW5kbGVyLmNhdGNo
Um91dGluZSk7CiAgICAgcmV0dXJuIGhhbmRsZXIuY2FsbEZyYW1lOwogfQpAQCAtMjE1OCw3ICsy
MTU4LDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04odm9pZCosIHZtX3Rocm93KQogewogICAgIFNU
VUJfSU5JVF9TVEFDS19GUkFNRShzdGFja0ZyYW1lKTsKICAgICBWTSogdm0gPSBzdGFja0ZyYW1l
LnZtOwotICAgIEV4Y2VwdGlvbkhhbmRsZXIgaGFuZGxlciA9IGppdFRocm93KHZtLCBzdGFja0Zy
YW1lLmNhbGxGcmFtZSwgdm0tPmV4Y2VwdGlvbigpLCB2bS0+ZXhjZXB0aW9uTG9jYXRpb24pOwor
ICAgIEV4Y2VwdGlvbkhhbmRsZXIgaGFuZGxlciA9IGdlbmVyaWNVbndpbmQodm0sIHN0YWNrRnJh
bWUuY2FsbEZyYW1lLCB2bS0+ZXhjZXB0aW9uKCkpOwogICAgIFNUVUJfU0VUX1JFVFVSTl9BRERS
RVNTKGhhbmRsZXIuY2F0Y2hSb3V0aW5lKTsKICAgICByZXR1cm4gaGFuZGxlci5jYWxsRnJhbWU7
CiB9CkBAIC0yMTc0LDcgKzIxNzQsNyBAQCBFbmNvZGVkRXhjZXB0aW9uSGFuZGxlciBKSVRfU1RV
QiBjdGlfdm1fCiAKICAgICBWTSogdm0gPSBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT52bSgpOwog
ICAgIHZtLT50b3BDYWxsRnJhbWUgPSBjYWxsRnJhbWU7Ci0gICAgcmV0dXJuIGVuY29kZShqaXRU
aHJvd05ldyh2bSwgY2FsbEZyYW1lLCB2bS0+ZXhjZXB0aW9uKCkpKTsKKyAgICByZXR1cm4gZW5j
b2RlKGdlbmVyaWNVbndpbmQodm0sIGNhbGxGcmFtZSwgdm0tPmV4Y2VwdGlvbigpKSk7CiB9CiAj
ZWxzZQogRXhjZXB0aW9uSGFuZGxlciBKSVRfU1RVQiBjdGlfdm1faGFuZGxlX2V4Y2VwdGlvbihD
YWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTIxODcsNyArMjE4Nyw3IEBAIEV4Y2VwdGlvbkhhbmRs
ZXIgSklUX1NUVUIgY3RpX3ZtX2hhbmRsZV8KIAogICAgIFZNKiB2bSA9IGNhbGxGcmFtZS0+Y29k
ZUJsb2NrKCktPnZtKCk7CiAgICAgdm0tPnRvcENhbGxGcmFtZSA9IGNhbGxGcmFtZTsKLSAgICBy
ZXR1cm4gaml0VGhyb3dOZXcodm0sIGNhbGxGcmFtZSwgdm0tPmV4Y2VwdGlvbigpKTsKKyAgICBy
ZXR1cm4gZ2VuZXJpY1Vud2luZCh2bSwgY2FsbEZyYW1lLCB2bS0+ZXhjZXB0aW9uKCkpOwogfQog
I2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEV4Y2VwdGlv
bnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEV4
Y2VwdGlvbnMuY3BwCShyZXZpc2lvbiAxNTYyMzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRFeGNlcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsMzAgKzQ0LDMw
IEBAIEluc3RydWN0aW9uKiByZXR1cm5Ub1Rocm93Rm9yVGhyb3duRXhjZXAKICAgICByZXR1cm4g
TExJbnQ6OmV4Y2VwdGlvbkluc3RydWN0aW9ucygpOwogfQogCi1zdGF0aWMgdm9pZCBkb1Rocm93
KEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjKQorc3RhdGljIHZvaWQgZG9UaHJvdyhF
eGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgZ2VuZXJpY1Vud2luZCh2bSwg
ZXhlYywgdm0tPmV4Y2VwdGlvbigpLCBwYyAtIGV4ZWMtPmNvZGVCbG9jaygpLT5pbnN0cnVjdGlv
bnMoKS5iZWdpbigpKTsKKyAgICBnZW5lcmljVW53aW5kKHZtLCBleGVjLCB2bS0+ZXhjZXB0aW9u
KCkpOwogfQogCi1JbnN0cnVjdGlvbiogcmV0dXJuVG9UaHJvdyhFeGVjU3RhdGUqIGV4ZWMsIElu
c3RydWN0aW9uKiBwYykKK0luc3RydWN0aW9uKiByZXR1cm5Ub1Rocm93KEV4ZWNTdGF0ZSogZXhl
YykKIHsKICNpZiBMTElOVF9TTE9XX1BBVEhfVFJBQ0lORwogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwogICAgIGRhdGFMb2coIlRocm93aW5nIGV4Y2VwdGlvbiAiLCB2bS0+ZXhjZXB0aW9uKCks
ICIgKHJldHVyblRvVGhyb3cpLlxuIik7CiAjZW5kaWYKLSAgICBkb1Rocm93KGV4ZWMsIHBjKTsK
KyAgICBkb1Rocm93KGV4ZWMpOwogICAgIHJldHVybiBMTEludDo6ZXhjZXB0aW9uSW5zdHJ1Y3Rp
b25zKCk7CiB9CiAKLXZvaWQqIGNhbGxUb1Rocm93KEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rp
b24qIHBjKQordm9pZCogY2FsbFRvVGhyb3coRXhlY1N0YXRlKiBleGVjKQogewogI2lmIExMSU5U
X1NMT1dfUEFUSF9UUkFDSU5HCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgZGF0YUxv
ZygiVGhyb3dpbmcgZXhjZXB0aW9uICIsIHZtLT5leGNlcHRpb24oKSwgIiAoY2FsbFRvVGhyb3cp
LlxuIik7CiAjZW5kaWYKLSAgICBkb1Rocm93KGV4ZWMsIHBjKTsKKyAgICBkb1Rocm93KGV4ZWMp
OwogICAgIHJldHVybiBMTEludDo6Z2V0Q29kZVB0cihsbGludF90aHJvd19kdXJpbmdfY2FsbF90
cmFtcG9saW5lKTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
RXhjZXB0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludEV4Y2VwdGlvbnMuaAkocmV2aXNpb24gMTU2MjM4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50RXhjZXB0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxNyArNDQs
MTMgQEAgbmFtZXNwYWNlIExMSW50IHsKIC8vIHNldCB1cCBhbGwgaW5mb3JtYXRpb24gbmVlZGVk
IHRvIHRocm93IHRoZSBleGNlcHRpb24uCiBJbnN0cnVjdGlvbiogcmV0dXJuVG9UaHJvd0ZvclRo
cm93bkV4Y2VwdGlvbihFeGVjU3RhdGUqKTsKIAotLy8gU2F2ZXMgdGhlIGN1cnJlbnQgUEMgaW4g
dGhlIGdsb2JhbCBkYXRhIGZvciBzYWZlLWtlZXBpbmcsIGFuZCBnaXZlcyB5b3UgYSBQQwotLy8g
dGhhdCB5b3UgY2FuIHRlbGwgdGhlIGludGVycHJldGVyIHRvIGdvIHRvLCB3aGljaCB3aGVuIGFk
dmFuY2VkIGJldHdlZW4gMQotLy8gYW5kIDkgc2xvdHMgd2lsbCBnaXZlIHlvdSBhbiAiaW5zdHJ1
Y3Rpb24iIHRoYXQgdGhyZWFkcyB0byB0aGUgaW50ZXJwcmV0ZXIncwotLy8gZXhjZXB0aW9uIGhh
bmRsZXIuIE5vdGUgdGhhdCBpZiB5b3UgZ2l2ZSBpdCB0aGUgUEMgZm9yIGV4Y2VwdGlvbiBoYW5k
bGluZywKLS8vIGl0J3Mgc21hcnQgZW5vdWdoIHRvIGp1c3QgcmV0dXJuIHRoYXQgUEMgd2l0aG91
dCBkb2luZyBhbnl0aGluZyBlbHNlOyB0aGlzCi0vLyBsZXRzIHlvdSB0aHJlYWQgZXhjZXB0aW9u
IGhhbmRsaW5nIHRocm91Z2ggY29tbW9uIGhlbHBlciBmdW5jdGlvbnMgdXNlZCBieQotLy8gb3Ro
ZXIgaGVscGVycy4KLUluc3RydWN0aW9uKiByZXR1cm5Ub1Rocm93KEV4ZWNTdGF0ZSosIEluc3Ry
dWN0aW9uKik7CisvLyBHaXZlcyB5b3UgYSBQQyB0aGF0IHlvdSBjYW4gdGVsbCB0aGUgaW50ZXJw
cmV0ZXIgdG8gZ28gdG8sIHdoaWNoIHdoZW4gYWR2YW5jZWQKKy8vIGJldHdlZW4gMSBhbmQgOSBz
bG90cyB3aWxsIGdpdmUgeW91IGFuICJpbnN0cnVjdGlvbiIgdGhhdCB0aHJlYWRzIHRvIHRoZQor
Ly8gaW50ZXJwcmV0ZXIncyBleGNlcHRpb24gaGFuZGxlci4KK0luc3RydWN0aW9uKiByZXR1cm5U
b1Rocm93KEV4ZWNTdGF0ZSopOwogCiAvLyBVc2UgdGhpcyB3aGVuIHlvdSdyZSB0aHJvd2luZyB0
byBhIGNhbGwgdGh1bmsuCi12b2lkKiBjYWxsVG9UaHJvdyhFeGVjU3RhdGUqLCBJbnN0cnVjdGlv
biopOwordm9pZCogY2FsbFRvVGhyb3coRXhlY1N0YXRlKik7CiAKIH0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpMTEludAogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDE1NjIzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgzLDE0ICs4Mywx
NCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKICNkZWZpbmUgTExJTlRfRU5E
X0lNUEwoKSBMTElOVF9SRVRVUk5fVFdPKHBjLCBleGVjKQogCiAjZGVmaW5lIExMSU5UX1RIUk9X
KGV4Y2VwdGlvblRvVGhyb3cpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
IHZtLnRocm93RXhjZXB0aW9uKGV4ZWMsIGV4Y2VwdGlvblRvVGhyb3cpOyAgICAgICAgICAgICBc
Ci0gICAgICAgIHBjID0gcmV0dXJuVG9UaHJvdyhleGVjLCBwYyk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgIHZtLnRocm93RXhjZXB0aW9uKGV4ZWMsIGV4Y2VwdGlvblRv
VGhyb3cpOyAgICAgICAgICAgICAgICBcCisgICAgICAgIHBjID0gcmV0dXJuVG9UaHJvdyhleGVj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIExMSU5UX0VORF9J
TVBMKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3
aGlsZSAoZmFsc2UpCiAKICNkZWZpbmUgTExJTlRfQ0hFQ0tfRVhDRVBUSU9OKCkgZG8geyAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICBpZiAoVU5MSUtFTFkodm0uZXhjZXB0aW9uKCkpKSB7
ICAgICAgICAgICBcCi0gICAgICAgICAgICBwYyA9IHJldHVyblRvVGhyb3coZXhlYywgcGMpOyAg
ICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlvbigpKSkgeyAg
ICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgcGMgPSByZXR1cm5Ub1Rocm93KGV4ZWMpOyAg
ICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBMTElOVF9FTkRfSU1QTCgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQpAQCAtMTQyLDIzICsx
NDIsMjAgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAKICNkZWZpbmUgTExJ
TlRfQ0FMTF9USFJPVyhleGVjLCBwYywgZXhjZXB0aW9uVG9UaHJvdykgZG8geyAgICAgICAgICAg
ICAgIFwKICAgICAgICAgRXhlY1N0YXRlKiBfX2N0X2V4ZWMgPSAoZXhlYyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgSW5zdHJ1Y3Rpb24qIF9fY3RfcGMgPSAo
cGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgdm0udGhy
b3dFeGNlcHRpb24oX19jdF9leGVjLCBleGNlcHRpb25Ub1Rocm93KTsgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgIExMSU5UX0NBTExfRU5EX0lNUEwoX19jdF9leGVjLCBjYWxsVG9UaHJv
dyhfX2N0X2V4ZWMsIF9fY3RfcGMpKTsgXAorICAgICAgICB2bS50aHJvd0V4Y2VwdGlvbihfX2N0
X2V4ZWMsIGV4Y2VwdGlvblRvVGhyb3cpOyAgICAgICAgICAgICAgICAgXAorICAgICAgICBMTElO
VF9DQUxMX0VORF9JTVBMKF9fY3RfZXhlYywgY2FsbFRvVGhyb3coX19jdF9leGVjKSk7ICAgICAg
ICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCi0jZGVmaW5lIExMSU5UX0NBTExfQ0hFQ0tfRVhD
RVBUSU9OKGV4ZWMsIHBjKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIExM
SU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKGV4ZWMpIGRvIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgICAgIEV4ZWNTdGF0ZSogX19jY2VfZXhlYyA9IChleGVjKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIEluc3RydWN0aW9uKiBfX2NjZV9wYyA9
IChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGlmIChV
TkxJS0VMWSh2bS5leGNlcHRpb24oKSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKLSAgICAgICAgICAgIExMSU5UX0NBTExfRU5EX0lNUEwoX19jY2VfZXhlYywgY2FsbFRv
VGhyb3coX19jY2VfZXhlYywgX19jY2VfcGMpKTsgXAorICAgICAgICBpZiAoVU5MSUtFTFkodm0u
ZXhjZXB0aW9uKCkpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg
ICAgICAgTExJTlRfQ0FMTF9FTkRfSU1QTChfX2NjZV9leGVjLCBjYWxsVG9UaHJvdyhfX2NjZV9l
eGVjKSk7ICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCiAjZGVmaW5lIExMSU5UX0NBTExfUkVU
VVJOKGV4ZWMsIHBjLCBjYWxsVGFyZ2V0KSBkbyB7ICAgICAgICAgICAgICAgICAgICBcCiAgICAg
ICAgIEV4ZWNTdGF0ZSogX19jcl9leGVjID0gKGV4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgIEluc3RydWN0aW9uKiBfX2NyX3BjID0gKHBjKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIHZvaWQqIF9fY3JfY2FsbFRh
cmdldCA9IChjYWxsVGFyZ2V0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAg
IExMSU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKF9fY3JfZXhlYy0+Y2FsbGVyRnJhbWUoKSwgX19j
cl9wYyk7ICBcCisgICAgICAgIExMSU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKF9fY3JfZXhlYy0+
Y2FsbGVyRnJhbWUoKSk7ICAgICAgICAgICBcCiAgICAgICAgIExMSU5UX0NBTExfRU5EX0lNUEwo
X19jcl9leGVjLCBfX2NyX2NhbGxUYXJnZXQpOyAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGls
ZSAoZmFsc2UpCiAKQEAgLTQzMSw5ICs0MjgsOCBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzdGFj
a19jaGVjaykKICNlbmRpZgogICAgIEFTU0VSVCghZXhlYy0+dm0oKS5pbnRlcnByZXRlci0+c3Rh
Y2soKS5jb250YWluc0FkZHJlc3MoJmV4ZWMtPnJlZ2lzdGVycygpWy1leGVjLT5jb2RlQmxvY2so
KS0+bV9udW1DYWxsZWVSZWdpc3RlcnNdKSk7CiAgICAgaWYgKFVOTElLRUxZKCF2bS5pbnRlcnBy
ZXRlci0+c3RhY2soKS5ncm93KCZleGVjLT5yZWdpc3RlcnMoKVstZXhlYy0+Y29kZUJsb2NrKCkt
Pm1fbnVtQ2FsbGVlUmVnaXN0ZXJzXSkpKSB7Ci0gICAgICAgIFJldHVybkFkZHJlc3NQdHIgcmV0
dXJuUEMgPSBleGVjLT5yZXR1cm5QQygpOwogICAgICAgICBleGVjID0gZXhlYy0+Y2FsbGVyRnJh
bWUoKTsKLSAgICAgICAgQ29tbW9uU2xvd1BhdGhzOjppbnRlcnByZXRlclRocm93SW5DYWxsZXIo
ZXhlYywgcmV0dXJuUEMsIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihleGVjKSk7CisgICAgICAg
IENvbW1vblNsb3dQYXRoczo6aW50ZXJwcmV0ZXJUaHJvd0luQ2FsbGVyKGV4ZWMsIGNyZWF0ZVN0
YWNrT3ZlcmZsb3dFcnJvcihleGVjKSk7CiAgICAgICAgIHBjID0gcmV0dXJuVG9UaHJvd0ZvclRo
cm93bkV4Y2VwdGlvbihleGVjKTsKICAgICB9CiAgICAgTExJTlRfRU5EX0lNUEwoKTsKQEAgLTEw
ODksNyArMTA4NSw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jYWxsX3ZhcmEK
ICAgICBFeGVjU3RhdGUqIGV4ZWNDYWxsZWUgPSBsb2FkVmFyYXJncygKICAgICAgICAgZXhlYywg
JnZtLmludGVycHJldGVyLT5zdGFjaygpLAogICAgICAgICBMTElOVF9PUF9DKDMpLmpzVmFsdWUo
KSwgTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCksIHBjWzVdLnUub3BlcmFuZCk7Ci0gICAgTExJTlRf
Q0FMTF9DSEVDS19FWENFUFRJT04oZXhlYywgcGMpOworICAgIExMSU5UX0NBTExfQ0hFQ0tfRVhD
RVBUSU9OKGV4ZWMpOwogICAgIAogICAgIGV4ZWNDYWxsZWUtPnVuY2hlY2tlZFIoSlNTdGFjazo6
Q2FsbGVlKSA9IGNhbGxlZUFzVmFsdWU7CiAgICAgZXhlY0NhbGxlZS0+c2V0Q2FsbGVyRnJhbWUo
ZXhlYyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
blNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDE1NjIzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShMTElOVCkKLSNkZWZp
bmUgUkVUVVJOX1RPX1RIUk9XKGV4ZWMsIHBjKSAgIHBjID0gTExJbnQ6OnJldHVyblRvVGhyb3co
ZXhlYywgcGMpCisjZGVmaW5lIFJFVFVSTl9UT19USFJPVyhleGVjLCBwYykgICBwYyA9IExMSW50
OjpyZXR1cm5Ub1Rocm93KGV4ZWMpCiAjZWxzZQogI2RlZmluZSBSRVRVUk5fVE9fVEhST1coZXhl
YywgcGMpCiAjZW5kaWYKQEAgLTEyNSwxMiArMTI1LDEyIEBAIG5hbWVzcGFjZSBKU0MgewogICAg
IH0gd2hpbGUgKGZhbHNlKQogCiAjaWYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQotI2RlZmluZSBS
RVRVUk5fUFJPRklMRUQob3Bjb2RlLCB2YWx1ZSkgZG8geyAgICAgICAgICAgICAgIFwKKyNkZWZp
bmUgUkVUVVJOX1BST0ZJTEVEKG9wY29kZSwgdmFsdWUpIGRvIHsgICAgICAgICAgICAgICAgICBc
CiAgICAgICAgIEpTVmFsdWUgcnBQZXR1cm5WYWx1ZSA9ICh2YWx1ZSk7ICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICBDSEVDS19FWENFUFRJT04oKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKLSAgICAgICAgT1AoMSkgPSBycFBldHVyblZhbHVlOyAgICAgICAgICAgICAg
ICAgICAgICAgICBcCi0gICAgICAgIFBST0ZJTEVfVkFMVUUob3Bjb2RlLCBycFBldHVyblZhbHVl
KTsgICAgICAgICAgXAotICAgICAgICBFTkRfSU1QTCgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgQ0hFQ0tfRVhDRVBUSU9OKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIE9QKDEpID0gcnBQZXR1cm5WYWx1ZTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBQUk9GSUxFX1ZBTFVFKG9w
Y29kZSwgcnBQZXR1cm5WYWx1ZSk7ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgRU5EX0lNUEwo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGls
ZSAoZmFsc2UpCiAKICNkZWZpbmUgUFJPRklMRV9WQUxVRShvcGNvZGUsIHZhbHVlKSBkbyB7IFwK
QEAgLTE0NywxOCArMTQ3LDE4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAjZGVmaW5lIENBTExfRU5E
X0lNUEwoZXhlYywgY2FsbFRhcmdldCkgUkVUVVJOX1RXTygoY2FsbFRhcmdldCksIChleGVjKSkK
IAotI2RlZmluZSBDQUxMX1RIUk9XKGV4ZWMsIHBjLCBleGNlcHRpb25Ub1Rocm93KSBkbyB7ICAg
ICAgICAgICAgICAgXAotICAgICAgICBFeGVjU3RhdGUqIGN0RXhlYyA9IChleGVjKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBJbnN0cnVjdGlvbiogY3RQQyA9
IChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorI2RlZmluZSBDQUxM
X1RIUk9XKGV4ZWMsIHBjLCBleGNlcHRpb25Ub1Rocm93KSBkbyB7ICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICBFeGVjU3RhdGUqIGN0RXhlYyA9IChleGVjKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBJbnN0cnVjdGlvbiogY3RQQyA9IChwYyk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICB2bS50aHJv
d0V4Y2VwdGlvbihleGVjLCBleGNlcHRpb25Ub1Rocm93KTsgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICBDQUxMX0VORF9JTVBMKGN0RXhlYywgTExJbnQ6OmNhbGxUb1Rocm93KGN0RXhl
YywgY3RQQykpOyBcCisgICAgICAgIENBTExfRU5EX0lNUEwoY3RFeGVjLCBMTEludDo6Y2FsbFRv
VGhyb3coY3RFeGVjKSk7ICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKLSNk
ZWZpbmUgQ0FMTF9DSEVDS19FWENFUFRJT04oZXhlYywgcGMpIGRvIHsgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyNkZWZpbmUgQ0FMTF9DSEVDS19FWENFUFRJT04oZXhlYywgcGMpIGRvIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgRXhlY1N0YXRlKiBjY2VFeGVjID0gKGV4
ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgSW5zdHJ1Y3Rp
b24qIGNjZVBDID0gKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgaWYgKFVOTElLRUxZKHZtLmV4Y2VwdGlvbigpKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICBDQUxMX0VORF9JTVBMKGNjZUV4ZWMsIExMSW50OjpjYWxs
VG9UaHJvdyhjY2VFeGVjLCBjY2VQQykpOyBcCisgICAgICAgIGlmIChVTkxJS0VMWSh2bS5leGNl
cHRpb24oKSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBD
QUxMX0VORF9JTVBMKGNjZUV4ZWMsIExMSW50OjpjYWxsVG9UaHJvdyhjY2VFeGVjKSk7ICAgICBc
CiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKICNkZWZpbmUgQ0FMTF9SRVRVUk4oZXhlYywgcGMsIGNh
bGxUYXJnZXQpIGRvIHsgICAgICAgICAgICAgICAgICAgIFwKQEAgLTE3NCw5ICsxNzQsOCBAQCBT
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfY2FsbF9hcml0eUNoZWNrCiAgICAgQkVHSU4oKTsKICAg
ICBpbnQgU2xvdHNUb0FkZCA9IENvbW1vblNsb3dQYXRoczo6YXJpdHlDaGVja0ZvcihleGVjLCAm
dm0uaW50ZXJwcmV0ZXItPnN0YWNrKCksIENvZGVGb3JDYWxsKTsKICAgICBpZiAoU2xvdHNUb0Fk
ZCA8IDApIHsKLSAgICAgICAgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5QQyA9IGV4ZWMtPnJldHVy
blBDKCk7CiAgICAgICAgIGV4ZWMgPSBleGVjLT5jYWxsZXJGcmFtZSgpOwotICAgICAgICBDb21t
b25TbG93UGF0aHM6OmludGVycHJldGVyVGhyb3dJbkNhbGxlcihleGVjLCByZXR1cm5QQywgY3Jl
YXRlU3RhY2tPdmVyZmxvd0Vycm9yKGV4ZWMpKTsKKyAgICAgICAgQ29tbW9uU2xvd1BhdGhzOjpp
bnRlcnByZXRlclRocm93SW5DYWxsZXIoZXhlYywgY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGV4
ZWMpKTsKICAgICAgICAgUkVUVVJOX1RXTyhiaXR3aXNlX2Nhc3Q8dm9pZCo+KHN0YXRpY19jYXN0
PHVpbnRwdHJfdD4oMSkpLCBleGVjKTsKICAgICB9CiAgICAgUkVUVVJOX1RXTygwLCByZWludGVy
cHJldF9jYXN0PEV4ZWNTdGF0ZSo+KFNsb3RzVG9BZGQpKTsKQEAgLTE4Nyw5ICsxODYsOCBAQCBT
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfY29uc3RydWN0X2FyaXR5CiAgICAgQkVHSU4oKTsKICAg
ICBpbnQgU2xvdHNUb0FkZCA9IENvbW1vblNsb3dQYXRoczo6YXJpdHlDaGVja0ZvcihleGVjLCAm
dm0uaW50ZXJwcmV0ZXItPnN0YWNrKCksIENvZGVGb3JDb25zdHJ1Y3QpOwogICAgIGlmIChTbG90
c1RvQWRkIDwgMCkgewotICAgICAgICBSZXR1cm5BZGRyZXNzUHRyIHJldHVyblBDID0gZXhlYy0+
cmV0dXJuUEMoKTsKICAgICAgICAgZXhlYyA9IGV4ZWMtPmNhbGxlckZyYW1lKCk7Ci0gICAgICAg
IENvbW1vblNsb3dQYXRoczo6aW50ZXJwcmV0ZXJUaHJvd0luQ2FsbGVyKGV4ZWMsIHJldHVyblBD
LCBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IoZXhlYykpOworICAgICAgICBDb21tb25TbG93UGF0
aHM6OmludGVycHJldGVyVGhyb3dJbkNhbGxlcihleGVjLCBjcmVhdGVTdGFja092ZXJmbG93RXJy
b3IoZXhlYykpOwogICAgICAgICBSRVRVUk5fVFdPKGJpdHdpc2VfY2FzdDx2b2lkKj4oc3RhdGlj
X2Nhc3Q8dWludHB0cl90PigxKSksIGV4ZWMpOwogICAgIH0KICAgICBSRVRVUk5fVFdPKDAsIHJl
aW50ZXJwcmV0X2Nhc3Q8RXhlY1N0YXRlKj4oU2xvdHNUb0FkZCkpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzRXhjZXB0aW9ucy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzRXhj
ZXB0aW9ucy5jcHAJKHJldmlzaW9uIDE1NjIzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vblNsb3dQYXRoc0V4Y2VwdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Myw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQ29tbW9uU2xvd1BhdGhz
IHsKIAotdm9pZCBpbnRlcnByZXRlclRocm93SW5DYWxsZXIoRXhlY1N0YXRlKiBleGVjLCBSZXR1
cm5BZGRyZXNzUHRyIHBjLCBKU09iamVjdCogZXJyb3IpCit2b2lkIGludGVycHJldGVyVGhyb3dJ
bkNhbGxlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBlcnJvcikKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKQEAgLTQxLDkgKzQxLDcgQEAgdm9pZCBpbnRlcnByZXRlclRocm93SW5DYWxsZXIoRXhlY1N0
YXRlKgogI2lmIExMSU5UX1NMT1dfUEFUSF9UUkFDSU5HCiAgICAgZGF0YUxvZygiVGhyb3dpbmcg
ZXhjZXB0aW9uICIsIHZtLT5leGNlcHRpb24oKSwgIi5cbiIpOwogI2VuZGlmCi0gICAgZ2VuZXJp
Y1Vud2luZCgKLSAgICAgICAgdm0sIGV4ZWMsIHZtLT5leGNlcHRpb24oKSwKLSAgICAgICAgZXhl
Yy0+Y29kZUJsb2NrKCktPmJ5dGVjb2RlT2Zmc2V0KGV4ZWMsIHBjKSk7CisgICAgZ2VuZXJpY1Vu
d2luZCh2bSwgZXhlYywgdm0tPmV4Y2VwdGlvbigpKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBK
U0M6OkxMSW50CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93
UGF0aHNFeGNlcHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uU2xvd1BhdGhzRXhjZXB0aW9ucy5oCShyZXZpc2lvbiAxNTYyMzgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHNFeGNlcHRpb25zLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgRXhlY1N0YXRlOwogbmFtZXNw
YWNlIENvbW1vblNsb3dQYXRocyB7CiAKIC8vIFRocm93IHRoZSBjdXJyZW50bHkgYWN0aXZlIGV4
Y2VwdGlvbiBpbiB0aGUgY29udGV4dCBvZiB0aGUgY2FsbGVyJ3MgY2FsbCBmcmFtZS4KLXZvaWQg
aW50ZXJwcmV0ZXJUaHJvd0luQ2FsbGVyKEV4ZWNTdGF0ZSogY2FsbGVyRnJhbWUsIFJldHVybkFk
ZHJlc3NQdHIsIEpTT2JqZWN0Kik7Cit2b2lkIGludGVycHJldGVyVGhyb3dJbkNhbGxlcihFeGVj
U3RhdGUqIGNhbGxlckZyYW1lLCBKU09iamVjdCopOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
Q29tbW9uU2xvd1BhdGhzCiAK
</data>
<flag name="review"
          id="234473"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>