<?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>125107</bug_id>
          
          <creation_ts>2013-12-02 14:54:52 -0800</creation_ts>
          <short_desc>Baseline JIT calls to CommonSlowPaths shouldn&apos;t restore the last result</short_desc>
          <delta_ts>2013-12-02 15:15:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <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>955607</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-02 14:54:52 -0800</bug_when>
    <thetext>No need to do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955608</commentid>
    <comment_count>1</comment_count>
      <attachid>218219</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-02 14:55:55 -0800</bug_when>
    <thetext>Created attachment 218219
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955613</commentid>
    <comment_count>2</comment_count>
      <attachid>218219</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-02 14:58:09 -0800</bug_when>
    <thetext>Comment on attachment 218219
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955614</commentid>
    <comment_count>3</comment_count>
      <attachid>218219</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-12-02 14:58:19 -0800</bug_when>
    <thetext>Comment on attachment 218219
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=218219&amp;action=review

&gt; Source/JavaScriptCore/ChangeLog:7
&gt; +        Baseline JIT calls to CommonSlowPaths shouldn&apos;t restore the last result
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=125107
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

Would you mind adding a comment here to provide some context about why this change is needed, and where it was causing a problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955615</commentid>
    <comment_count>4</comment_count>
      <attachid>218219</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-12-02 15:00:12 -0800</bug_when>
    <thetext>Comment on attachment 218219
the patch

Restoring the r+ by Mark H.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955616</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-02 15:00:40 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 218219 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218219&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:7
&gt; &gt; +        Baseline JIT calls to CommonSlowPaths shouldn&apos;t restore the last result
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=125107
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; 
&gt; Would you mind adding a comment here to provide some context about why this change is needed, and where it was causing a problem?

It isn&apos;t causing a problem and it isn&apos;t needed.

If there is a piece of code that can be removed because that piece of code does absolutely nothing, then we remove it.  That&apos;s what this patch does.  It removes dead code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955624</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-02 15:15:26 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/159973</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218219</attachid>
            <date>2013-12-02 14:55:55 -0800</date>
            <delta_ts>2013-12-02 15:00:11 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>18104</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU5OTcwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBA
CisyMDEzLTEyLTAyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QmFzZWxpbmUgSklUIGNhbGxzIHRvIENvbW1vblNsb3dQYXRocyBzaG91bGRuJ3QgcmVzdG9yZSB0
aGUgbGFzdCByZXN1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNTEwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaml0L0pJVEFyaXRobWV0aWMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRT
bG93X29wX25lZ2F0ZSk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfbHNoaWZ0KToK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9yc2hpZnQpOgorICAgICAgICAoSlNDOjpK
SVQ6OmVtaXRTbG93X29wX3Vyc2hpZnQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29w
X2JpdGFuZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfaW5jKToKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0U2xvd19vcF9kZWMpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93
X29wX21vZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9tb2QpOgorICAgICAgICAoSlND
OjpKSVQ6OmNvbXBpbGVCaW5hcnlBcml0aE9wU2xvd0Nhc2UpOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXRTbG93X29wX2Rpdik6CisgICAgICAgICogaml0L0pJVEFyaXRobWV0aWMzMl82NC5jcHA6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfbmVnYXRlKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0U2xvd19vcF9sc2hpZnQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRSaWdodFNo
aWZ0U2xvd0Nhc2UpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX2JpdGFuZCk6Cisg
ICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfYml0b3IpOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXRTbG93X29wX2JpdHhvcik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfaW5j
KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9kZWMpOgorICAgICAgICAoSlNDOjpK
SVQ6OmVtaXRTbG93X29wX2FkZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3Bfc3Vi
KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9tdWwpOgorICAgICAgICAoSlNDOjpK
SVQ6OmVtaXRTbG93X29wX2Rpdik6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAg
ICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bfc3RyY2F0KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
U2xvd19vcF9nZXRfY2FsbGVlKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9jcmVh
dGVfdGhpcyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfdG9fdGhpcyk6CisgICAg
ICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfdG9fcHJpbWl0aXZlKToKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0U2xvd19vcF9ub3QpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX2Jp
dHhvcik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfYml0b3IpOgorICAgICAgICAo
SlNDOjpKSVQ6OmVtaXRTbG93X29wX3N0cmljdGVxKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
U2xvd19vcF9uc3RyaWN0ZXEpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3RvX251
bWJlcik6CisgICAgICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdFNsb3dfb3BfdG9fcHJpbWl0aXZlKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
U2xvd19vcF9ub3QpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3N0cmljdGVxKToK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9uc3RyaWN0ZXEpOgorICAgICAgICAoSlND
OjpKSVQ6OmVtaXRTbG93X29wX3RvX251bWJlcik6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNs
b3dfb3BfZ2V0X2NhbGxlZSk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfY3JlYXRl
X3RoaXMpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3RvX3RoaXMpOgorCiAyMDEz
LTEyLTAxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcmVz
IHRvIGxvY2FsIGNhcHR1cmVkIHZhcmlhYmxlcyBzaG91bGQgYmUgaW50ZXJjZXB0ZWQKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYzMyXzY0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMzMl82NC5jcHAJ
KHJldmlzaW9uIDE1OTk2OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGht
ZXRpYzMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIsNyArODIsNiBAQCB2b2lkIEpJVDo6
ZW1pdFNsb3dfb3BfbmVnYXRlKEluc3RydWN0aW9uCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xv
d1BhdGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX25lZ2F0ZSk7CiAg
ICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBlbWl0TG9hZChkc3QsIHJlZ1QxLCByZWdUMCk7
CiB9CiAKIHZvaWQgSklUOjplbWl0X2NvbXBhcmVBbmRKdW1wKE9wY29kZUlEIG9wY29kZSwgaW50
IG9wMSwgaW50IG9wMiwgdW5zaWduZWQgdGFyZ2V0LCBSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmRp
dGlvbikKQEAgLTE5OSw3ICsxOTgsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbHNoaWZ0KElu
c3RydWN0aW9uCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMsIGN1cnJl
bnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2xzaGlmdCk7CiAgICAgc2xvd1BhdGhDYWxsLmNhbGwo
KTsKLSAgICBlbWl0TG9hZChkc3QsIHJlZ1QxLCByZWdUMCk7CiB9CiAKIC8vIFJpZ2h0U2hpZnQg
KD4+KSBhbmQgVW5zaWduZWRSaWdodFNoaWZ0ICg+Pj4pIGhlbHBlcgpAQCAtMjk2LDcgKzI5NCw2
IEBAIHZvaWQgSklUOjplbWl0UmlnaHRTaGlmdFNsb3dDYXNlKEluc3RydWMKIAogICAgIEpJVFNs
b3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBpc1Vuc2ln
bmVkID8gc2xvd19wYXRoX3Vyc2hpZnQgOiBzbG93X3BhdGhfcnNoaWZ0KTsKICAgICBzbG93UGF0
aENhbGwuY2FsbCgpOwotICAgIGVtaXRMb2FkKGRzdCwgcmVnVDEsIHJlZ1QwKTsKIH0KIAogLy8g
UmlnaHRTaGlmdCAoPj4pCkBAIC0zNjAsNyArMzU3LDYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29w
X2JpdGFuZChJbnN0cnVjdGlvbgogCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0
aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9iaXRhbmQpOwogICAgIHNsb3dQYXRo
Q2FsbC5jYWxsKCk7Ci0gICAgZW1pdExvYWQoZHN0LCByZWdUMSwgcmVnVDApOwogfQogCiAvLyBC
aXRPciAofCkKQEAgLTQwMCw3ICszOTYsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfYml0b3Io
SW5zdHJ1Y3Rpb24qCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMsIGN1
cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2JpdG9yKTsKICAgICBzbG93UGF0aENhbGwuY2Fs
bCgpOwotICAgIGVtaXRMb2FkKGRzdCwgcmVnVDEsIHJlZ1QwKTsKIH0KIAogLy8gQml0WG9yIChe
KQpAQCAtNDQwLDcgKzQzNSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9iaXR4b3IoSW5zdHJ1
Y3Rpb24KIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudElu
c3RydWN0aW9uLCBzbG93X3BhdGhfYml0eG9yKTsKICAgICBzbG93UGF0aENhbGwuY2FsbCgpOwot
ICAgIGVtaXRMb2FkKGRzdCwgcmVnVDEsIHJlZ1QwKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRfb3Bf
aW5jKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkBAIC00NjMsNyArNDU3LDYgQEAg
dm9pZCBKSVQ6OmVtaXRTbG93X29wX2luYyhJbnN0cnVjdGlvbiogYwogCiAgICAgSklUU2xvd1Bh
dGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9p
bmMpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAgZW1pdExvYWQoc3JjRHN0LCByZWdU
MSwgcmVnVDApOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9kZWMoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKQEAgLTQ4Niw3ICs0NzksNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3Bf
ZGVjKEluc3RydWN0aW9uKiBjCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRo
aXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2RlYyk7CiAgICAgc2xvd1BhdGhDYWxs
LmNhbGwoKTsKLSAgICBlbWl0TG9hZChzcmNEc3QsIHJlZ1QxLCByZWdUMCk7CiB9CiAKIC8vIEFk
ZGl0aW9uICgrKQpAQCAtNjA1LDcgKzU5Nyw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9hZGQo
SW5zdHJ1Y3Rpb24qIGMKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywg
Y3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfYWRkKTsKICAgICBzbG93UGF0aENhbGwuY2Fs
bCgpOwotICAgIGVtaXRMb2FkKGRzdCwgcmVnVDEsIHJlZ1QwKTsKIH0KIAogLy8gU3VidHJhY3Rp
b24gKC0pCkBAIC03MDIsNyArNjkzLDYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3N1YihJbnN0
cnVjdGlvbiogYwogCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJy
ZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9zdWIpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7
Ci0gICAgZW1pdExvYWQoZHN0LCByZWdUMSwgcmVnVDApOwogfQogCiB2b2lkIEpJVDo6ZW1pdEJp
bmFyeURvdWJsZU9wKE9wY29kZUlEIG9wY29kZUlELCBpbnQgZHN0LCBpbnQgb3AxLCBpbnQgb3Ay
LCBPcGVyYW5kVHlwZXMgdHlwZXMsIEp1bXBMaXN0JiBub3RJbnQzMk9wMSwgSnVtcExpc3QmIG5v
dEludDMyT3AyLCBib29sIG9wMUlzSW5SZWdpc3RlcnMsIGJvb2wgb3AySXNJblJlZ2lzdGVycykK
QEAgLTEwMDgsNyArOTk4LDYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX211bChJbnN0cnVjdGlv
biogYwogCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5z
dHJ1Y3Rpb24sIHNsb3dfcGF0aF9tdWwpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAg
ZW1pdExvYWQoZHN0LCByZWdUMSwgcmVnVDApOwogfQogCiAvLyBEaXZpc2lvbiAoLykKQEAgLTEw
OTYsNyArMTA4NSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9kaXYoSW5zdHJ1Y3Rpb24qIGMK
IAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0
aW9uLCBzbG93X3BhdGhfZGl2KTsKICAgICBzbG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRM
b2FkKGRzdCwgcmVnVDEsIHJlZ1QwKTsKIH0KIAogLy8gTW9kICglKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCShyZXZpc2lvbiAxNTk5NjgpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMjAsMTQgKzIyMCwxMSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZWdhdGUoSW5zdHJ1
Y3Rpb24qIGN1CiAKIHZvaWQgSklUOjplbWl0U2xvd19vcF9uZWdhdGUoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikK
IHsKLSAgICBpbnQgcmVzdWx0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKLQog
ICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gMHg3ZmZmZmZmZiBjaGVjawogICAgIGxpbmtTbG93
Q2FzZShpdGVyKTsgLy8gZG91YmxlIGNoZWNrCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1Bh
dGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX25lZ2F0ZSk7CiAgICAg
c2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHJlc3VsdCwg
cmVnVDApOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9sc2hpZnQoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKQEAgLTI0OSwxMyArMjQ2LDEwIEBAIHZvaWQgSklUOjplbWl0X29wX2xz
aGlmdChJbnN0cnVjdGlvbiogY3UKIAogdm9pZCBKSVQ6OmVtaXRTbG93X29wX2xzaGlmdChJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJh
dG9yJiBpdGVyKQogewotICAgIGludCByZXN1bHQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5v
cGVyYW5kOwotCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOwogICAgIGxpbmtTbG93Q2FzZShpdGVy
KTsKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVj
dGlvbiwgc2xvd19wYXRoX2xzaGlmdCk7CiAgICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBl
bWl0R2V0VmlydHVhbFJlZ2lzdGVyKHJlc3VsdCwgcmVnVDApOwogfQogCiB2b2lkIEpJVDo6ZW1p
dF9vcF9yc2hpZnQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKQEAgLTI5NSwxMiAr
Mjg5LDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcnNoaWZ0KEluc3RydWN0aW9uKiBjdQogCiB2b2lk
IEpJVDo6ZW1pdFNsb3dfb3BfcnNoaWZ0KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24s
IFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCiB7Ci0gICAgaW50IHJlc3Vs
dCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Ci0gICAgaW50IG9wMSA9IGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CiAgICAgaW50IG9wMiA9IGN1cnJlbnRJbnN0cnVj
dGlvblszXS51Lm9wZXJhbmQ7CiAKLSAgICBVTlVTRURfUEFSQU0ob3AxKTsKLQogICAgIGlmIChp
c09wZXJhbmRDb25zdGFudEltbWVkaWF0ZUludChvcDIpKQogICAgICAgICBsaW5rU2xvd0Nhc2Uo
aXRlcik7CiAKQEAgLTMxNyw3ICszMDcsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfcnNoaWZ0
KEluc3RydWN0aW9uCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMsIGN1
cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX3JzaGlmdCk7CiAgICAgc2xvd1BhdGhDYWxsLmNh
bGwoKTsKLSAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHJlc3VsdCwgcmVnVDApOwogfQogCiB2
b2lkIEpJVDo6ZW1pdF9vcF91cnNoaWZ0KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CkBAIC00MTAsNyArMzk5LDYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3Vyc2hpZnQoSW5zdHJ1
Y3RpbwogICAgIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVu
dEluc3RydWN0aW9uLCBzbG93X3BhdGhfdXJzaGlmdCk7CiAgICAgc2xvd1BhdGhDYWxsLmNhbGwo
KTsKLSAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGRzdCwgcmVnVDApOwogfQogCiB2b2lkIEpJ
VDo6ZW1pdF9jb21wYXJlQW5kSnVtcChPcGNvZGVJRCwgaW50IG9wMSwgaW50IG9wMiwgdW5zaWdu
ZWQgdGFyZ2V0LCBSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmRpdGlvbikKQEAgLTU4NywxMyArNTc1
LDEwIEBAIHZvaWQgSklUOjplbWl0X29wX2JpdGFuZChJbnN0cnVjdGlvbiogY3UKIAogdm9pZCBK
SVQ6OmVtaXRTbG93X29wX2JpdGFuZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBW
ZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyKQogewotICAgIGludCByZXN1bHQg
PSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwotCiAgICAgbGlua1Nsb3dDYXNlKGl0
ZXIpOwogCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5z
dHJ1Y3Rpb24sIHNsb3dfcGF0aF9iaXRhbmQpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0g
ICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihyZXN1bHQsIHJlZ1QwKTsKIH0KIAogdm9pZCBKSVQ6
OmVtaXRfb3BfaW5jKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkBAIC02MDksMTMg
KzU5NCwxMCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbmMoSW5zdHJ1Y3Rpb24qIGN1cnJlCiAKIHZv
aWQgSklUOjplbWl0U2xvd19vcF9pbmMoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwg
VmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKIHsKLSAgICBpbnQgc3JjRHN0
ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKLQogICAgIGxpbmtTbG93Q2FzZShp
dGVyKTsKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQ
YXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9pbmMpOwogICAgIHNs
b3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihzcmNEc3QsIHJl
Z1QwKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRfb3BfZGVjKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCkBAIC02MzEsMTMgKzYxMywxMCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9kZWMoSW5z
dHJ1Y3Rpb24qIGN1cnJlCiAKIHZvaWQgSklUOjplbWl0U2xvd19vcF9kZWMoSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRl
cikKIHsKLSAgICBpbnQgc3JjRHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsK
LQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAgICAg
SklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNs
b3dfcGF0aF9kZWMpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAgZW1pdEdldFZpcnR1
YWxSZWdpc3RlcihzcmNEc3QsIHJlZ1QwKTsKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIEJFR0lOOiBPUF9NT0QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICov
CkBAIC02NzUsOCArNjU0LDYgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbW9kKEluc3RydWN0aW9uKiBj
dXJyZQogCiB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbW9kKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCiB7Ci0gICAg
aW50IHJlc3VsdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Ci0KICAgICBsaW5r
U2xvd0Nhc2UoaXRlcik7CiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOwogICAgIGxpbmtTbG93Q2Fz
ZShpdGVyKTsKQEAgLTY4NCw3ICs2NjEsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbW9kKElu
c3RydWN0aW9uKiBjCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOwogICAgIEpJVFNsb3dQYXRoQ2Fs
bCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfbW9kKTsK
ICAgICBzbG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIocmVz
dWx0LCByZWdUMCk7CiB9CiAKICNlbHNlIC8vIENQVShYODYpIHx8IENQVShYODZfNjQpCkBAIC03
MDAsNyArNjc2LDYgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbW9kKEluc3RydWN0aW9uKiBjdXJyZQog
CiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rp
b24sIHNsb3dfcGF0aF9tb2QpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAgZW1pdEdl
dFZpcnR1YWxSZWdpc3RlcihyZXN1bHQsIHJlZ1QwKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRTbG93
X29wX21vZChJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKQpA
QCAtNzg0LDcgKzc1OSw2IEBAIHZvaWQgSklUOjpjb21waWxlQmluYXJ5QXJpdGhPcFNsb3dDYXNl
KEkKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3Ry
dWN0aW9uLCBvcGNvZGVJRCA9PSBvcF9hZGQgPyBzbG93X3BhdGhfYWRkIDogb3Bjb2RlSUQgPT0g
b3Bfc3ViID8gc2xvd19wYXRoX3N1YiA6IHNsb3dfcGF0aF9tdWwpOwogICAgIHNsb3dQYXRoQ2Fs
bC5jYWxsKCk7Ci0gICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihyZXN1bHQsIHJlZ1QwKTsKICAg
ICBKdW1wIGVuZCA9IGp1bXAoKTsKIAogICAgIGlmIChvcDFIYXNJbW1lZGlhdGVJbnRGYXN0Q2Fz
ZSkgewpAQCAtMTAyMCw3ICs5OTQsNiBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9kaXYoSW5zdHJ1Y3Rp
b24qIGN1cnJlCiAKIHZvaWQgSklUOjplbWl0U2xvd19vcF9kaXYoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKIHsK
LSAgICBpbnQgcmVzdWx0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKICAgICBp
bnQgb3AxID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICBpbnQgb3AyID0g
Y3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZDsKICAgICBPcGVyYW5kVHlwZXMgdHlwZXMg
PSBPcGVyYW5kVHlwZXM6OmZyb21JbnQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCk7
CkBAIC0xMDQxLDcgKzEwMTQsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfZGl2KEluc3RydWN0
aW9uKiBjCiAgICAgLy8gVGhlcmUgaXMgYW4gZXh0cmEgc2xvdyBjYXNlIGZvciAob3AxICogLU4p
IG9yICgtTiAqIG9wMiksIHRvIGNoZWNrIGZvciAwIHNpbmNlIHRoaXMgc2hvdWxkIHByb2R1Y2Ug
YSByZXN1bHQgb2YgLTAuCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBj
dXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9kaXYpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxs
KCk7Ci0gICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihyZXN1bHQsIHJlZ1QwKTsKIH0KIAogdm9p
ZCBKSVQ6OmVtaXRfb3Bfc3ViKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCShyZXZp
c2lvbiAxNTk5NjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82
NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNyw3ICs0MTcsNiBAQCB2b2lkIEpJVDo6ZW1pdFNs
b3dfb3BfdG9fcHJpbWl0aXZlKEluc3RyCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhD
YWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX3RvX3ByaW1pdGl2ZSk7CiAg
ICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBlbWl0TG9hZChkc3QsIHJlZ1QxLCByZWdUMCwg
Y2FsbEZyYW1lUmVnaXN0ZXIpOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9zdHJjYXQoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKQEAgLTQ0OCw3ICs0NDcsNiBAQCB2b2lkIEpJVDo6
ZW1pdFNsb3dfb3Bfbm90KEluc3RydWN0aW9uKiBjCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xv
d1BhdGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX25vdCk7CiAgICAg
c2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBlbWl0TG9hZChkc3QsIHJlZ1QxLCByZWdUMCwgY2Fs
bEZyYW1lUmVnaXN0ZXIpOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9qZmFsc2UoSW5zdHJ1Y3Rp
b24qIGN1cnJlbnRJbnN0cnVjdGlvbikKQEAgLTcxNCw3ICs3MTIsNiBAQCB2b2lkIEpJVDo6ZW1p
dFNsb3dfb3Bfc3RyaWN0ZXEoSW5zdHJ1Y3RpCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1Bh
dGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX3N0cmljdGVxKTsKICAg
ICBzbG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRMb2FkKGRzdCwgcmVnVDEsIHJlZ1QwLCBj
YWxsRnJhbWVSZWdpc3Rlcik7CiB9CiAKIHZvaWQgSklUOjplbWl0X29wX25zdHJpY3RlcShJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQpAQCAtNzMyLDcgKzcyOSw2IEBAIHZvaWQgSklU
OjplbWl0U2xvd19vcF9uc3RyaWN0ZXEoSW5zdHJ1Y3QKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBz
bG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfbnN0cmljdGVx
KTsKICAgICBzbG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRMb2FkKGRzdCwgcmVnVDEsIHJl
Z1QwLCBjYWxsRnJhbWVSZWdpc3Rlcik7CiB9CiAKIHZvaWQgSklUOjplbWl0X29wX2VxX251bGwo
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKQEAgLTk0MCw3ICs5MzYsNiBAQCB2b2lk
IEpJVDo6ZW1pdFNsb3dfb3BfdG9fbnVtYmVyKEluc3RydWN0CiAKICAgICBKSVRTbG93UGF0aENh
bGwgc2xvd1BhdGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX3RvX251
bWJlcik7CiAgICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBlbWl0TG9hZChkc3QsIHJlZ1Qx
LCByZWdUMCwgY2FsbEZyYW1lUmVnaXN0ZXIpOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9wdXNo
X25hbWVfc2NvcGUoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKQEAgLTEwOTYsNyAr
MTA5MSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9nZXRfY2FsbGVlKEluc3RydWMKIAogICAg
IEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBz
bG93X3BhdGhfZ2V0X2NhbGxlZSk7CiAgICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBlbWl0
TG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCByZWdUMSwgcmVnVDApOwogfQog
CiB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQpAQCAtMTEyNSw3ICsxMTE5LDYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2NyZWF0
ZV90aGlzKEluc3RydQogCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBj
dXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9jcmVhdGVfdGhpcyk7CiAgICAgc2xvd1BhdGhD
YWxsLmNhbGwoKTsKLSAgICBlbWl0TG9hZChkc3QsIHJlZ1QxLCByZWdUMCk7CiB9CiAKIHZvaWQg
SklUOjplbWl0X29wX3RvX3RoaXMoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKQEAg
LTExNTAsNyArMTE0Myw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF90b190aGlzKEluc3RydWN0
aW8KICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRo
Q2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF90b190aGlzKTsKICAgICBz
bG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRMb2FkKGRzdCwgcmVnVDEsIHJlZ1QwKTsKIH0K
IAogdm9pZCBKSVQ6OmVtaXRfb3BfcHJvZmlsZV93aWxsX2NhbGwoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAkocmV2aXNpb24gMTU5OTY4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzLDcgKzMyMyw2IEBAIHZvaWQgSklUOjpl
bWl0X29wX3N0cmNhdChJbnN0cnVjdGlvbiogY3UKIHsKICAgICBKSVRTbG93UGF0aENhbGwgc2xv
d1BhdGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX3N0cmNhdCk7CiAg
ICAgc2xvd1BhdGhDYWxsLmNhbGwoKTsKLSAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQsIHJlZ1QwKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRf
b3Bfbm90KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkBAIC04NTUsNyArODU0LDYg
QEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2dldF9jYWxsZWUoSW5zdHJ1YwogCiAgICAgSklUU2xv
d1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0
aF9nZXRfY2FsbGVlKTsKICAgICBzbG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRHZXRWaXJ0
dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCwgcmVnVDApOwogfQog
CiB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQpAQCAtODgzLDcgKzg4MSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9jcmVhdGVf
dGhpcyhJbnN0cnUKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3Vy
cmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfY3JlYXRlX3RoaXMpOwogICAgIHNsb3dQYXRoQ2Fs
bC5jYWxsKCk7Ci0gICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kLCByZWdUMCk7CiB9CiAKIHZvaWQgSklUOjplbWl0X29wX3Byb2ZpbGVfd2ls
bF9jYWxsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCkBAIC05MDksNyArOTA2LDYg
QEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3RvX3RoaXMoSW5zdHJ1Y3RpbwogCiAgICAgSklUU2xv
d1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0
aF90b190aGlzKTsKICAgICBzbG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRHZXRWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCwgcmVnVDApOwogfQogCiB2
b2lkIEpJVDo6ZW1pdFNsb3dfb3BfdG9fcHJpbWl0aXZlKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCkBAIC05MTgs
NyArOTE0LDYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX3RvX3ByaW1pdGl2ZShJbnN0cgogCiAg
ICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24s
IHNsb3dfcGF0aF90b19wcmltaXRpdmUpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAg
ZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCBy
ZWdUMCk7CiB9CiAKIHZvaWQgSklUOjplbWl0U2xvd19vcF9ub3QoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKQEAg
LTkyNyw3ICs5MjIsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3Bfbm90KEluc3RydWN0aW9uKiBj
CiAgICAgCiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5z
dHJ1Y3Rpb24sIHNsb3dfcGF0aF9ub3QpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAg
ZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCBy
ZWdUMCk7CiB9CiAKIHZvaWQgSklUOjplbWl0U2xvd19vcF9qZmFsc2UoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikK
QEAgLTk0OSw3ICs5NDMsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfYml0eG9yKEluc3RydWN0
aW9uCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOwogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0
aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfYml0eG9yKTsKICAgICBz
bG93UGF0aENhbGwuY2FsbCgpOwotICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudElu
c3RydWN0aW9uWzFdLnUub3BlcmFuZCwgcmVnVDApOwogfQogCiB2b2lkIEpJVDo6ZW1pdFNsb3df
b3BfYml0b3IoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNl
RW50cnk+OjppdGVyYXRvciYgaXRlcikKQEAgLTk1Nyw3ICs5NTAsNiBAQCB2b2lkIEpJVDo6ZW1p
dFNsb3dfb3BfYml0b3IoSW5zdHJ1Y3Rpb24qCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOwogICAg
IEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBz
bG93X3BhdGhfYml0b3IpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAgZW1pdEdldFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCByZWdUMCk7CiB9
CiAKIHZvaWQgSklUOjplbWl0U2xvd19vcF9lcShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpdGVyKQpAQCAtOTg0LDcgKzk3
Niw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9zdHJpY3RlcShJbnN0cnVjdGkKICAgICBsaW5r
U2xvd0Nhc2UoaXRlcik7CiAgICAgSklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBj
dXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9zdHJpY3RlcSk7CiAgICAgc2xvd1BhdGhDYWxs
LmNhbGwoKTsKLSAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsx
XS51Lm9wZXJhbmQsIHJlZ1QwKTsKIH0KIAogdm9pZCBKSVQ6OmVtaXRTbG93X29wX25zdHJpY3Rl
cShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46
Oml0ZXJhdG9yJiBpdGVyKQpAQCAtOTk0LDcgKzk4NSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19v
cF9uc3RyaWN0ZXEoSW5zdHJ1Y3QKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAgICAgSklUU2xv
d1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0
aF9uc3RyaWN0ZXEpOwogICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Ci0gICAgZW1pdEdldFZpcnR1
YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCByZWdUMCk7CiB9CiAK
IHZvaWQgSklUOjplbWl0U2xvd19vcF9jaGVja19oYXNfaW5zdGFuY2UoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikK
QEAgLTEwMzIsNyArMTAyMiw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF90b19udW1iZXIoSW5z
dHJ1Y3QKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudElu
c3RydWN0aW9uLCBzbG93X3BhdGhfdG9fbnVtYmVyKTsKICAgICBzbG93UGF0aENhbGwuY2FsbCgp
OwotICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZCwgcmVnVDApOwogfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYXJndW1lbnRzX2xlbmd0
aChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQo=
</data>
<flag name="review"
          id="241581"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>