<?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>232111</bug_id>
          
          <creation_ts>2021-10-21 15:23:37 -0700</creation_ts>
          <short_desc>Clean up some code around checking the state of Watchpoints</short_desc>
          <delta_ts>2021-10-21 21:32:19 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1807396</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-10-21 15:23:37 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807426</commentid>
    <comment_count>1</comment_count>
      <attachid>442084</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-10-21 16:40:49 -0700</bug_when>
    <thetext>Created attachment 442084
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807439</commentid>
    <comment_count>2</comment_count>
      <attachid>442084</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-10-21 16:48:57 -0700</bug_when>
    <thetext>Comment on attachment 442084
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807458</commentid>
    <comment_count>3</comment_count>
      <attachid>442093</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-10-21 17:19:11 -0700</bug_when>
    <thetext>Created attachment 442093
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807526</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-21 21:31:55 -0700</bug_when>
    <thetext>Committed r284664 (243384@main): &lt;https://commits.webkit.org/243384@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442093.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807527</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-21 21:32:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/84535121&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442084</attachid>
            <date>2021-10-21 16:40:49 -0700</date>
            <delta_ts>2021-10-21 17:19:11 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>17439</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjg0NjUyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDIxLTEwLTIxICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IENsZWFuIHVwIHNvbWUgY29kZSBhcm91bmQgY2hlY2tpbmcgdGhlIHN0YXRlIG9mIFdhdGNocG9p
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIx
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZWVkIHRvIGhhdmUgc3RhdGUoKSBhbmQgc3RhdGVPbkpTVGhyZWFkKCksIHNpbmNlIHRoZXkncmUg
bm93IHRoZSBzYW1lLgorICAgICAgICBBbHNvLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIHRo
ZSBhbGxvY2F0aW9uIHdhdGNocG9pbnQgdHdpY2UgZm9yIHRoZQorICAgICAgICBmdW5jdGlvbi9p
bnRlcm5hbCBmdW5jdGlvbiBhbGxvY2F0aW9uIHByb2ZpbGVzLgorCisgICAgICAgICogYnl0ZWNv
ZGUvV2F0Y2hwb2ludC5oOgorICAgICAgICAoSlNDOjpXYXRjaHBvaW50U2V0Ojppc1N0aWxsVmFs
aWQgY29uc3QpOgorICAgICAgICAoSlNDOjpXYXRjaHBvaW50U2V0OjpzdGF0ZU9uSlNUaHJlYWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpXYXRjaHBvaW50U2V0Ojppc1N0aWxsVmFs
aWRPbkpTVGhyZWFkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6SW5saW5lV2F0Y2hw
b2ludFNldDo6c3RhdGVPbkpTVGhyZWFkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBkZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0
cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAg
ICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFy
c2VyOjpoYW5kbGVDcmVhdGVJbnRlcm5hbEZpZWxkT2JqZWN0KToKKyAgICAgICAgKiBkZmcvREZH
Q29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkNvbnN0YW50Rm9s
ZGluZ1BoYXNlOjpmb2xkQ29uc3RhbnRzKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90
eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6c3BlY2llc1dhdGNocG9pbnRJc1ZhbGlkKToKKyAgICAg
ICAgKEpTQzo6Y2FuVXNlRGVmYXVsdEFycmF5Sm9pbkZvclRvU3RyaW5nKToKKyAgICAgICAgKiBy
dW50aW1lL0luZmVycmVkVmFsdWUuaDoKKyAgICAgICAgKEpTQzo6SW5mZXJyZWRWYWx1ZTo6bm90
aWZ5V3JpdGUpOgorICAgICAgICAoSlNDOjpJbmZlcnJlZFZhbHVlOjpzdGF0ZU9uSlNUaHJlYWQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlw
ZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6c3BlY2llc1dhdGNocG9pbnRJc1ZhbGlkKToKKyAg
ICAgICAgKiBydW50aW1lL09iamVjdFByb3BlcnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBvaW50Lmg6
CisKIDIwMjEtMTAtMjEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbSlNDXSBNYWtlIEdldFR5cGVkQXJyYXlMZW5ndGhBc0ludDUyIGFuZCBHZXRUeXBlZEFy
cmF5Qnl0ZU9mZnNldEFzSW50NTIgTm9kZVJlc3VsdEludDUyCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmgJKHJldmlzaW9uIDI4NDY1MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE5MCwxNyArMTkwLDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2F0Y2hwb2ludFNldChzdGF0ZSkpOwogICAgIH0KICAgICAKLSAgICAvLyBGYXN0IHdheSBv
ZiBnZXR0aW5nIHRoZSBzdGF0ZSwgd2hpY2ggb25seSB3b3JrcyBmcm9tIHRoZSBtYWluIHRocmVh
ZC4KLSAgICBXYXRjaHBvaW50U3RhdGUgc3RhdGVPbkpTVGhyZWFkKCkgY29uc3QKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXYXRjaHBvaW50U3RhdGU+KG1fc3RhdGUpOwotICAg
IH0KLSAgICAKLSAgICAvLyBJdCBpcyBzYWZlIHRvIGNhbGwgdGhpcyBmcm9tIGFub3RoZXIgdGhy
ZWFkLiBJdCBtYXkgcmV0dXJuIGFuIG9sZAotICAgIC8vIHN0YXRlLiBHdWFyYW50ZWVzIHRoYXQg
aWYgKmZpcnN0KiByZWFkIHRoZSBzdGF0ZSgpIG9mIHRoZSB0aGluZyBiZWluZwotICAgIC8vIHdh
dGNoZWQgYW5kIGl0IHJldHVybmVkIElzV2F0Y2hlZCBhbmQgKnNlY29uZCogeW91IGFjdHVhbGx5
IHJlYWQgaXRzCi0gICAgLy8gdmFsdWUgdGhlbiBpdCdzIHNhZmUgdG8gYXNzdW1lIHRoYXQgaWYg
dGhlIHN0YXRlIGJlaW5nIHdhdGNoZWQgY2hhbmdlcwotICAgIC8vIHRoZW4gYWxzbyB0aGUgd2F0
Y2hwb2ludCBzdGF0ZSgpIHdpbGwgY2hhbmdlIHRvIElzSW52YWxpZGF0ZWQuCisgICAgLy8gSXQg
aXMgYWx3YXlzIHNhZmUgdG8gY2FsbCB0aGlzIGZyb20gdGhlIG1haW4gdGhyZWFkLgorICAgIC8v
IEl0IGlzIGFsc28gc2FmZSB0byBjYWxsIHRoaXMgZnJvbSBhbm90aGVyIHRocmVhZC4gSXQgbWF5
IHJldHVybiBhbiBvbGQKKyAgICAvLyBzdGF0ZS4gR2VuZXJhbGx5IHNwZWFraW5nLCBhIHNhZmUg
cGF0dGVybiB0byB1c2UgaW4gYSBjb25jdXJyZW50IGNvbXBpbGVyCisgICAgLy8gdGhyZWFkIGlz
OgorICAgIC8vIGlmICh3YXRjaHBvaW50LmlzVmFsaWQoKSkgeworICAgIC8vICAgICB3YXRjaCh3
YXRjaHBvaW50KTsKKyAgICAvLyAgICAgZG8gb3B0aW1pemF0aW9uczsKKyAgICAvLyB9CiAgICAg
V2F0Y2hwb2ludFN0YXRlIHN0YXRlKCkgY29uc3QKICAgICB7CiAgICAgICAgIFdhdGNocG9pbnRT
dGF0ZSByZXN1bHQgPSBzdGF0aWNfY2FzdDxXYXRjaHBvaW50U3RhdGU+KG1fc3RhdGUpOwpAQCAt
MjE3LDExICsyMTQsNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gc3RhdGUoKSAh
PSBJc0ludmFsaWRhdGVkOwogICAgIH0KLSAgICAvLyBGYXN0IHdheSBvZiB0ZXN0aW5nIGlzU3Rp
bGxWYWxpZCgpLCB3aGljaCBvbmx5IHdvcmtzIGZyb20gdGhlIG1haW4gdGhyZWFkLgotICAgIGJv
b2wgaXNTdGlsbFZhbGlkT25KU1RocmVhZCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4g
c3RhdGVPbkpTVGhyZWFkKCkgIT0gSXNJbnZhbGlkYXRlZDsKLSAgICB9CiAgICAgLy8gTGlrZSBp
c1N0aWxsVmFsaWQoKSwgbWF5IGJlIGNhbGxlZCBmcm9tIGFub3RoZXIgdGhyZWFkLgogICAgIGJv
b2wgaGFzQmVlbkludmFsaWRhdGVkKCkgY29uc3QgeyByZXR1cm4gIWlzU3RpbGxWYWxpZCgpOyB9
CiAgICAgCkBAIC0zNDAsMTggKzMzMiw3IEBAIHB1YmxpYzoKICAgICAgICAgZnJlZUZhdCgpOwog
ICAgIH0KICAgICAKLSAgICAvLyBGYXN0IHdheSBvZiBnZXR0aW5nIHRoZSBzdGF0ZSwgd2hpY2gg
b25seSB3b3JrcyBmcm9tIHRoZSBtYWluIHRocmVhZC4KLSAgICBXYXRjaHBvaW50U3RhdGUgc3Rh
dGVPbkpTVGhyZWFkKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHVpbnRwdHJfdCBkYXRhID0gbV9k
YXRhOwotICAgICAgICBpZiAoaXNGYXQoZGF0YSkpCi0gICAgICAgICAgICByZXR1cm4gZmF0KGRh
dGEpLT5zdGF0ZU9uSlNUaHJlYWQoKTsKLSAgICAgICAgcmV0dXJuIGRlY29kZVN0YXRlKGRhdGEp
OwotICAgIH0KLQotICAgIC8vIEl0IGlzIHNhZmUgdG8gY2FsbCB0aGlzIGZyb20gYW5vdGhlciB0
aHJlYWQuIEl0IG1heSByZXR1cm4gYSBwcmlvciBzdGF0ZSwKLSAgICAvLyBidXQgdGhhdCBzaG91
bGQgYmUgZmluZSBzaW5jZSB5b3Ugc2hvdWxkIG9ubHkgcGVyZm9ybSBhY3Rpb25zIGJhc2VkIG9u
IHRoZQotICAgIC8vIHN0YXRlIGlmIHlvdSBhbHNvIGFkZCBhIHdhdGNocG9pbnQuCisgICAgLy8g
U2VlIGNvbW1lbnQgYWJvdXQgc3RhdGUoKSBpbiBXYXRjaHBvaW50IGFib3ZlLgogICAgIFdhdGNo
cG9pbnRTdGF0ZSBzdGF0ZSgpIGNvbnN0CiAgICAgewogICAgICAgICB1aW50cHRyX3QgZGF0YSA9
IG1fZGF0YTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRl
cnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDI4NDY1MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMzA0Miw4ICszMDQyLDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJl
dGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSByYXJlRGF0YS0+aW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25TdHJ1Y3R1cmUo
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpID09IChub2RlLT5pc0ludGVy
bmFsUHJvbWlzZSgpID8gSlNJbnRlcm5hbFByb21pc2U6OmluZm8oKSA6IEpTUHJvbWlzZTo6aW5m
bygpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2Jq
ZWN0KCkgPT0gZ2xvYmFsT2JqZWN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmFy
ZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxpZCgpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3Qo
KSA9PSBnbG9iYWxPYmplY3QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LmZyZWV6ZShyYXJlRGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53
YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBv
aW50U2V0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fc3RhdGUuc2V0U2hvdWxk
VHJ5Q29uc3RhbnRGb2xkaW5nKHRydWUpOwpAQCAtMzA3MSw4ICszMDcwLDcgQEAgYm9vbCBBYnN0
cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPmludGVybmFsRnVuY3Rpb25BbGxv
Y2F0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVj
dHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmNsYXNz
SW5mbygpID09IGNsYXNzSW5mbwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBz
dHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9iamVjdAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmJiByYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50
U2V0KCkuaXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QpIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5
KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fc3RhdGUuc2V0U2hvdWxkVHJ5Q29uc3RhbnRGb2xkaW5n
KHRydWUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAJKHJldmlzaW9uIDI4NDY1MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTQ2LDggKzU1NDYs
NyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxv
Y2F0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBKU09iamVjdCogcHJv
dG90eXBlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm90b3R5cGUoKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAmJiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSB8fCBwcm90b3R5cGUpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJiYgcmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dFNldCgpLmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYg
KHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkgfHwgcHJvdG90eXBlKSkgewogCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEt
PmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKQEAgLTU2MjgsOCArNTYyNyw3IEBA
IHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5pbnRlcm5hbEZ1
bmN0aW9uQWxsb2NhdGlvblN0cnVjdHVyZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0
dXJlLT5jbGFzc0luZm8oKSA9PSAoYnl0ZWNvZGUubV9pc0ludGVybmFsUHJvbWlzZSA/IEpTSW50
ZXJuYWxQcm9taXNlOjppbmZvKCkgOiBKU1Byb21pc2U6OmluZm8oKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxP
YmplY3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmFyZURhdGEtPmFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xv
YmFsT2JqZWN0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJl
ZXplKHJhcmVEYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53
YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBv
aW50U2V0KCkpOwogCkBAIC05MDEyLDggKzkwMTAsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVDcmVhdGVJbnRlcm5hCiAgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSByYXJlRGF0YS0+aW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25TdHJ1Y3R1cmUoKTsKICAgICAg
ICAgICAgICAgICBpZiAoc3RydWN0dXJlCiAgICAgICAgICAgICAgICAgICAgICYmIHN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCkgPT0gY2xhc3NJbmZvCi0gICAgICAgICAgICAgICAgICAgICYmIHN0cnVj
dHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0Ci0gICAgICAgICAgICAgICAgICAg
ICYmIHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKS5pc1N0aWxsVmFs
aWQoKSkgeworICAgICAgICAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgp
ID09IGdsb2JhbE9iamVjdCkgewogICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShy
YXJlRGF0YSk7CiAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRM
YXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRp
bmdQaGFzZS5jcHAJKHJldmlzaW9uIDI4NDY1MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MzYsOSAr
NzM2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKU09iamVjdCogcHJvdG90eXBlID0gcmFy
ZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm90b3R5cGUoKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHN0cnVjdHVyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgKHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkgfHwgcHJvdG90eXBlKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgcmFyZURhdGEtPmFsbG9jYXRpb25Qcm9m
aWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxpZCgpKSB7Ci0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICYmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpIHx8IHByb3Rv
dHlwZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJl
ZXplKHJhcmVEYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0
Y2hwb2ludFNldCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUt
PmNvbnZlcnRUb05ld09iamVjdChtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkp
OwpAQCAtNzU4LDcgKzc1Niw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2Vk
ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICB9CkBAIC03ODEsOCArNzc4LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSByYXJlRGF0YS0+aW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25TdHJ1Y3R1cmUoKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5jbGFzc0luZm8oKSA9PSAobm9k
ZS0+aXNJbnRlcm5hbFByb21pc2UoKSA/IEpTSW50ZXJuYWxQcm9taXNlOjppbmZvKCkgOiBKU1By
b21pc2U6OmluZm8oKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN0
cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAmJiByYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBv
aW50U2V0KCkuaXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0KSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0
YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9p
bnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQo
KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9O
ZXdJbnRlcm5hbEZpZWxkT2JqZWN0KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJl
KSk7CkBAIC04MDcsOCArODAzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPmludGVybmFsRnVu
Y3Rpb25BbGxvY2F0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoc3RydWN0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgc3RydWN0dXJlLT5jbGFzc0luZm8oKSA9PSBjbGFzc0luZm8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgp
ID09IGdsb2JhbE9iamVjdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICYmIHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKS5pc1N0aWxsVmFs
aWQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN0cnVj
dHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0KSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5h
ZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdJ
bnRlcm5hbEZpZWxkT2JqZWN0V2l0aElubGluZUZpZWxkcyhuZXdPcCwgbV9ncmFwaC5yZWdpc3Rl
clN0cnVjdHVyZShzdHJ1Y3R1cmUpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDI4NDY1MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTg2LDE1ICsxODYsMTUgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgYm9vbCBzcGVjaWVz
V2F0Y2hwbwogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzT2JqZWN0LT5n
bG9iYWxPYmplY3Qodm0pOwogICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGds
b2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKTsKIAotICAgIGlmIChnbG9iYWxPYmplY3QtPmFy
cmF5U3BlY2llc1dhdGNocG9pbnRTZXQoKS5zdGF0ZU9uSlNUaHJlYWQoKSA9PSBDbGVhcldhdGNo
cG9pbnQpIHsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5hcnJheVNwZWNpZXNXYXRjaHBvaW50U2V0
KCkuc3RhdGUoKSA9PSBDbGVhcldhdGNocG9pbnQpIHsKICAgICAgICAgZGF0YUxvZ0xuSWYoQXJy
YXlQcm90b3R5cGVJbnRlcm5hbDo6dmVyYm9zZSwgIkluaXRpYWxpemluZyBBcnJheSBzcGVjaWVz
IHdhdGNocG9pbnRzIGZvciBBcnJheS5wcm90b3R5cGU6ICIsIHBvaW50ZXJEdW1wKGFycmF5UHJv
dG90eXBlKSwgIiB3aXRoIHN0cnVjdHVyZTogIiwgcG9pbnRlckR1bXAoYXJyYXlQcm90b3R5cGUt
PnN0cnVjdHVyZSh2bSkpLCAiXG5hbmQgQXJyYXk6ICIsIHBvaW50ZXJEdW1wKGdsb2JhbE9iamVj
dC0+YXJyYXlDb25zdHJ1Y3RvcigpKSwgIiB3aXRoIHN0cnVjdHVyZTogIiwgcG9pbnRlckR1bXAo
Z2xvYmFsT2JqZWN0LT5hcnJheUNvbnN0cnVjdG9yKCktPnN0cnVjdHVyZSh2bSkpKTsKICAgICAg
ICAgZ2xvYmFsT2JqZWN0LT50cnlJbnN0YWxsQXJyYXlTcGVjaWVzV2F0Y2hwb2ludCgpOwotICAg
ICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0LT5hcnJheVNwZWNpZXNXYXRjaHBvaW50U2V0KCkuc3Rh
dGVPbkpTVGhyZWFkKCkgIT0gQ2xlYXJXYXRjaHBvaW50KTsKKyAgICAgICAgQVNTRVJUKGdsb2Jh
bE9iamVjdC0+YXJyYXlTcGVjaWVzV2F0Y2hwb2ludFNldCgpLnN0YXRlKCkgIT0gQ2xlYXJXYXRj
aHBvaW50KTsKICAgICB9CiAKICAgICByZXR1cm4gIXRoaXNPYmplY3QtPmhhc0N1c3RvbVByb3Bl
cnRpZXModm0pCiAgICAgICAgICYmIGFycmF5UHJvdG90eXBlID09IHRoaXNPYmplY3QtPmdldFBy
b3RvdHlwZURpcmVjdCh2bSkKLSAgICAgICAgJiYgZ2xvYmFsT2JqZWN0LT5hcnJheVNwZWNpZXNX
YXRjaHBvaW50U2V0KCkuc3RhdGVPbkpTVGhyZWFkKCkgPT0gSXNXYXRjaGVkOworICAgICAgICAm
JiBnbG9iYWxPYmplY3QtPmFycmF5U3BlY2llc1dhdGNocG9pbnRTZXQoKS5zdGF0ZSgpID09IElz
V2F0Y2hlZDsKIH0KIAogZW51bSBjbGFzcyBTcGVjaWVzQ29uc3RydWN0UmVzdWx0IDogdWludDhf
dCB7CkBAIC01ODMsNyArNTgzLDcgQEAgaW5saW5lIGJvb2wgY2FuVXNlRGVmYXVsdEFycmF5Sm9p
bkZvclRvUwogewogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzT2JqZWN0
LT5nbG9iYWxPYmplY3QoKTsKIAotICAgIGlmIChnbG9iYWxPYmplY3QtPmFycmF5Sm9pbldhdGNo
cG9pbnRTZXQoKS5zdGF0ZU9uSlNUaHJlYWQoKSAhPSBJc1dhdGNoZWQpCisgICAgaWYgKGdsb2Jh
bE9iamVjdC0+YXJyYXlKb2luV2F0Y2hwb2ludFNldCgpLnN0YXRlKCkgIT0gSXNXYXRjaGVkKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXNP
YmplY3QtPnN0cnVjdHVyZSh2bSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbmZlcnJlZFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW5mZXJyZWRWYWx1ZS5oCShyZXZpc2lvbiAyODQ2NTApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbmZlcnJlZFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDE1
ICs2Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgZnJlZUZhdCgpOwogICAgIH0KIAotICAgIC8vIEZh
c3Qgd2F5IG9mIGdldHRpbmcgdGhlIHN0YXRlLCB3aGljaCBvbmx5IHdvcmtzIGZyb20gdGhlIG1h
aW4gdGhyZWFkLgotICAgIFdhdGNocG9pbnRTdGF0ZSBzdGF0ZU9uSlNUaHJlYWQoKSBjb25zdAot
ICAgIHsKLSAgICAgICAgdWludHB0cl90IGRhdGEgPSBtX2RhdGE7Ci0gICAgICAgIGlmIChpc0Zh
dChkYXRhKSkKLSAgICAgICAgICAgIHJldHVybiBmYXQoZGF0YSktPnN0YXRlT25KU1RocmVhZCgp
OwotICAgICAgICByZXR1cm4gZGVjb2RlU3RhdGUoZGF0YSk7Ci0gICAgfQotCiAgICAgLy8gSXQg
aXMgc2FmZSB0byBjYWxsIHRoaXMgZnJvbSBhbm90aGVyIHRocmVhZC4gSXQgbWF5IHJldHVybiBh
IHByaW9yIHN0YXRlLAogICAgIC8vIGJ1dCB0aGF0IHNob3VsZCBiZSBmaW5lIHNpbmNlIHlvdSBz
aG91bGQgb25seSBwZXJmb3JtIGFjdGlvbnMgYmFzZWQgb24gdGhlCiAgICAgLy8gc3RhdGUgaWYg
eW91IGFsc28gYWRkIGEgd2F0Y2hwb2ludC4KQEAgLTEyMCwxNCArMTExLDE0IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgbm90aWZ5V3JpdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU0NlbGxUeXBl
KiB2YWx1ZSwgY29uc3QgRmlyZURldGFpbCYgZGV0YWlsKQogICAgIHsKLSAgICAgICAgaWYgKExJ
S0VMWShzdGF0ZU9uSlNUaHJlYWQoKSA9PSBJc0ludmFsaWRhdGVkKSkKKyAgICAgICAgaWYgKExJ
S0VMWShzdGF0ZSgpID09IElzSW52YWxpZGF0ZWQpKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBub3RpZnlXcml0ZVNsb3codm0sIG93bmVyLCB2YWx1ZSwgZGV0YWlsKTsKICAgICB9CiAg
ICAgCiAgICAgdm9pZCBub3RpZnlXcml0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEpTQ2VsbFR5
cGUqIHZhbHVlLCBjb25zdCBjaGFyKiByZWFzb24pCiAgICAgewotICAgICAgICBpZiAoTElLRUxZ
KHN0YXRlT25KU1RocmVhZCgpID09IElzSW52YWxpZGF0ZWQpKQorICAgICAgICBpZiAoTElLRUxZ
KHN0YXRlKCkgPT0gSXNJbnZhbGlkYXRlZCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IG5vdGlmeVdyaXRlU2xvdyh2bSwgb3duZXIsIHZhbHVlLCByZWFzb24pOwogICAgIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGVJbmxp
bmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eUJ1ZmZlclByb3RvdHlwZUlubGluZXMuaAkocmV2aXNpb24gMjg0NjUwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZUlubGluZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtMzksMTUgKzM5LDE1IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBzcGVjaWVz
V2F0Y2hwb2ludElzVmEKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpc09i
amVjdC0+Z2xvYmFsT2JqZWN0KHZtKTsKICAgICBhdXRvKiBwcm90b3R5cGUgPSBnbG9iYWxPYmpl
Y3QtPmFycmF5QnVmZmVyUHJvdG90eXBlKG1vZGUpOwogCi0gICAgaWYgKGdsb2JhbE9iamVjdC0+
YXJyYXlCdWZmZXJTcGVjaWVzV2F0Y2hwb2ludFNldChtb2RlKS5zdGF0ZU9uSlNUaHJlYWQoKSA9
PSBDbGVhcldhdGNocG9pbnQpIHsKKyAgICBpZiAoZ2xvYmFsT2JqZWN0LT5hcnJheUJ1ZmZlclNw
ZWNpZXNXYXRjaHBvaW50U2V0KG1vZGUpLnN0YXRlKCkgPT0gQ2xlYXJXYXRjaHBvaW50KSB7CiAg
ICAgICAgIGRhdGFMb2dMbklmKEpTQXJyYXlCdWZmZXJQcm90b3R5cGVJbnRlcm5hbDo6dmVyYm9z
ZSwgIkluaXRpYWxpemluZyBBcnJheUJ1ZmZlciBzcGVjaWVzIHdhdGNocG9pbnRzIGZvciBBcnJh
eUJ1ZmZlci5wcm90b3R5cGU6ICIsIHBvaW50ZXJEdW1wKHByb3RvdHlwZSksICIgd2l0aCBzdHJ1
Y3R1cmU6ICIsIHBvaW50ZXJEdW1wKHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKSksICJcbmFuZCBB
cnJheUJ1ZmZlcjogIiwgcG9pbnRlckR1bXAoZ2xvYmFsT2JqZWN0LT5hcnJheUJ1ZmZlckNvbnN0
cnVjdG9yKG1vZGUpKSwgIiB3aXRoIHN0cnVjdHVyZTogIiwgcG9pbnRlckR1bXAoZ2xvYmFsT2Jq
ZWN0LT5hcnJheUJ1ZmZlckNvbnN0cnVjdG9yKG1vZGUpLT5zdHJ1Y3R1cmUodm0pKSk7CiAgICAg
ICAgIGdsb2JhbE9iamVjdC0+dHJ5SW5zdGFsbEFycmF5QnVmZmVyU3BlY2llc1dhdGNocG9pbnQo
bW9kZSk7Ci0gICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QtPmFycmF5QnVmZmVyU3BlY2llc1dh
dGNocG9pbnRTZXQobW9kZSkuc3RhdGVPbkpTVGhyZWFkKCkgIT0gQ2xlYXJXYXRjaHBvaW50KTsK
KyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdC0+YXJyYXlCdWZmZXJTcGVjaWVzV2F0Y2hwb2lu
dFNldChtb2RlKS5zdGF0ZSgpICE9IENsZWFyV2F0Y2hwb2ludCk7CiAgICAgfQogCiAgICAgcmV0
dXJuICF0aGlzT2JqZWN0LT5oYXNDdXN0b21Qcm9wZXJ0aWVzKHZtKQogICAgICAgICAmJiBwcm90
b3R5cGUgPT0gdGhpc09iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KHZtKQotICAgICAgICAmJiBn
bG9iYWxPYmplY3QtPmFycmF5QnVmZmVyU3BlY2llc1dhdGNocG9pbnRTZXQobW9kZSkuc3RhdGVP
bkpTVGhyZWFkKCkgPT0gSXNXYXRjaGVkOworICAgICAgICAmJiBnbG9iYWxPYmplY3QtPmFycmF5
QnVmZmVyU3BlY2llc1dhdGNocG9pbnRTZXQobW9kZSkuc3RhdGUoKSA9PSBJc1dhdGNoZWQ7CiB9
CiAKIEFMV0FZU19JTkxJTkUgc3RkOjpvcHRpb25hbDxKU1ZhbHVlPiBhcnJheUJ1ZmZlclNwZWNp
ZXNDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0FycmF5QnVmZmVy
KiB0aGlzT2JqZWN0LCBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlIG1vZGUpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm9wZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hw
b2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVj
dFByb3BlcnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBvaW50LmgJKHJldmlzaW9uIDI4NDY1MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3BlcnR5Q2hhbmdlQWRhcHRp
dmVXYXRjaHBvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgcHVibGljOgog
ICAgICAgICAsIG1fb3duZXIob3duZXIpCiAgICAgICAgICwgbV93YXRjaHBvaW50U2V0KHdhdGNo
cG9pbnRTZXQpCiAgICAgewotICAgICAgICBSRUxFQVNFX0FTU0VSVCh3YXRjaHBvaW50U2V0LnN0
YXRlT25KU1RocmVhZCgpID09IElzV2F0Y2hlZCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHdh
dGNocG9pbnRTZXQuc3RhdGUoKSA9PSBJc1dhdGNoZWQpOwogICAgIH0KIAogcHJpdmF0ZToK
</data>
<flag name="review"
          id="466493"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
    <flag name="commit-queue"
          id="466501"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442093</attachid>
            <date>2021-10-21 17:19:11 -0700</date>
            <delta_ts>2021-10-21 21:31:56 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>18961</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjg0NjU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDIxLTEwLTIxICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IENsZWFuIHVwIHNvbWUgY29kZSBhcm91bmQgY2hlY2tpbmcgdGhlIHN0YXRlIG9mIFdhdGNocG9p
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIx
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIE5vIG5l
ZWQgdG8gaGF2ZSBzdGF0ZSgpIGFuZCBzdGF0ZU9uSlNUaHJlYWQoKSwgc2luY2UgdGhleSdyZSBu
b3cgdGhlIHNhbWUuCisgICAgICAgIEFsc28sIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgdGhl
IGFsbG9jYXRpb24gd2F0Y2hwb2ludCB0d2ljZSBmb3IgdGhlCisgICAgICAgIGZ1bmN0aW9uL2lu
dGVybmFsIGZ1bmN0aW9uIGFsbG9jYXRpb24gcHJvZmlsZXMuCisKKyAgICAgICAgKiBieXRlY29k
ZS9XYXRjaHBvaW50Lmg6CisgICAgICAgIChKU0M6OldhdGNocG9pbnRTZXQ6OmlzU3RpbGxWYWxp
ZCBjb25zdCk6CisgICAgICAgIChKU0M6OldhdGNocG9pbnRTZXQ6OnN0YXRlT25KU1RocmVhZCBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OldhdGNocG9pbnRTZXQ6OmlzU3RpbGxWYWxp
ZE9uSlNUaHJlYWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpJbmxpbmVXYXRjaHBv
aW50U2V0OjpzdGF0ZU9uSlNUaHJlYWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJz
ZXI6OmhhbmRsZUNyZWF0ZUludGVybmFsRmllbGRPYmplY3QpOgorICAgICAgICAqIGRmZy9ERkdD
b25zdGFudEZvbGRpbmdQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q29uc3RhbnRGb2xk
aW5nUGhhc2U6OmZvbGRDb25zdGFudHMpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5
cGUuY3BwOgorICAgICAgICAoSlNDOjpzcGVjaWVzV2F0Y2hwb2ludElzVmFsaWQpOgorICAgICAg
ICAoSlNDOjpjYW5Vc2VEZWZhdWx0QXJyYXlKb2luRm9yVG9TdHJpbmcpOgorICAgICAgICAqIHJ1
bnRpbWUvSW5mZXJyZWRWYWx1ZS5oOgorICAgICAgICAoSlNDOjpJbmZlcnJlZFZhbHVlOjpub3Rp
ZnlXcml0ZSk6CisgICAgICAgIChKU0M6OkluZmVycmVkVmFsdWU6OnN0YXRlT25KU1RocmVhZCBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBl
SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpzcGVjaWVzV2F0Y2hwb2ludElzVmFsaWQpOgorICAg
ICAgICAqIHJ1bnRpbWUvT2JqZWN0UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQuaDoK
KwogMjAyMS0xMC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIE1ha2UgR2V0VHlwZWRBcnJheUxlbmd0aEFzSW50NTIgYW5kIEdldFR5cGVkQXJy
YXlCeXRlT2Zmc2V0QXNJbnQ1MiBOb2RlUmVzdWx0SW50NTIKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuaAkocmV2aXNpb24gMjg0NjU4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTkwLDE3ICsxOTAsMTQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBXYXRjaHBvaW50U2V0KHN0YXRlKSk7CiAgICAgfQogICAgIAotICAgIC8vIEZhc3Qgd2F5IG9m
IGdldHRpbmcgdGhlIHN0YXRlLCB3aGljaCBvbmx5IHdvcmtzIGZyb20gdGhlIG1haW4gdGhyZWFk
LgotICAgIFdhdGNocG9pbnRTdGF0ZSBzdGF0ZU9uSlNUaHJlYWQoKSBjb25zdAotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdhdGNocG9pbnRTdGF0ZT4obV9zdGF0ZSk7Ci0gICAg
fQotICAgIAotICAgIC8vIEl0IGlzIHNhZmUgdG8gY2FsbCB0aGlzIGZyb20gYW5vdGhlciB0aHJl
YWQuIEl0IG1heSByZXR1cm4gYW4gb2xkCi0gICAgLy8gc3RhdGUuIEd1YXJhbnRlZXMgdGhhdCBp
ZiAqZmlyc3QqIHJlYWQgdGhlIHN0YXRlKCkgb2YgdGhlIHRoaW5nIGJlaW5nCi0gICAgLy8gd2F0
Y2hlZCBhbmQgaXQgcmV0dXJuZWQgSXNXYXRjaGVkIGFuZCAqc2Vjb25kKiB5b3UgYWN0dWFsbHkg
cmVhZCBpdHMKLSAgICAvLyB2YWx1ZSB0aGVuIGl0J3Mgc2FmZSB0byBhc3N1bWUgdGhhdCBpZiB0
aGUgc3RhdGUgYmVpbmcgd2F0Y2hlZCBjaGFuZ2VzCi0gICAgLy8gdGhlbiBhbHNvIHRoZSB3YXRj
aHBvaW50IHN0YXRlKCkgd2lsbCBjaGFuZ2UgdG8gSXNJbnZhbGlkYXRlZC4KKyAgICAvLyBJdCBp
cyBhbHdheXMgc2FmZSB0byBjYWxsIHRoaXMgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCisgICAgLy8g
SXQgaXMgYWxzbyBzYWZlIHRvIGNhbGwgdGhpcyBmcm9tIGFub3RoZXIgdGhyZWFkLiBJdCBtYXkg
cmV0dXJuIGFuIG9sZAorICAgIC8vIHN0YXRlLiBHZW5lcmFsbHkgc3BlYWtpbmcsIGEgc2FmZSBw
YXR0ZXJuIHRvIHVzZSBpbiBhIGNvbmN1cnJlbnQgY29tcGlsZXIKKyAgICAvLyB0aHJlYWQgaXM6
CisgICAgLy8gaWYgKHdhdGNocG9pbnQuaXNWYWxpZCgpKSB7CisgICAgLy8gICAgIHdhdGNoKHdh
dGNocG9pbnQpOworICAgIC8vICAgICBkbyBvcHRpbWl6YXRpb25zOworICAgIC8vIH0KICAgICBX
YXRjaHBvaW50U3RhdGUgc3RhdGUoKSBjb25zdAogICAgIHsKICAgICAgICAgV2F0Y2hwb2ludFN0
YXRlIHJlc3VsdCA9IHN0YXRpY19jYXN0PFdhdGNocG9pbnRTdGF0ZT4obV9zdGF0ZSk7CkBAIC0y
MTcsMTEgKzIxNCw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBzdGF0ZSgpICE9
IElzSW52YWxpZGF0ZWQ7CiAgICAgfQotICAgIC8vIEZhc3Qgd2F5IG9mIHRlc3RpbmcgaXNTdGls
bFZhbGlkKCksIHdoaWNoIG9ubHkgd29ya3MgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCi0gICAgYm9v
bCBpc1N0aWxsVmFsaWRPbkpTVGhyZWFkKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBz
dGF0ZU9uSlNUaHJlYWQoKSAhPSBJc0ludmFsaWRhdGVkOwotICAgIH0KICAgICAvLyBMaWtlIGlz
U3RpbGxWYWxpZCgpLCBtYXkgYmUgY2FsbGVkIGZyb20gYW5vdGhlciB0aHJlYWQuCiAgICAgYm9v
bCBoYXNCZWVuSW52YWxpZGF0ZWQoKSBjb25zdCB7IHJldHVybiAhaXNTdGlsbFZhbGlkKCk7IH0K
ICAgICAKQEAgLTM0MCwxOCArMzMyLDcgQEAgcHVibGljOgogICAgICAgICBmcmVlRmF0KCk7CiAg
ICAgfQogICAgIAotICAgIC8vIEZhc3Qgd2F5IG9mIGdldHRpbmcgdGhlIHN0YXRlLCB3aGljaCBv
bmx5IHdvcmtzIGZyb20gdGhlIG1haW4gdGhyZWFkLgotICAgIFdhdGNocG9pbnRTdGF0ZSBzdGF0
ZU9uSlNUaHJlYWQoKSBjb25zdAotICAgIHsKLSAgICAgICAgdWludHB0cl90IGRhdGEgPSBtX2Rh
dGE7Ci0gICAgICAgIGlmIChpc0ZhdChkYXRhKSkKLSAgICAgICAgICAgIHJldHVybiBmYXQoZGF0
YSktPnN0YXRlT25KU1RocmVhZCgpOwotICAgICAgICByZXR1cm4gZGVjb2RlU3RhdGUoZGF0YSk7
Ci0gICAgfQotCi0gICAgLy8gSXQgaXMgc2FmZSB0byBjYWxsIHRoaXMgZnJvbSBhbm90aGVyIHRo
cmVhZC4gSXQgbWF5IHJldHVybiBhIHByaW9yIHN0YXRlLAotICAgIC8vIGJ1dCB0aGF0IHNob3Vs
ZCBiZSBmaW5lIHNpbmNlIHlvdSBzaG91bGQgb25seSBwZXJmb3JtIGFjdGlvbnMgYmFzZWQgb24g
dGhlCi0gICAgLy8gc3RhdGUgaWYgeW91IGFsc28gYWRkIGEgd2F0Y2hwb2ludC4KKyAgICAvLyBT
ZWUgY29tbWVudCBhYm91dCBzdGF0ZSgpIGluIFdhdGNocG9pbnQgYWJvdmUuCiAgICAgV2F0Y2hw
b2ludFN0YXRlIHN0YXRlKCkgY29uc3QKICAgICB7CiAgICAgICAgIHVpbnRwdHJfdCBkYXRhID0g
bV9kYXRhOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAkocmV2aXNpb24gMjg0NjU4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMDQyLDggKzMwNDIsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0
ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IHJhcmVEYXRhLT5pbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblN0cnVjdHVyZSgp
OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkgPT0gKG5vZGUtPmlzSW50ZXJu
YWxQcm9taXNlKCkgPyBKU0ludGVybmFsUHJvbWlzZTo6aW5mbygpIDogSlNQcm9taXNlOjppbmZv
KCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmpl
Y3QoKSA9PSBnbG9iYWxPYmplY3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiByYXJl
RGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkuaXNTdGlsbFZhbGlkKCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgp
ID09IGdsb2JhbE9iamVjdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgu
ZnJlZXplKHJhcmVEYXRhKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndh
dGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9p
bnRTZXQoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zdGF0ZS5zZXRTaG91bGRU
cnlDb25zdGFudEZvbGRpbmcodHJ1ZSk7CkBAIC0zMDcxLDggKzMwNzAsNyBAQCBib29sIEFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+aW50ZXJuYWxGdW5jdGlvbkFsbG9j
YXRpb25TdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0
dXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCkgPT0gY2xhc3NJbmZvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN0
cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICYmIHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRT
ZXQoKS5pc1N0aWxsVmFsaWQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm
JiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9iamVjdCkgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHko
cmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbV9zdGF0ZS5zZXRTaG91bGRUcnlDb25zdGFudEZvbGRpbmco
dHJ1ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAkocmV2aXNpb24gMjg0NjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1NDYsOCArNTU0Niw3
IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9j
YXRpb25TdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb3RvdHlwZSgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICYmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpIHx8IHByb3RvdHlwZSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmJiByYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50
U2V0KCkuaXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAo
c3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSB8fCBwcm90b3R5cGUpKSB7CiAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+
YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwpAQCAtNTYyOCw4ICs1NjI3LDcgQEAg
dm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPmludGVybmFsRnVu
Y3Rpb25BbGxvY2F0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHN0cnVjdHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpID09IChieXRlY29kZS5tX2lzSW50ZXJuYWxQcm9taXNlID8gSlNJbnRl
cm5hbFByb21pc2U6OmluZm8oKSA6IEpTUHJvbWlzZTo6aW5mbygpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9i
amVjdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiByYXJlRGF0YS0+YWxsb2Nh
dGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkuaXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9i
YWxPYmplY3QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVl
emUocmFyZURhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndh
dGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9p
bnRTZXQoKSk7CiAKQEAgLTkwMTIsOCArOTAxMCw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6Omhh
bmRsZUNyZWF0ZUludGVybmEKICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IHJhcmVEYXRhLT5pbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblN0cnVjdHVyZSgpOwogICAgICAg
ICAgICAgICAgIGlmIChzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0dXJl
LT5jbGFzc0luZm8oKSA9PSBjbGFzc0luZm8KLSAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0
dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QKLSAgICAgICAgICAgICAgICAgICAg
JiYgcmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxp
ZCgpKSB7CisgICAgICAgICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkg
PT0gZ2xvYmFsT2JqZWN0KSB7CiAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJh
cmVEYXRhKTsKICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExh
emlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGlu
Z1BoYXNlLmNwcAkocmV2aXNpb24gMjg0NjU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczNiw5ICs3
MzYsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSByYXJl
RGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb3RvdHlwZSgpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoc3RydWN0dXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmJiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSB8fCBwcm90b3R5cGUpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiByYXJlRGF0YS0+YWxsb2NhdGlvblByb2Zp
bGVXYXRjaHBvaW50U2V0KCkuaXNTdGlsbFZhbGlkKCkpIHsKLQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJiYgKHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkgfHwgcHJvdG90
eXBlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVl
emUocmFyZURhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFw
aC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRj
aHBvaW50U2V0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+
Y29udmVydFRvTmV3T2JqZWN0KG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7
CkBAIC03NTgsNyArNzU2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQg
PSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTc4MSw4ICs3NzgsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHJhcmVEYXRhLT5pbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblN0cnVjdHVyZSgpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpID09IChub2Rl
LT5pc0ludGVybmFsUHJvbWlzZSgpID8gSlNJbnRlcm5hbFByb21pc2U6OmluZm8oKSA6IEpTUHJv
bWlzZTo6aW5mbygpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3Ry
dWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICYmIHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9p
bnRTZXQoKS5pc1N0aWxsVmFsaWQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRh
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2lu
dHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgp
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb05l
d0ludGVybmFsRmllbGRPYmplY3QobV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUp
KTsKQEAgLTgwNyw4ICs4MDMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+aW50ZXJuYWxGdW5j
dGlvbkFsbG9jYXRpb25TdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAmJiBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpID09IGNsYXNzSW5mbwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkg
PT0gZ2xvYmFsT2JqZWN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JiYgcmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpLmlzU3RpbGxWYWxp
ZCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc3RydWN0
dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QpIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFk
ZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb05ld0lu
dGVybmFsRmllbGRPYmplY3RXaXRoSW5saW5lRmllbGRzKG5ld09wLCBtX2dyYXBoLnJlZ2lzdGVy
U3RydWN0dXJlKHN0cnVjdHVyZSkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjg0NjU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xODYsMTUgKzE4NiwxNSBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBib29sIHNwZWNpZXNX
YXRjaHBvCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXNPYmplY3QtPmds
b2JhbE9iamVjdCh2bSk7CiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xv
YmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpOwogCi0gICAgaWYgKGdsb2JhbE9iamVjdC0+YXJy
YXlTcGVjaWVzV2F0Y2hwb2ludFNldCgpLnN0YXRlT25KU1RocmVhZCgpID09IENsZWFyV2F0Y2hw
b2ludCkgeworICAgIGlmIChnbG9iYWxPYmplY3QtPmFycmF5U3BlY2llc1dhdGNocG9pbnRTZXQo
KS5zdGF0ZSgpID09IENsZWFyV2F0Y2hwb2ludCkgewogICAgICAgICBkYXRhTG9nTG5JZihBcnJh
eVByb3RvdHlwZUludGVybmFsOjp2ZXJib3NlLCAiSW5pdGlhbGl6aW5nIEFycmF5IHNwZWNpZXMg
d2F0Y2hwb2ludHMgZm9yIEFycmF5LnByb3RvdHlwZTogIiwgcG9pbnRlckR1bXAoYXJyYXlQcm90
b3R5cGUpLCAiIHdpdGggc3RydWN0dXJlOiAiLCBwb2ludGVyRHVtcChhcnJheVByb3RvdHlwZS0+
c3RydWN0dXJlKHZtKSksICJcbmFuZCBBcnJheTogIiwgcG9pbnRlckR1bXAoZ2xvYmFsT2JqZWN0
LT5hcnJheUNvbnN0cnVjdG9yKCkpLCAiIHdpdGggc3RydWN0dXJlOiAiLCBwb2ludGVyRHVtcChn
bG9iYWxPYmplY3QtPmFycmF5Q29uc3RydWN0b3IoKS0+c3RydWN0dXJlKHZtKSkpOwogICAgICAg
ICBnbG9iYWxPYmplY3QtPnRyeUluc3RhbGxBcnJheVNwZWNpZXNXYXRjaHBvaW50KCk7Ci0gICAg
ICAgIEFTU0VSVChnbG9iYWxPYmplY3QtPmFycmF5U3BlY2llc1dhdGNocG9pbnRTZXQoKS5zdGF0
ZU9uSlNUaHJlYWQoKSAhPSBDbGVhcldhdGNocG9pbnQpOworICAgICAgICBBU1NFUlQoZ2xvYmFs
T2JqZWN0LT5hcnJheVNwZWNpZXNXYXRjaHBvaW50U2V0KCkuc3RhdGUoKSAhPSBDbGVhcldhdGNo
cG9pbnQpOwogICAgIH0KIAogICAgIHJldHVybiAhdGhpc09iamVjdC0+aGFzQ3VzdG9tUHJvcGVy
dGllcyh2bSkKICAgICAgICAgJiYgYXJyYXlQcm90b3R5cGUgPT0gdGhpc09iamVjdC0+Z2V0UHJv
dG90eXBlRGlyZWN0KHZtKQotICAgICAgICAmJiBnbG9iYWxPYmplY3QtPmFycmF5U3BlY2llc1dh
dGNocG9pbnRTZXQoKS5zdGF0ZU9uSlNUaHJlYWQoKSA9PSBJc1dhdGNoZWQ7CisgICAgICAgICYm
IGdsb2JhbE9iamVjdC0+YXJyYXlTcGVjaWVzV2F0Y2hwb2ludFNldCgpLnN0YXRlKCkgPT0gSXNX
YXRjaGVkOwogfQogCiBlbnVtIGNsYXNzIFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQgOiB1aW50OF90
IHsKQEAgLTU4Myw3ICs1ODMsNyBAQCBpbmxpbmUgYm9vbCBjYW5Vc2VEZWZhdWx0QXJyYXlKb2lu
Rm9yVG9TCiB7CiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXNPYmplY3Qt
Pmdsb2JhbE9iamVjdCgpOwogCi0gICAgaWYgKGdsb2JhbE9iamVjdC0+YXJyYXlKb2luV2F0Y2hw
b2ludFNldCgpLnN0YXRlT25KU1RocmVhZCgpICE9IElzV2F0Y2hlZCkKKyAgICBpZiAoZ2xvYmFs
T2JqZWN0LT5hcnJheUpvaW5XYXRjaHBvaW50U2V0KCkuc3RhdGUoKSAhPSBJc1dhdGNoZWQpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpc09i
amVjdC0+c3RydWN0dXJlKHZtKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0luZmVycmVkVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9JbmZlcnJlZFZhbHVlLmgJKHJldmlzaW9uIDI4NDY1OCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luZmVycmVkVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsMTUg
KzY3LDYgQEAgcHVibGljOgogICAgICAgICBmcmVlRmF0KCk7CiAgICAgfQogCi0gICAgLy8gRmFz
dCB3YXkgb2YgZ2V0dGluZyB0aGUgc3RhdGUsIHdoaWNoIG9ubHkgd29ya3MgZnJvbSB0aGUgbWFp
biB0aHJlYWQuCi0gICAgV2F0Y2hwb2ludFN0YXRlIHN0YXRlT25KU1RocmVhZCgpIGNvbnN0Ci0g
ICAgewotICAgICAgICB1aW50cHRyX3QgZGF0YSA9IG1fZGF0YTsKLSAgICAgICAgaWYgKGlzRmF0
KGRhdGEpKQotICAgICAgICAgICAgcmV0dXJuIGZhdChkYXRhKS0+c3RhdGVPbkpTVGhyZWFkKCk7
Ci0gICAgICAgIHJldHVybiBkZWNvZGVTdGF0ZShkYXRhKTsKLSAgICB9Ci0KICAgICAvLyBJdCBp
cyBzYWZlIHRvIGNhbGwgdGhpcyBmcm9tIGFub3RoZXIgdGhyZWFkLiBJdCBtYXkgcmV0dXJuIGEg
cHJpb3Igc3RhdGUsCiAgICAgLy8gYnV0IHRoYXQgc2hvdWxkIGJlIGZpbmUgc2luY2UgeW91IHNo
b3VsZCBvbmx5IHBlcmZvcm0gYWN0aW9ucyBiYXNlZCBvbiB0aGUKICAgICAvLyBzdGF0ZSBpZiB5
b3UgYWxzbyBhZGQgYSB3YXRjaHBvaW50LgpAQCAtMTIwLDE0ICsxMTEsMTQgQEAgcHVibGljOgog
CiAgICAgdm9pZCBub3RpZnlXcml0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEpTQ2VsbFR5cGUq
IHZhbHVlLCBjb25zdCBGaXJlRGV0YWlsJiBkZXRhaWwpCiAgICAgewotICAgICAgICBpZiAoTElL
RUxZKHN0YXRlT25KU1RocmVhZCgpID09IElzSW52YWxpZGF0ZWQpKQorICAgICAgICBpZiAoTElL
RUxZKHN0YXRlKCkgPT0gSXNJbnZhbGlkYXRlZCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIG5vdGlmeVdyaXRlU2xvdyh2bSwgb3duZXIsIHZhbHVlLCBkZXRhaWwpOwogICAgIH0KICAg
ICAKICAgICB2b2lkIG5vdGlmeVdyaXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNDZWxsVHlw
ZSogdmFsdWUsIGNvbnN0IGNoYXIqIHJlYXNvbikKICAgICB7Ci0gICAgICAgIGlmIChMSUtFTFko
c3RhdGVPbkpTVGhyZWFkKCkgPT0gSXNJbnZhbGlkYXRlZCkpCisgICAgICAgIGlmIChMSUtFTFko
c3RhdGUoKSA9PSBJc0ludmFsaWRhdGVkKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
bm90aWZ5V3JpdGVTbG93KHZtLCBvd25lciwgdmFsdWUsIHJlYXNvbik7CiAgICAgfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZUlubGlu
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
QnVmZmVyUHJvdG90eXBlSW5saW5lcy5oCShyZXZpc2lvbiAyODQ2NTgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlSW5saW5lcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSwxNSArMzksMTUgQEAgQUxXQVlTX0lOTElORSBib29sIHNwZWNpZXNX
YXRjaHBvaW50SXNWYQogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzT2Jq
ZWN0LT5nbG9iYWxPYmplY3Qodm0pOwogICAgIGF1dG8qIHByb3RvdHlwZSA9IGdsb2JhbE9iamVj
dC0+YXJyYXlCdWZmZXJQcm90b3R5cGUobW9kZSk7CiAKLSAgICBpZiAoZ2xvYmFsT2JqZWN0LT5h
cnJheUJ1ZmZlclNwZWNpZXNXYXRjaHBvaW50U2V0KG1vZGUpLnN0YXRlT25KU1RocmVhZCgpID09
IENsZWFyV2F0Y2hwb2ludCkgeworICAgIGlmIChnbG9iYWxPYmplY3QtPmFycmF5QnVmZmVyU3Bl
Y2llc1dhdGNocG9pbnRTZXQobW9kZSkuc3RhdGUoKSA9PSBDbGVhcldhdGNocG9pbnQpIHsKICAg
ICAgICAgZGF0YUxvZ0xuSWYoSlNBcnJheUJ1ZmZlclByb3RvdHlwZUludGVybmFsOjp2ZXJib3Nl
LCAiSW5pdGlhbGl6aW5nIEFycmF5QnVmZmVyIHNwZWNpZXMgd2F0Y2hwb2ludHMgZm9yIEFycmF5
QnVmZmVyLnByb3RvdHlwZTogIiwgcG9pbnRlckR1bXAocHJvdG90eXBlKSwgIiB3aXRoIHN0cnVj
dHVyZTogIiwgcG9pbnRlckR1bXAocHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pKSwgIlxuYW5kIEFy
cmF5QnVmZmVyOiAiLCBwb2ludGVyRHVtcChnbG9iYWxPYmplY3QtPmFycmF5QnVmZmVyQ29uc3Ry
dWN0b3IobW9kZSkpLCAiIHdpdGggc3RydWN0dXJlOiAiLCBwb2ludGVyRHVtcChnbG9iYWxPYmpl
Y3QtPmFycmF5QnVmZmVyQ29uc3RydWN0b3IobW9kZSktPnN0cnVjdHVyZSh2bSkpKTsKICAgICAg
ICAgZ2xvYmFsT2JqZWN0LT50cnlJbnN0YWxsQXJyYXlCdWZmZXJTcGVjaWVzV2F0Y2hwb2ludCht
b2RlKTsKLSAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdC0+YXJyYXlCdWZmZXJTcGVjaWVzV2F0
Y2hwb2ludFNldChtb2RlKS5zdGF0ZU9uSlNUaHJlYWQoKSAhPSBDbGVhcldhdGNocG9pbnQpOwor
ICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0LT5hcnJheUJ1ZmZlclNwZWNpZXNXYXRjaHBvaW50
U2V0KG1vZGUpLnN0YXRlKCkgIT0gQ2xlYXJXYXRjaHBvaW50KTsKICAgICB9CiAKICAgICByZXR1
cm4gIXRoaXNPYmplY3QtPmhhc0N1c3RvbVByb3BlcnRpZXModm0pCiAgICAgICAgICYmIHByb3Rv
dHlwZSA9PSB0aGlzT2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3Qodm0pCi0gICAgICAgICYmIGds
b2JhbE9iamVjdC0+YXJyYXlCdWZmZXJTcGVjaWVzV2F0Y2hwb2ludFNldChtb2RlKS5zdGF0ZU9u
SlNUaHJlYWQoKSA9PSBJc1dhdGNoZWQ7CisgICAgICAgICYmIGdsb2JhbE9iamVjdC0+YXJyYXlC
dWZmZXJTcGVjaWVzV2F0Y2hwb2ludFNldChtb2RlKS5zdGF0ZSgpID09IElzV2F0Y2hlZDsKIH0K
IAogQUxXQVlTX0lOTElORSBzdGQ6Om9wdGlvbmFsPEpTVmFsdWU+IGFycmF5QnVmZmVyU3BlY2ll
c0NvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQXJyYXlCdWZmZXIq
IHRoaXNPYmplY3QsIEFycmF5QnVmZmVyU2hhcmluZ01vZGUgbW9kZSkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3BlcnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBv
aW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQuaAkocmV2aXNpb24gMjg0NjU4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvcGVydHlDaGFuZ2VBZGFwdGl2
ZVdhdGNocG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICwgbV9vd25lcihvd25lcikKICAgICAgICAgLCBtX3dhdGNocG9pbnRTZXQod2F0Y2hw
b2ludFNldCkKICAgICB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKHdhdGNocG9pbnRTZXQuc3Rh
dGVPbkpTVGhyZWFkKCkgPT0gSXNXYXRjaGVkKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQod2F0
Y2hwb2ludFNldC5zdGF0ZSgpID09IElzV2F0Y2hlZCk7CiAgICAgfQogCiBwcml2YXRlOgpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gMjg0NjU4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTAtMjEgIFNhYW0gQmFyYXRp
ICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgc29tZSBjb2RlIGFyb3Vu
ZCBjaGVja2luZyB0aGUgc3RhdGUgb2YgV2F0Y2hwb2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjExMQorCisgICAgICAgIFJldmlld2VkIGJ5
IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90
KToKKwogMjAyMS0xMC0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdCkgdW5kZXIgRm9ybVN1Ym1pc3Npb246OmNyZWF0ZSgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwCShyZXZpc2lvbiAyODQ2NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCw3ICsyMDQsNyBAQCBi
b29sIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPCiAgICAgICAgIHRoaXNPYmpl
Y3QtPm1fd2luZG93Q2xvc2VXYXRjaHBvaW50cyA9IFdhdGNocG9pbnRTZXQ6OmNyZWF0ZSh0aGlz
T2JqZWN0LT53cmFwcGVkKCkuZnJhbWUoKSA/IElzV2F0Y2hlZCA6IElzSW52YWxpZGF0ZWQpOwog
ICAgIC8vIFdlIHVzZSBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMgdG8gY2xlYXIgYW55IGlubGlu
ZSBjYWNoZXMgb25jZSB0aGUgZnJhbWUgaXMgY2xlYXJlZC4KICAgICAvLyBUaGlzIGlzIHNvdW5k
IGJlY2F1c2UgRE9NV2luZG93IGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggYXQgbW9zdCBvbmUgZnJh
bWUgaW4gaXRzIGxpZmV0aW1lLgotICAgIGlmICh0aGlzT2JqZWN0LT5tX3dpbmRvd0Nsb3NlV2F0
Y2hwb2ludHMtPmlzU3RpbGxWYWxpZE9uSlNUaHJlYWQoKSkKKyAgICBpZiAodGhpc09iamVjdC0+
bV93aW5kb3dDbG9zZVdhdGNocG9pbnRzLT5pc1N0aWxsVmFsaWQoKSkKICAgICAgICAgc2xvdC5z
ZXRXYXRjaHBvaW50U2V0KCp0aGlzT2JqZWN0LT5tX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMpOwog
CiAgICAgLy8gKDIpIFJlZ3VsYXIgb3duIHByb3BlcnRpZXMuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>