<?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>226154</bug_id>
          
          <creation_ts>2021-05-23 07:17:53 -0700</creation_ts>
          <short_desc>Remove ENABLE(MASM_PROBE) flag.</short_desc>
          <delta_ts>2021-05-23 14:47:16 -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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</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>1762907</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-05-23 07:17:53 -0700</bug_when>
    <thetext>The MacroAssembler::probe() mechanism is now available on all supported platforms.  There&apos;s no longer a need for the ENABLE(MASM_PROBE) flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762908</commentid>
    <comment_count>1</comment_count>
      <attachid>429462</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-05-23 07:21:15 -0700</bug_when>
    <thetext>Created attachment 429462
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762909</commentid>
    <comment_count>2</comment_count>
      <attachid>429463</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-05-23 07:36:16 -0700</bug_when>
    <thetext>Created attachment 429463
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762910</commentid>
    <comment_count>3</comment_count>
      <attachid>429464</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-05-23 08:01:04 -0700</bug_when>
    <thetext>Created attachment 429464
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762919</commentid>
    <comment_count>4</comment_count>
      <attachid>429464</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-05-23 11:23:51 -0700</bug_when>
    <thetext>Comment on attachment 429464
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762958</commentid>
    <comment_count>5</comment_count>
      <attachid>429464</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-05-23 14:10:01 -0700</bug_when>
    <thetext>Comment on attachment 429464
proposed patch.

Thanks for the review.  Landing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762962</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-23 14:46:47 -0700</bug_when>
    <thetext>Committed r277936 (238065@main): &lt;https://commits.webkit.org/238065@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429464.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762963</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-23 14:47:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/78373569&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429462</attachid>
            <date>2021-05-23 07:21:15 -0700</date>
            <delta_ts>2021-05-23 07:33:46 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-226154.patch</filename>
            <type>text/plain</type>
            <size>23206</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDIxLTA1LTIzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgRU5BQkxFKE1BU01fUFJPQkUpIGZsYWcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHA6Cisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmg6CisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTXY3LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcDoKKyAgICAgICAgKiBh
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmg6CisgICAgICAgICogYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6
OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvUHJvYmVDb250ZXh0LmNwcDoKKyAgICAgICAg
KiBhc3NlbWJsZXIvUHJvYmVDb250ZXh0Lmg6CisgICAgICAgICogYXNzZW1ibGVyL1Byb2JlRnJh
bWUuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvUHJvYmVTdGFjay5jcHA6CisgICAgICAgICogYXNz
ZW1ibGVyL1Byb2JlU3RhY2suaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgor
ICAgICAgICAoSlNDOjppc1NwZWNpYWxHUFIpOgorICAgICAgICAoSlNDOjp0ZXN0Q2xlYXJCaXRz
NjRXaXRoTWFzayk6CisgICAgICAgIChKU0M6OnRlc3RDbGVhckJpdHM2NFdpdGhNYXNrVGVybmFy
eSk6CisgICAgICAgIChKU0M6OnRlc3RTaGlmdEFuZEFkZCk6CisgICAgICAgIChKU0M6OnRlc3RQ
cm9iZU1vZGlmaWVzU3RhY2tWYWx1ZXMpOgorICAgICAgICAoSlNDOjpydW4pOgorICAgICAgICAq
IGIzL0IzTG93ZXJUb0Fpci5jcHA6CisgICAgICAgICogYjMvYWlyL0FpclByaW50U3BlY2lhbC5j
cHA6CisgICAgICAgICogYjMvYWlyL0FpclByaW50U3BlY2lhbC5oOgorICAgICAgICAqIGppdC9K
SVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKToKKyAgICAgICAgKiB0b29s
cy9KU0RvbGxhclZNLmNwcDoKKyAgICAgICAgKEpTQzo6Y2FsbFdpdGhTdGFja1NpemVQcm9iZUZ1
bmN0aW9uKToKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OX1dJVEhfQVRU
UklCVVRFUyk6CisKIDIwMjEtMDUtMjIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFVzZSBzaW5nbGV0b24gdGh1bmtzIGZvciB2aXJ0dWFsIGNhbGxzLgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5j
cHAJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDcsNyArNDcsNiBAQCB2b2lk
IE1hY3JvQXNzZW1ibGVyOjpqaXRBc3NlcnQoY29uc3QgU2NvCiAgICAgfQogfQogCi0jaWYgRU5B
QkxFKE1BU01fUFJPQkUpCiBzdGF0aWMgdm9pZCBzdGRGdW5jdGlvbkNhbGxiYWNrKFByb2JlOjpD
b250ZXh0JiBjb250ZXh0KQogewogICAgIGF1dG8gZnVuYyA9IGNvbnRleHQuYXJnPGNvbnN0IEZ1
bmN0aW9uPHZvaWQoUHJvYmU6OkNvbnRleHQmKT4qPigpOwpAQCAtNTksOCArNTgsNiBAQCB2b2lk
IE1hY3JvQXNzZW1ibGVyOjpwcm9iZURlYnVnKEZ1bmN0aW9uCiAgICAgcHJvYmUodGFnQ0Z1bmN0
aW9uPEpJVFByb2JlUHRyVGFnPihzdGRGdW5jdGlvbkNhbGxiYWNrKSwgbmV3IEZ1bmN0aW9uPHZv
aWQoUHJvYmU6OkNvbnRleHQmKT4oV1RGTW92ZShmdW5jKSkpOwogfQogCi0jZW5kaWYgLy8gRU5B
QkxFKE1BU01fUFJPQkUpCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyLmgJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc1LDE0ICs3NSwxMiBAQCBj
bGFzcyBTY29wZWRMYW1iZGE7CiAKIG5hbWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxFKE1BU01f
UFJPQkUpCiBuYW1lc3BhY2UgUHJvYmUgewogCiBjbGFzcyBDb250ZXh0OwogdHlwZWRlZiB2b2lk
ICgqRnVuY3Rpb24pKENvbnRleHQmKTsKIAogfSAvLyBuYW1lc3BhY2UgUHJvYmUKLSNlbmRpZiAv
LyBFTkFCTEUoTUFTTV9QUk9CRSkKIAogbmFtZXNwYWNlIFByaW50ZXIgewogCkBAIC0xOTI3LDcg
KzE5MjUsNiBAQCBwdWJsaWM6CiAgICAgLy8gSWYgdGhlIHJlc3VsdCBqdW1wIGlzIHRha2VuIHRo
YXQgbWVhbnMgdGhlIGFzc2VydCBwYXNzZWQuCiAgICAgdm9pZCBqaXRBc3NlcnQoY29uc3QgV1RG
OjpTY29wZWRMYW1iZGE8SnVtcCh2b2lkKT4mKTsKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQog
ICAgIC8vIFRoaXMgZnVuY3Rpb24gZW1pdHMgY29kZSB0byBwcmVzZXJ2ZSB0aGUgQ1BVU3RhdGUg
KGUuZy4gcmVnaXN0ZXJzKSwKICAgICAvLyBjYWxsIGEgdXNlciBzdXBwbGllZCBwcm9iZSBmdW5j
dGlvbiwgYW5kIHJlc3RvcmUgdGhlIENQVVN0YXRlIGJlZm9yZQogICAgIC8vIGNvbnRpbnVpbmcg
d2l0aCBvdGhlciBKSVQgZ2VuZXJhdGVkIGNvZGUuCkBAIC0xOTg4LDcgKzE5ODUsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwcmludChBcmd1bWVudHMmJi4uLiBhcmdzKTsKIAogICAgIHZvaWQgcHJp
bnQoUHJpbnRlcjo6UHJpbnRSZWNvcmRMaXN0Kik7Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJP
QkUpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAkocmV2aXNp
b24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTTY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTMtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM5LDggKzM5LDYgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLQogZXh0ZXJuICJDIiBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUsIHZvaWQsICgpKTsKIEpT
Q19BTk5PVEFURV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVJZCwgY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CiAKQEAgLTU4Nyw4ICs1ODUsNiBAQCB2b2lkIE1hY3JvQXNzZW1i
bGVyOjpwcm9iZShQcm9iZTo6RnVuY3RpCiAgICAgYWRkNjQoVHJ1c3RlZEltbTMyKHNpemVvZihM
UlJlc3RvcmF0aW9uUmVjb3JkKSksIHNwKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BS
T0JFKQotCiB2b2lkIE1hY3JvQXNzZW1ibGVyQVJNNjQ6OmNvbGxlY3RDUFVGZWF0dXJlcygpCiB7
CiAjaWYgT1MoTElOVVgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNdjcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAJKHJldmlzaW9uIDI3NzkzMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEz
LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEzLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0zMyw4ICszMyw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0j
aWYgRU5BQkxFKE1BU01fUFJPQkUpCi0KIGV4dGVybiAiQyIgSlNDX0RFQ0xBUkVfSklUX09QRVJB
VElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lLCB2b2lkLCAoKSk7CiBKU0NfQU5OT1RBVEVfSklU
X09QRVJBVElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lSWQsIGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOwogCkBAIC0zODYsNyArMzg0LDYgQEAgdm9pZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJv
YmU6OkZ1bmN0aQogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQq
PihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSksIGlwKTsKICAgICBtX2Fzc2VtYmxlci5ibHgoaXAp
OwogfQotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclBy
aW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclByaW50ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyUHJpbnRl
ci5oIgogCiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIAog
I2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCiAjaW5jbHVkZSA8aW50dHlwZXMuaD4KQEAgLTE4
Niw1ICsxODUsNCBAQCB2b2lkIHByaW50Q2FsbGJhY2soUHJvYmU6OkNvbnRleHQmIHByb2JlCiB9
IC8vIG5hbWVzcGFjZSBQcmludGVyCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVO
QUJMRShNQVNNX1BST0JFKQogI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUHJpbnRlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQ
cmludGVyLmgJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMyw3ICsz
Myw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCi0jaWYgRU5B
QkxFKE1BU01fUFJPQkUpCiAKIC8vIFdoYXQgaXMgTWFjcm9Bc3NlbWJsZXI6OnByaW50KCk/CiAv
LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yNDEsNyArMjQwLDYgQEAgaW5s
aW5lIHZvaWQgTWFjcm9Bc3NlbWJsZXI6OnByaW50KFByaW50ZQogICAgIHByb2JlKHRhZ0NGdW5j
dGlvbjxKSVRQcm9iZVB0clRhZz4oUHJpbnRlcjo6cHJpbnRDYWxsYmFjayksIHByaW50UmVjb3Jk
TGlzdCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKICNlbmRpZiAvLyBFTkFC
TEUoQVNTRU1CTEVSKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uY3BwCShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM3LDgg
KzM3LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLQog
ZXh0ZXJuICJDIiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmUsIHZvaWQsICgpKTsKIEpTQ19BTk5PVEFURV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmVJZCwgY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiAKQEAgLTc2Myw3ICs3NjEsNiBA
QCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6RnVuY3RpCiAgICAgbW92ZShUcnVz
dGVkSW1tUHRyKGFyZyksIFJlZ2lzdGVySUQ6OmVieCk7CiAgICAgY2FsbChSZWdpc3RlcklEOjpl
YXgsIENGdW5jdGlvblB0clRhZyk7CiB9Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAK
IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpDUFVJRCBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
Z2V0Q1BVSUQodW5zaWduZWQgbGV2ZWwpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL1Byb2JlQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuY3BwCShyZXZpc2lvbiAyNzc5MzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlQ29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlByb2Jl
Q29udGV4dC5oIgogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCi0KIG5hbWVzcGFjZSBKU0Mgewog
bmFtZXNwYWNlIFByb2JlIHsKIApAQCAtODQsNSArODIsMyBAQCB2b2lkKiBwcm9iZVN0YXRlRm9y
Q29udGV4dChDb250ZXh0JiBjb250CiAKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9IC8vIG5hbWVz
cGFjZSBKU0MKLQotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlQ29udGV4dC5oCShyZXZpc2lvbiAyNzc5
MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlQ29udGV4dC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTI4LDggKzI4LDYgQEAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgog
I2luY2x1ZGUgIlByb2JlU3RhY2suaCIKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQotCiBuYW1l
c3BhY2UgSlNDIHsKIG5hbWVzcGFjZSBQcm9iZSB7CiAKQEAgLTI0Nyw1ICsyNDUsMyBAQCB2b2lk
IGV4ZWN1dGVQcm9iZShTdGF0ZSopOwogCiB9IC8vIG5hbWVzcGFjZSBQcm9iZQogfSAvLyBuYW1l
c3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVGcmFtZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVGcmFtZS5oCShyZXZpc2lvbiAyNzc5MzAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlRnJhbWUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0yNSw4ICsyNSw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1BU01f
UFJPQkUpCi0KICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJQcm9iZVN0YWNrLmgi
CiAKQEAgLTkwLDUgKzg4LDMgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgUHJvYmUKIH0g
Ly8gbmFtZXNwYWNlIEpTQwotCi0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlU3RhY2suY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVTdGFjay5jcHAJKHJldmlz
aW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVTdGFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxNy0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjksOCArMjksNiBAQAogI2luY2x1ZGUgPG1lbW9yeT4KICNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLQog
bmFtZXNwYWNlIEpTQyB7CiBuYW1lc3BhY2UgUHJvYmUgewogCkBAIC0xNTYsNSArMTU0LDMgQEAg
dm9pZCogU3RhY2s6Omxvd1dhdGVybWFya0Zyb21WaXNpdGluZ0RpcgogCiB9IC8vIG5hbWVzcGFj
ZSBQcm9iZQogfSAvLyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9C
RSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVTdGFjay5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVTdGFjay5o
CShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1By
b2JlU3RhY2suaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDggKzMwLDYgQEAKICNpbmNsdWRlIDx3
dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCi0jaWYgRU5B
QkxFKE1BU01fUFJPQkUpCi0KIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgUHJvYmUgewpA
QCAtMjE4LDUgKzIxNiwzIEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9IC8v
IG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAJKHJldmlzaW9uIDI3
NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDYgQEAgc3RhdGljIFZlY3RvcjxpbnQ2NF90PiBp
bnQ2NE9wZXJhbmRzKCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiBuYW1l
c3BhY2UgV1RGIHsKIAogc3RhdGljIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCB2b2lkKiB2YWx1ZSkKQEAgLTEzOSw3ICsxMzgsNiBAQCBzdGF0aWMgdm9pZCBwcmludEludGVy
bmFsKFByaW50U3RyZWFtJiBvCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdURgotI2VuZGlmIC8vIEVO
QUJMRShNQVNNX1BST0JFKQogCiBuYW1lc3BhY2UgSlNDIHsKIG5hbWVzcGFjZSBQcm9iZSB7CkBA
IC0xNTMsOSArMTUxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIHsKIAot
I2lmIEVOQUJMRShNQVNNX1BST0JFKQogdXNpbmcgQ1BVU3RhdGUgPSBQcm9iZTo6Q1BVU3RhdGU7
Ci0jZW5kaWYKIAogTG9jayBjcmFzaExvY2s7CiAKQEAgLTE5NCw3ICsxOTAsNiBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBUIG5leHRJRChUIGlkKSB7IHJlCiAgICAgICAgIENSQVNIKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg
fSB3aGlsZSAoZmFsc2UpCiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIGJvb2wgaXNQQyhNYWNy
b0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRCBpZCkKIHsKICNpZiBDUFUoQVJNX1RIVU1CMikKQEAgLTIy
OCw3ICsyMjMsNiBAQCBib29sIGlzU3BlY2lhbEdQUihNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0CiAj
ZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUp
CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKU0VudHJ5UHRyVGFnPiBjb21waWxlKEdlbmVyYXRv
ciYmIGdlbmVyYXRlKQogewpAQCAtNTE3LDcgKzUxMSw2IEBAIHZvaWQgdGVzdENsZWFyQml0czY0
V2l0aE1hc2soKQogICAgICAgICBDSEVDS19FUShpbnZva2U8dWludDY0X3Q+KHRlc3QsIHdvcmQs
IHZhbHVlKSwgMCk7CiAgICAgfQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAgICAgdWludDY0
X3Qgc2F2ZWRNYXNrID0gMDsKICAgICBhdXRvIHRlc3QyID0gY29tcGlsZShbJl0gKENDYWxsSGVs
cGVycyYgaml0KSB7CiAgICAgICAgIGVtaXRGdW5jdGlvblByb2xvZ3VlKGppdCk7CkBAIC01NDYs
NyArNTM5LDYgQEAgdm9pZCB0ZXN0Q2xlYXJCaXRzNjRXaXRoTWFzaygpCiAgICAgICAgIHVpbnQ2
NF90IHdvcmQgPSAwOwogICAgICAgICBDSEVDS19FUShpbnZva2U8dWludDY0X3Q+KHRlc3QyLCB3
b3JkLCB2YWx1ZSksIDApOwogICAgIH0KLSNlbmRpZgogfQogCiB2b2lkIHRlc3RDbGVhckJpdHM2
NFdpdGhNYXNrVGVybmFyeSgpCkBAIC01NzIsNyArNTY0LDYgQEAgdm9pZCB0ZXN0Q2xlYXJCaXRz
NjRXaXRoTWFza1Rlcm5hcnkoKQogICAgICAgICBDSEVDS19FUShpbnZva2U8dWludDY0X3Q+KHRl
c3QsIHdvcmQsIHZhbHVlKSwgMCk7CiAgICAgfQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAg
ICAgdWludDY0X3Qgc2F2ZWRNYXNrID0gMDsKICAgICBhdXRvIHRlc3QyID0gY29tcGlsZShbJl0g
KENDYWxsSGVscGVycyYgaml0KSB7CiAgICAgICAgIGVtaXRGdW5jdGlvblByb2xvZ3VlKGppdCk7
CkBAIC02MDMsNyArNTk0LDYgQEAgdm9pZCB0ZXN0Q2xlYXJCaXRzNjRXaXRoTWFza1Rlcm5hcnko
KQogICAgICAgICB1aW50NjRfdCB3b3JkID0gMDsKICAgICAgICAgQ0hFQ0tfRVEoaW52b2tlPHVp
bnQ2NF90Pih0ZXN0Miwgd29yZCwgdmFsdWUpLCAwKTsKICAgICB9Ci0jZW5kaWYKIH0KIAogc3Rh
dGljIHZvaWQgdGVzdENvdW50VHJhaWxpbmdaZXJvczY0SW1wbChib29sIHdvcmRDYW5CZVplcm8p
CkBAIC02OTYsMTQgKzY4NiwxMiBAQCB2b2lkIHRlc3RTaGlmdEFuZEFkZCgpCiAgICAgICAgICAg
ICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYml0d2lzZV9jYXN0PHZvaWQq
PihpbmRleCkpLCBpbmRleEdQUik7CiAgICAgICAgICAgICBqaXQuc2hpZnRBbmRBZGQoYmFzZUdQ
UiwgaW5kZXhHUFIsIHNoaWZ0LCBkZXN0R1BSKTsKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQog
ICAgICAgICAgICAgaml0LnByb2JlRGVidWcoWz1dIChQcm9iZTo6Q29udGV4dCYgY29udGV4dCkg
ewogICAgICAgICAgICAgICAgIGlmIChiYXNlUmVnICE9IGRlc3RSZWcpCiAgICAgICAgICAgICAg
ICAgICAgIENIRUNLX0VRKGNvbnRleHQuZ3ByPGludHB0cl90PihiYXNlR1BSKSwgYmFzZVBvaW50
ZXIpOwogICAgICAgICAgICAgICAgIGlmIChpbmRleFJlZyAhPSBkZXN0UmVnKQogICAgICAgICAg
ICAgICAgICAgICBDSEVDS19FUShjb250ZXh0LmdwcjxpbnRwdHJfdD4oaW5kZXhHUFIpLCBpbmRl
eCk7CiAgICAgICAgICAgICB9KTsKLSNlbmRpZgogICAgICAgICAgICAgaml0Lm1vdmUoZGVzdEdQ
UiwgR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpOwogCiAgICAgICAgICAgICBqaXQucG9wUGFpcihz
Y3JhdGNoR1BSLCBHUFJJbmZvOjphcmd1bWVudEdQUjMpOwpAQCAtMTc0MCw3ICsxNzI4LDYgQEAg
dm9pZCB0ZXN0TW92ZURvdWJsZUNvbmRpdGlvbmFsbHlGbG9hdFNhbQogCiAjZW5kaWYgLy8gQ1BV
KFg4Nl82NCkgfHwgQ1BVKEFSTTY0KQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiB2b2lkIHRl
c3RQcm9iZVJlYWRzQXJndW1lbnRSZWdpc3RlcnMoKQogewogICAgIGJvb2wgcHJvYmVXYXNDYWxs
ZWQgPSBmYWxzZTsKQEAgLTIyNTQsNyArMjI0MSw2IEBAIHZvaWQgdGVzdFByb2JlTW9kaWZpZXNT
dGFja1ZhbHVlcygpCiAKICAgICBDSEVDS19FUShwcm9iZUNhbGxDb3VudCwgMyk7CiB9Ci0jZW5k
aWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKIHZvaWQgdGVzdE9ySW1tTWVtKCkKIHsKQEAgLTI2
ODcsNyArMjY3Myw2IEBAIHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikKICAgICBGT1JfRUFD
SF9ET1VCTEVfQ09ORElUSU9OX1JVTih0ZXN0TW92ZURvdWJsZUNvbmRpdGlvbmFsbHlGbG9hdFNh
bWVBcmcpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKICAgICBSVU4odGVzdFBy
b2JlUmVhZHNBcmd1bWVudFJlZ2lzdGVycygpKTsKICAgICBSVU4odGVzdFByb2JlV3JpdGVzQXJn
dW1lbnRSZWdpc3RlcnMoKSk7CiAgICAgUlVOKHRlc3RQcm9iZVByZXNlcnZlc0dQUlMoKSk7CkBA
IC0yNjk1LDcgKzI2ODAsNiBAQCB2b2lkIHJ1bihjb25zdCBjaGFyKiBmaWx0ZXIpCiAgICAgUlVO
KHRlc3RQcm9iZU1vZGlmaWVzU3RhY2tQb2ludGVyVG9OQnl0ZXNCZWxvd1NQKCkpOwogICAgIFJV
Tih0ZXN0UHJvYmVNb2RpZmllc1Byb2dyYW1Db3VudGVyKCkpOwogICAgIFJVTih0ZXN0UHJvYmVN
b2RpZmllc1N0YWNrVmFsdWVzKCkpOwotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCiAg
ICAgUlVOKHRlc3RCeXRlU3dhcCgpKTsKICAgICBSVU4odGVzdE1vdmVEb3VibGVDb25kaXRpb25h
bGx5MzIoKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNw
cAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJU
b0Fpci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNzUsNyArMTE3NSw2IEBAIHByaXZhdGU6CiAg
ICAgICAgIGFwcGVuZChjcmVhdGVTdG9yZShraW5kLCBtZW1vcnktPmNoaWxkKDApLCBkZXN0KSk7
CiAgICAgfQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUu
Li4gQXJndW1lbnRzPgogICAgIHZvaWQgcHJpbnQoQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQog
ICAgIHsKQEAgLTExOTIsNyArMTE5MSw2IEBAIHByaXZhdGU6CiAgICAgICAgIFByaW50ZXI6OmFw
cGVuZEFpckFyZ3MoaW5zdCwgc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLik7
CiAgICAgICAgIGFwcGVuZChXVEZNb3ZlKGluc3QpKTsKICAgICB9Ci0jZW5kaWYgLy8gRU5BQkxF
KE1BU01fUFJPQkUpCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAg
dm9pZCBhcHBlbmQoQWlyOjpLaW5kIGtpbmQsIEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyUHJpbnRTcGVjaWFsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclByaW50U3BlY2lhbC5j
cHAJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWly
UHJpbnRTcGVjaWFsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1
ZGUgIkFpclByaW50U3BlY2lhbC5oIgogCiAjaWYgRU5BQkxFKEIzX0pJVCkKLSNpZiBFTkFCTEUo
TUFTTV9QUk9CRSkKIAogI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgogI2luY2x1ZGUgIk1hY3Jv
QXNzZW1ibGVyUHJpbnRlci5oIgpAQCAtMTI2LDUgKzEyNSw0IEBAIE5PX1JFVFVSTiB2b2lkIHBy
aW50QWlyQXJnKFByaW50U3RyZWFtJiwKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAv
LyBFTkFCTEUoTUFTTV9QUk9CRSkKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQcmludFNwZWNpYWwuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclByaW50U3BlY2lhbC5oCShyZXZpc2lv
biAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclByaW50U3BlY2lh
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw2IEBACiAjcHJhZ21hIG9uY2UKIAogI2lm
IEVOQUJMRShCM19KSVQpCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAKICNpbmNsdWRlICJBaXJJ
bnN0LmgiCiAjaW5jbHVkZSAiQWlyU3BlY2lhbC5oIgpAQCAtMTMxLDUgKzEzMCw0IEBAIHByaXZh
dGU6CiAKIH0gfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkIzOjpBaXIKIAotI2VuZGlmIC8vIEVOQUJM
RShNQVNNX1BST0JFKQogI2VuZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3MCwxNCArMjcwLDEyIEBAIHZvaWQg
SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgICAgIHVwZGF0ZVRvcENhbGxG
cmFtZSgpOwogCiAgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gbV9ieXRlY29kZUlu
ZGV4Lm9mZnNldCgpOwotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogICAgICAgICBpZiAoVU5MSUtF
TFkoT3B0aW9uczo6dHJhY2VCYXNlbGluZUpJVEV4ZWN1dGlvbigpKSkgewogICAgICAgICAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2sgPSBtX2NvZGVCbG9jazsKICAgICAgICAgICAgIHByb2JlRGVi
dWcoWz1dIChQcm9iZTo6Q29udGV4dCYgY3R4KSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZ0xu
KCJKSVQgWyIsIGJ5dGVjb2RlT2Zmc2V0LCAiXSAiLCBvcGNvZGVOYW1lc1tvcGNvZGVJRF0sICIg
Y2ZyICIsIFJhd1BvaW50ZXIoY3R4LmZwKCkpLCAiIEAgIiwgY29kZUJsb2NrKTsKICAgICAgICAg
ICAgIH0pOwogICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICBzd2l0Y2ggKG9wY29kZUlEKSB7
CiAgICAgICAgIERFRklORV9TTE9XX09QKGluX2J5X3ZhbCkKQEAgLTUzMyw3ICs1MzEsNiBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogICAgICAgICBpZiAobV9kaXNhc3Nl
bWJsZXIpCiAgICAgICAgICAgICBtX2Rpc2Fzc2VtYmxlci0+c2V0Rm9yQnl0ZWNvZGVTbG93UGF0
aChtX2J5dGVjb2RlSW5kZXgub2Zmc2V0KCksIGxhYmVsKCkpOwogCi0jaWYgRU5BQkxFKE1BU01f
UFJPQkUpCiAgICAgICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjp0cmFjZUJhc2VsaW5lSklURXhl
Y3V0aW9uKCkpKSB7CiAgICAgICAgICAgICBPcGNvZGVJRCBvcGNvZGVJRCA9IGN1cnJlbnRJbnN0
cnVjdGlvbi0+b3Bjb2RlSUQoKTsKICAgICAgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0
ID0gbV9ieXRlY29kZUluZGV4Lm9mZnNldCgpOwpAQCAtNTQyLDcgKzUzOSw2IEBAIHZvaWQgSklU
Ojpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcygpCiAgICAgICAgICAgICAgICAgZGF0YUxvZ0xuKCJK
SVQgWyIsIGJ5dGVjb2RlT2Zmc2V0LCAiXSBTTE9XICIsIG9wY29kZU5hbWVzW29wY29kZUlEXSwg
IiBjZnIgIiwgUmF3UG9pbnRlcihjdHguZnAoKSksICIgQCAiLCBjb2RlQmxvY2spOwogICAgICAg
ICAgICAgfSk7CiAgICAgICAgIH0KLSNlbmRpZgogCiAgICAgICAgIHN3aXRjaCAoY3VycmVudElu
c3RydWN0aW9uLT5vcGNvZGVJRCgpKSB7CiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9h
ZGQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3BwCShy
ZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdG9vbHMvSlNEb2xsYXJW
TS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2MTMsNyArMjYxMyw2IEBAIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihmdW5jdGlvbklzSGF2aW4KIC8vIG9wdGlvbnMgYXJlIG5vdCBmcm96ZW4uIEZv
ciB0aGUganNjIHNoZWxsLCB0aGUgLS1kaXNhYmxlT3B0aW9uc0ZyZWV6aW5nRm9yVGVzdGluZwog
Ly8gYXJndW1lbnQgbmVlZHMgdG8gYmUgcGFzc2VkIGluIG9uIHRoZSBjb21tYW5kIGxpbmUuCiAK
LSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIHN0YXRpYyB2b2lkIGNhbGxXaXRoU3RhY2tTaXplUHJv
YmVGdW5jdGlvbihQcm9iZTo6U3RhdGUqIHN0YXRlKQogewogICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSBiaXR3aXNlX2Nhc3Q8SlNHbG9iYWxPYmplY3QqPihzdGF0ZS0+YXJnKTsK
QEAgLTI2MzEsNyArMjYzMCw2IEBAIHN0YXRpYyB2b2lkIGNhbGxXaXRoU3RhY2tTaXplUHJvYmVG
dW5jdGkKICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOwogICAgIGNhbGwoZ2xvYmFsT2Jq
ZWN0LCBmdW5jdGlvbiwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCksIGFyZ3MpOwogfQotI2VuZGlm
IC8vIEVOQUJMRShNQVNNX1BST0JFKQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT05fV0lUSF9B
VFRSSUJVVEVTKGZ1bmN0aW9uQ2FsbFdpdGhTdGFja1NpemUsIFNVUFBSRVNTX0FTQU4sIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CkBAIC0y
NjQ5LDcgKzI2NDcsNiBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT05fV0lUSF9BVFRSSUJVVEVT
CiAgICAgaWYgKCFpc1N1cHBvcnRlZEJ5UGxhdGZvcm0pCiAgICAgICAgIHJldHVybiB0aHJvd1ZN
RXJyb3IoZ2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCAiTm90IHN1cHBvcnRlZCBmb3IgdGhpcyBw
bGF0Zm9ybSIpOwogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAgICAgaWYgKGdfanNjQ29uZmln
LmlzUGVybWFuZW50bHlGcm96ZW4oKSB8fCAhZ19qc2NDb25maWcuZGlzYWJsZWRGcmVlemluZ0Zv
clRlc3RpbmcpCiAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZ2xvYmFsT2JqZWN0LCB0aHJv
d1Njb3BlLCAiT3B0aW9ucyBhcmUgZnJvemVuIik7CiAKQEAgLTI3MjAsMTEgKzI3MTcsNiBAQCBK
U0NfREVGSU5FX0hPU1RfRlVOQ1RJT05fV0lUSF9BVFRSSUJVVEVTCiAKICAgICB0aHJvd1Njb3Bl
LnJlbGVhc2UoKTsKICAgICByZXR1cm4gZW5jb2RlZEpTVW5kZWZpbmVkKCk7Ci0KLSNlbHNlIC8v
IG5vdCBFTkFCTEUoTUFTTV9QUk9CRSkKLSAgICBVTlVTRURfUEFSQU0oY2FsbEZyYW1lKTsKLSAg
ICByZXR1cm4gdGhyb3dWTUVycm9yKGdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgIk5vdCBzdXBw
b3J0ZWQgZm9yIHRoaXMgcGxhdGZvcm0iKTsKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkK
IH0KIAogLy8gQ3JlYXRlcyBhIG5ldyBnbG9iYWwgb2JqZWN0LgpJbmRleDogU291cmNlL1dURi9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3
NzkzMCkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjEtMDUtMjMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbW92ZSBFTkFCTEUoTUFTTV9QUk9CRSkgZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjE1NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBt
ZWNoYW5pc20gaXMgbm93IGF2YWlsYWJsZSBvbiBhbGwgc3VwcG9ydGVkIHBsYXRmb3Jtcy4KKyAg
ICAgICAgVGhlcmUncyBubyBsb25nZXIgYSBuZWVkIGZvciB0aGUgRU5BQkxFKE1BU01fUFJPQkUp
IGZsYWcuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKwogMjAyMS0wNS0yMyAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4IGZvciBK
U0NPbmx5LUxpbnV4LUFBcmNoNjQgYm90LgpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCShy
ZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NjUsMTQgKzY2NSw5IEBACiAjZGVmaW5lIEVOQUJMRV9GQVNUX1RMU19K
SVQgMQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoSklUKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82
NCkgfHwgQ1BVKEFSTV9USFVNQjIpIHx8IENQVShBUk02NCkgfHwgQ1BVKE1JUFMpKQotI2RlZmlu
ZSBFTkFCTEVfTUFTTV9QUk9CRSAxCi0jZW5kaWYKLQogLyogRklYTUU6IFRoaXMgc2hvdWxkIGJl
IHR1cm5lZCBpbnRvIGFuICNlcnJvciBpbnZhcmlhbnQgKi8KLS8qIElmIHRoZSBiYXNlbGluZSBq
aXQgaXMgbm90IGF2YWlsYWJsZSwgdGhlbiBkaXNhYmxlIHVwcGVyIHRpZXJzIGFzIHdlbGwuCi0g
ICBUaGUgTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaXMgYWxzbyByZXF1aXJlZCBmb3Igc3VwcG9y
dGluZyB0aGUgdXBwZXIgdGllcnMuICovCi0jaWYgIUVOQUJMRShKSVQpIHx8ICFFTkFCTEUoTUFT
TV9QUk9CRSkKKy8qIElmIHRoZSBiYXNlbGluZSBqaXQgaXMgbm90IGF2YWlsYWJsZSwgdGhlbiBk
aXNhYmxlIHVwcGVyIHRpZXJzIGFzIHdlbGwuICovCisjaWYgIUVOQUJMRShKSVQpCiAjdW5kZWYg
RU5BQkxFX0RGR19KSVQKICN1bmRlZiBFTkFCTEVfRlRMX0pJVAogI2RlZmluZSBFTkFCTEVfREZH
X0pJVCAwCg==
</data>
<flag name="commit-queue"
          id="450652"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429463</attachid>
            <date>2021-05-23 07:36:16 -0700</date>
            <delta_ts>2021-05-23 08:01:04 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-226154.patch</filename>
            <type>text/plain</type>
            <size>23564</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDIxLTA1LTIzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgRU5BQkxFKE1BU01fUFJPQkUpIGZsYWcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHA6Cisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmg6CisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTXY3LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcDoKKyAgICAgICAgKiBh
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmg6CisgICAgICAgICogYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6
OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvUHJvYmVDb250ZXh0LmNwcDoKKyAgICAgICAg
KiBhc3NlbWJsZXIvUHJvYmVDb250ZXh0Lmg6CisgICAgICAgICogYXNzZW1ibGVyL1Byb2JlRnJh
bWUuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvUHJvYmVTdGFjay5jcHA6CisgICAgICAgICogYXNz
ZW1ibGVyL1Byb2JlU3RhY2suaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgor
ICAgICAgICAoSlNDOjppc1NwZWNpYWxHUFIpOgorICAgICAgICAoSlNDOjp0ZXN0Q2xlYXJCaXRz
NjRXaXRoTWFzayk6CisgICAgICAgIChKU0M6OnRlc3RDbGVhckJpdHM2NFdpdGhNYXNrVGVybmFy
eSk6CisgICAgICAgIChKU0M6OnRlc3RTaGlmdEFuZEFkZCk6CisgICAgICAgIChKU0M6OnRlc3RQ
cm9iZU1vZGlmaWVzU3RhY2tWYWx1ZXMpOgorICAgICAgICAoSlNDOjpydW4pOgorICAgICAgICAq
IGIzL0IzTG93ZXJUb0Fpci5jcHA6CisgICAgICAgICogYjMvYWlyL0FpclByaW50U3BlY2lhbC5j
cHA6CisgICAgICAgICogYjMvYWlyL0FpclByaW50U3BlY2lhbC5oOgorICAgICAgICAqIGppdC9K
SVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAg
ICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKToKKyAgICAgICAgKiB0b29s
cy9KU0RvbGxhclZNLmNwcDoKKyAgICAgICAgKEpTQzo6Y2FsbFdpdGhTdGFja1NpemVQcm9iZUZ1
bmN0aW9uKToKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OX1dJVEhfQVRU
UklCVVRFUyk6CisKIDIwMjEtMDUtMjIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFVzZSBzaW5nbGV0b24gdGh1bmtzIGZvciB2aXJ0dWFsIGNhbGxzLgpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5j
cHAJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDcsNyArNDcsNiBAQCB2b2lk
IE1hY3JvQXNzZW1ibGVyOjpqaXRBc3NlcnQoY29uc3QgU2NvCiAgICAgfQogfQogCi0jaWYgRU5B
QkxFKE1BU01fUFJPQkUpCiBzdGF0aWMgdm9pZCBzdGRGdW5jdGlvbkNhbGxiYWNrKFByb2JlOjpD
b250ZXh0JiBjb250ZXh0KQogewogICAgIGF1dG8gZnVuYyA9IGNvbnRleHQuYXJnPGNvbnN0IEZ1
bmN0aW9uPHZvaWQoUHJvYmU6OkNvbnRleHQmKT4qPigpOwpAQCAtNTksOCArNTgsNiBAQCB2b2lk
IE1hY3JvQXNzZW1ibGVyOjpwcm9iZURlYnVnKEZ1bmN0aW9uCiAgICAgcHJvYmUodGFnQ0Z1bmN0
aW9uPEpJVFByb2JlUHRyVGFnPihzdGRGdW5jdGlvbkNhbGxiYWNrKSwgbmV3IEZ1bmN0aW9uPHZv
aWQoUHJvYmU6OkNvbnRleHQmKT4oV1RGTW92ZShmdW5jKSkpOwogfQogCi0jZW5kaWYgLy8gRU5B
QkxFKE1BU01fUFJPQkUpCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyLmgJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc1LDE0ICs3NSwxMiBAQCBj
bGFzcyBTY29wZWRMYW1iZGE7CiAKIG5hbWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxFKE1BU01f
UFJPQkUpCiBuYW1lc3BhY2UgUHJvYmUgewogCiBjbGFzcyBDb250ZXh0OwogdHlwZWRlZiB2b2lk
ICgqRnVuY3Rpb24pKENvbnRleHQmKTsKIAogfSAvLyBuYW1lc3BhY2UgUHJvYmUKLSNlbmRpZiAv
LyBFTkFCTEUoTUFTTV9QUk9CRSkKIAogbmFtZXNwYWNlIFByaW50ZXIgewogCkBAIC0xOTI3LDcg
KzE5MjUsNiBAQCBwdWJsaWM6CiAgICAgLy8gSWYgdGhlIHJlc3VsdCBqdW1wIGlzIHRha2VuIHRo
YXQgbWVhbnMgdGhlIGFzc2VydCBwYXNzZWQuCiAgICAgdm9pZCBqaXRBc3NlcnQoY29uc3QgV1RG
OjpTY29wZWRMYW1iZGE8SnVtcCh2b2lkKT4mKTsKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQog
ICAgIC8vIFRoaXMgZnVuY3Rpb24gZW1pdHMgY29kZSB0byBwcmVzZXJ2ZSB0aGUgQ1BVU3RhdGUg
KGUuZy4gcmVnaXN0ZXJzKSwKICAgICAvLyBjYWxsIGEgdXNlciBzdXBwbGllZCBwcm9iZSBmdW5j
dGlvbiwgYW5kIHJlc3RvcmUgdGhlIENQVVN0YXRlIGJlZm9yZQogICAgIC8vIGNvbnRpbnVpbmcg
d2l0aCBvdGhlciBKSVQgZ2VuZXJhdGVkIGNvZGUuCkBAIC0xOTg4LDcgKzE5ODUsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwcmludChBcmd1bWVudHMmJi4uLiBhcmdzKTsKIAogICAgIHZvaWQgcHJp
bnQoUHJpbnRlcjo6UHJpbnRSZWNvcmRMaXN0Kik7Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJP
QkUpCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAkocmV2aXNp
b24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTTY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTMtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM5LDggKzM5LDYgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLQogZXh0ZXJuICJDIiBKU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUsIHZvaWQsICgpKTsKIEpT
Q19BTk5PVEFURV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVJZCwgY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CiAKQEAgLTU4Nyw4ICs1ODUsNiBAQCB2b2lkIE1hY3JvQXNzZW1i
bGVyOjpwcm9iZShQcm9iZTo6RnVuY3RpCiAgICAgYWRkNjQoVHJ1c3RlZEltbTMyKHNpemVvZihM
UlJlc3RvcmF0aW9uUmVjb3JkKSksIHNwKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BS
T0JFKQotCiB2b2lkIE1hY3JvQXNzZW1ibGVyQVJNNjQ6OmNvbGxlY3RDUFVGZWF0dXJlcygpCiB7
CiAjaWYgT1MoTElOVVgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNdjcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAJKHJldmlzaW9uIDI3NzkzMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEz
LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEzLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0zMyw4ICszMyw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0j
aWYgRU5BQkxFKE1BU01fUFJPQkUpCi0KIGV4dGVybiAiQyIgSlNDX0RFQ0xBUkVfSklUX09QRVJB
VElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lLCB2b2lkLCAoKSk7CiBKU0NfQU5OT1RBVEVfSklU
X09QRVJBVElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lSWQsIGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOwogCkBAIC0zODYsNyArMzg0LDYgQEAgdm9pZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJv
YmU6OkZ1bmN0aQogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQq
PihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSksIGlwKTsKICAgICBtX2Fzc2VtYmxlci5ibHgoaXAp
OwogfQotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclBy
aW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclByaW50ZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyUHJpbnRl
ci5oIgogCiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIAog
I2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCiAjaW5jbHVkZSA8aW50dHlwZXMuaD4KQEAgLTE4
Niw1ICsxODUsNCBAQCB2b2lkIHByaW50Q2FsbGJhY2soUHJvYmU6OkNvbnRleHQmIHByb2JlCiB9
IC8vIG5hbWVzcGFjZSBQcmludGVyCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVO
QUJMRShNQVNNX1BST0JFKQogI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUHJpbnRlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQ
cmludGVyLmgJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMyw3ICsz
Myw2IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCi0jaWYgRU5B
QkxFKE1BU01fUFJPQkUpCiAKIC8vIFdoYXQgaXMgTWFjcm9Bc3NlbWJsZXI6OnByaW50KCk/CiAv
LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yNDEsNyArMjQwLDYgQEAgaW5s
aW5lIHZvaWQgTWFjcm9Bc3NlbWJsZXI6OnByaW50KFByaW50ZQogICAgIHByb2JlKHRhZ0NGdW5j
dGlvbjxKSVRQcm9iZVB0clRhZz4oUHJpbnRlcjo6cHJpbnRDYWxsYmFjayksIHByaW50UmVjb3Jk
TGlzdCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKICNlbmRpZiAvLyBFTkFC
TEUoQVNTRU1CTEVSKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uY3BwCShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM3LDgg
KzM3LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLQog
ZXh0ZXJuICJDIiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmUsIHZvaWQsICgpKTsKIEpTQ19BTk5PVEFURV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmVJZCwgY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiAKQEAgLTc2Myw3ICs3NjEsNiBA
QCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6RnVuY3RpCiAgICAgbW92ZShUcnVz
dGVkSW1tUHRyKGFyZyksIFJlZ2lzdGVySUQ6OmVieCk7CiAgICAgY2FsbChSZWdpc3RlcklEOjpl
YXgsIENGdW5jdGlvblB0clRhZyk7CiB9Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAK
IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpDUFVJRCBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
Z2V0Q1BVSUQodW5zaWduZWQgbGV2ZWwpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL1Byb2JlQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuY3BwCShyZXZpc2lvbiAyNzc5MzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlQ29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlByb2Jl
Q29udGV4dC5oIgogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCisjaWYgRU5BQkxFKEFTU0VNQkxF
UikKIAogbmFtZXNwYWNlIEpTQyB7CiBuYW1lc3BhY2UgUHJvYmUgewpAQCAtODUsNCArODUsNCBA
QCB2b2lkKiBwcm9iZVN0YXRlRm9yQ29udGV4dChDb250ZXh0JiBjb250CiB9IC8vIG5hbWVzcGFj
ZSBQcm9iZQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9C
RSkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlQ29udGV4dC5oCShyZXZpc2lvbiAyNzc5MzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlQ29udGV4dC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlci5oIgogI2luY2x1ZGUg
IlByb2JlU3RhY2suaCIKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQorI2lmIEVOQUJMRShBU1NF
TUJMRVIpCiAKIG5hbWVzcGFjZSBKU0MgewogbmFtZXNwYWNlIFByb2JlIHsKQEAgLTI0OCw0ICsy
NDgsNCBAQCB2b2lkIGV4ZWN1dGVQcm9iZShTdGF0ZSopOwogfSAvLyBuYW1lc3BhY2UgUHJvYmUK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCisjZW5k
aWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvUHJvYmVGcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvUHJvYmVGcmFtZS5oCShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlRnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCisjaWYgRU5BQkxF
KEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlByb2JlU3Rh
Y2suaCIKQEAgLTkxLDQgKzkxLDQgQEAgcHJpdmF0ZToKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQorI2VuZGlm
IC8vIEVOQUJMRShBU1NFTUJMRVIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL1Byb2JlU3RhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvUHJvYmVTdGFjay5jcHAJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVTdGFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNyAr
MjksNyBAQAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiBuYW1l
c3BhY2UgSlNDIHsKIG5hbWVzcGFjZSBQcm9iZSB7CkBAIC0xNTcsNCArMTU3LDQgQEAgdm9pZCog
U3RhY2s6Omxvd1dhdGVybWFya0Zyb21WaXNpdGluZ0RpcgogfSAvLyBuYW1lc3BhY2UgUHJvYmUK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCisjZW5k
aWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvUHJvYmVTdGFjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvUHJvYmVTdGFjay5oCShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlU3RhY2suaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDcg
KzMwLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZGluZy5oPgogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCisjaWYgRU5BQkxFKEFTU0VNQkxF
UikKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTIxOSw0ICsyMTksNCBAQCBwcml2YXRlOgogfSAv
LyBuYW1lc3BhY2UgUHJvYmUKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxF
KE1BU01fUFJPQkUpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCShyZXZpc2lvbiAyNzc5MzAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMwLDcgKzEzMCw2IEBAIHN0YXRpYyBWZWN0b3I8aW50NjRfdD4gaW50NjRP
cGVyYW5kcygpCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogbmFtZXNwYWNl
IFdURiB7CiAKIHN0YXRpYyB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgdm9p
ZCogdmFsdWUpCkBAIC0xMzksNyArMTM4LDYgQEAgc3RhdGljIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYgbwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVEYKLSNlbmRpZiAvLyBFTkFCTEUo
TUFTTV9QUk9CRSkKIAogbmFtZXNwYWNlIEpTQyB7CiBuYW1lc3BhY2UgUHJvYmUgewpAQCAtMTUz
LDkgKzE1MSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSB7CiAKLSNpZiBF
TkFCTEUoTUFTTV9QUk9CRSkKIHVzaW5nIENQVVN0YXRlID0gUHJvYmU6OkNQVVN0YXRlOwotI2Vu
ZGlmCiAKIExvY2sgY3Jhc2hMb2NrOwogCkBAIC0xOTQsNyArMTkwLDYgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gVCBuZXh0SUQoVCBpZCkgeyByZQogICAgICAgICBDUkFTSCgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hp
bGUgKGZhbHNlKQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiBib29sIGlzUEMoTWFjcm9Bc3Nl
bWJsZXI6OlJlZ2lzdGVySUQgaWQpCiB7CiAjaWYgQ1BVKEFSTV9USFVNQjIpCkBAIC0yMjgsNyAr
MjIzLDYgQEAgYm9vbCBpc1NwZWNpYWxHUFIoTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdAogI2VuZGlm
CiAgICAgcmV0dXJuIGZhbHNlOwogfQotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCiBN
YWNyb0Fzc2VtYmxlckNvZGVSZWY8SlNFbnRyeVB0clRhZz4gY29tcGlsZShHZW5lcmF0b3ImJiBn
ZW5lcmF0ZSkKIHsKQEAgLTUxNyw3ICs1MTEsNiBAQCB2b2lkIHRlc3RDbGVhckJpdHM2NFdpdGhN
YXNrKCkKICAgICAgICAgQ0hFQ0tfRVEoaW52b2tlPHVpbnQ2NF90Pih0ZXN0LCB3b3JkLCB2YWx1
ZSksIDApOwogICAgIH0KIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogICAgIHVpbnQ2NF90IHNh
dmVkTWFzayA9IDA7CiAgICAgYXV0byB0ZXN0MiA9IGNvbXBpbGUoWyZdIChDQ2FsbEhlbHBlcnMm
IGppdCkgewogICAgICAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZShqaXQpOwpAQCAtNTQ2LDcgKzUz
OSw2IEBAIHZvaWQgdGVzdENsZWFyQml0czY0V2l0aE1hc2soKQogICAgICAgICB1aW50NjRfdCB3
b3JkID0gMDsKICAgICAgICAgQ0hFQ0tfRVEoaW52b2tlPHVpbnQ2NF90Pih0ZXN0Miwgd29yZCwg
dmFsdWUpLCAwKTsKICAgICB9Ci0jZW5kaWYKIH0KIAogdm9pZCB0ZXN0Q2xlYXJCaXRzNjRXaXRo
TWFza1Rlcm5hcnkoKQpAQCAtNTcyLDcgKzU2NCw2IEBAIHZvaWQgdGVzdENsZWFyQml0czY0V2l0
aE1hc2tUZXJuYXJ5KCkKICAgICAgICAgQ0hFQ0tfRVEoaW52b2tlPHVpbnQ2NF90Pih0ZXN0LCB3
b3JkLCB2YWx1ZSksIDApOwogICAgIH0KIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogICAgIHVp
bnQ2NF90IHNhdmVkTWFzayA9IDA7CiAgICAgYXV0byB0ZXN0MiA9IGNvbXBpbGUoWyZdIChDQ2Fs
bEhlbHBlcnMmIGppdCkgewogICAgICAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZShqaXQpOwpAQCAt
NjAzLDcgKzU5NCw2IEBAIHZvaWQgdGVzdENsZWFyQml0czY0V2l0aE1hc2tUZXJuYXJ5KCkKICAg
ICAgICAgdWludDY0X3Qgd29yZCA9IDA7CiAgICAgICAgIENIRUNLX0VRKGludm9rZTx1aW50NjRf
dD4odGVzdDIsIHdvcmQsIHZhbHVlKSwgMCk7CiAgICAgfQotI2VuZGlmCiB9CiAKIHN0YXRpYyB2
b2lkIHRlc3RDb3VudFRyYWlsaW5nWmVyb3M2NEltcGwoYm9vbCB3b3JkQ2FuQmVaZXJvKQpAQCAt
Njk2LDE0ICs2ODYsMTIgQEAgdm9pZCB0ZXN0U2hpZnRBbmRBZGQoKQogICAgICAgICAgICAgaml0
Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGJpdHdpc2VfY2FzdDx2b2lkKj4oaW5k
ZXgpKSwgaW5kZXhHUFIpOwogICAgICAgICAgICAgaml0LnNoaWZ0QW5kQWRkKGJhc2VHUFIsIGlu
ZGV4R1BSLCBzaGlmdCwgZGVzdEdQUik7CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKICAgICAg
ICAgICAgIGppdC5wcm9iZURlYnVnKFs9XSAoUHJvYmU6OkNvbnRleHQmIGNvbnRleHQpIHsKICAg
ICAgICAgICAgICAgICBpZiAoYmFzZVJlZyAhPSBkZXN0UmVnKQogICAgICAgICAgICAgICAgICAg
ICBDSEVDS19FUShjb250ZXh0LmdwcjxpbnRwdHJfdD4oYmFzZUdQUiksIGJhc2VQb2ludGVyKTsK
ICAgICAgICAgICAgICAgICBpZiAoaW5kZXhSZWcgIT0gZGVzdFJlZykKICAgICAgICAgICAgICAg
ICAgICAgQ0hFQ0tfRVEoY29udGV4dC5ncHI8aW50cHRyX3Q+KGluZGV4R1BSKSwgaW5kZXgpOwog
ICAgICAgICAgICAgfSk7Ci0jZW5kaWYKICAgICAgICAgICAgIGppdC5tb3ZlKGRlc3RHUFIsIEdQ
UkluZm86OnJldHVyblZhbHVlR1BSKTsKIAogICAgICAgICAgICAgaml0LnBvcFBhaXIoc2NyYXRj
aEdQUiwgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsKQEAgLTE3NDAsNyArMTcyOCw2IEBAIHZvaWQg
dGVzdE1vdmVEb3VibGVDb25kaXRpb25hbGx5RmxvYXRTYW0KIAogI2VuZGlmIC8vIENQVShYODZf
NjQpIHx8IENQVShBUk02NCkKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogdm9pZCB0ZXN0UHJv
YmVSZWFkc0FyZ3VtZW50UmVnaXN0ZXJzKCkKIHsKICAgICBib29sIHByb2JlV2FzQ2FsbGVkID0g
ZmFsc2U7CkBAIC0yMjU0LDcgKzIyNDEsNiBAQCB2b2lkIHRlc3RQcm9iZU1vZGlmaWVzU3RhY2tW
YWx1ZXMoKQogCiAgICAgQ0hFQ0tfRVEocHJvYmVDYWxsQ291bnQsIDMpOwogfQotI2VuZGlmIC8v
IEVOQUJMRShNQVNNX1BST0JFKQogCiB2b2lkIHRlc3RPckltbU1lbSgpCiB7CkBAIC0yNjg3LDcg
KzI2NzMsNiBAQCB2b2lkIHJ1bihjb25zdCBjaGFyKiBmaWx0ZXIpCiAgICAgRk9SX0VBQ0hfRE9V
QkxFX0NPTkRJVElPTl9SVU4odGVzdE1vdmVEb3VibGVDb25kaXRpb25hbGx5RmxvYXRTYW1lQXJn
KTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAgICAgUlVOKHRlc3RQcm9iZVJl
YWRzQXJndW1lbnRSZWdpc3RlcnMoKSk7CiAgICAgUlVOKHRlc3RQcm9iZVdyaXRlc0FyZ3VtZW50
UmVnaXN0ZXJzKCkpOwogICAgIFJVTih0ZXN0UHJvYmVQcmVzZXJ2ZXNHUFJTKCkpOwpAQCAtMjY5
NSw3ICsyNjgwLDYgQEAgdm9pZCBydW4oY29uc3QgY2hhciogZmlsdGVyKQogICAgIFJVTih0ZXN0
UHJvYmVNb2RpZmllc1N0YWNrUG9pbnRlclRvTkJ5dGVzQmVsb3dTUCgpKTsKICAgICBSVU4odGVz
dFByb2JlTW9kaWZpZXNQcm9ncmFtQ291bnRlcigpKTsKICAgICBSVU4odGVzdFByb2JlTW9kaWZp
ZXNTdGFja1ZhbHVlcygpKTsKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKIAogICAgIFJV
Tih0ZXN0Qnl0ZVN3YXAoKSk7CiAgICAgUlVOKHRlc3RNb3ZlRG91YmxlQ29uZGl0aW9uYWxseTMy
KCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAJKHJl
dmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTc1LDcgKzExNzUsNiBAQCBwcml2YXRlOgogICAgICAg
ICBhcHBlbmQoY3JlYXRlU3RvcmUoa2luZCwgbWVtb3J5LT5jaGlsZCgwKSwgZGVzdCkpOwogICAg
IH0KIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFy
Z3VtZW50cz4KICAgICB2b2lkIHByaW50KEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKICAgICB7
CkBAIC0xMTkyLDcgKzExOTEsNiBAQCBwcml2YXRlOgogICAgICAgICBQcmludGVyOjphcHBlbmRB
aXJBcmdzKGluc3QsIHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pOwogICAg
ICAgICBhcHBlbmQoV1RGTW92ZShpbnN0KSk7CiAgICAgfQotI2VuZGlmIC8vIEVOQUJMRShNQVNN
X1BST0JFKQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIHZvaWQg
YXBwZW5kKEFpcjo6S2luZCBraW5kLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclByaW50U3BlY2lhbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQcmludFNwZWNpYWwuY3BwCShy
ZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpclByaW50
U3BlY2lhbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJB
aXJQcmludFNwZWNpYWwuaCIKIAogI2lmIEVOQUJMRShCM19KSVQpCi0jaWYgRU5BQkxFKE1BU01f
UFJPQkUpCiAKICNpbmNsdWRlICJDQ2FsbEhlbHBlcnMuaCIKICNpbmNsdWRlICJNYWNyb0Fzc2Vt
YmxlclByaW50ZXIuaCIKQEAgLTEyNiw1ICsxMjUsNCBAQCBOT19SRVRVUk4gdm9pZCBwcmludEFp
ckFyZyhQcmludFN0cmVhbSYsCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5B
QkxFKE1BU01fUFJPQkUpCiAjZW5kaWYgLy8gRU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyUHJpbnRTcGVjaWFsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQcmludFNwZWNpYWwuaAkocmV2aXNpb24gMjc3
OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQcmludFNwZWNpYWwuaAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNiBAQAogI3ByYWdtYSBvbmNlCiAKICNpZiBFTkFC
TEUoQjNfSklUKQotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogCiAjaW5jbHVkZSAiQWlySW5zdC5o
IgogI2luY2x1ZGUgIkFpclNwZWNpYWwuaCIKQEAgLTEzMSw1ICsxMzAsNCBAQCBwcml2YXRlOgog
CiB9IH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpCMzo6QWlyCiAKLSNlbmRpZiAvLyBFTkFCTEUoTUFT
TV9QUk9CRSkKICNlbmRpZiAvLyBFTkFCTEUoQjNfSklUKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmNwcAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzAsMTQgKzI3MCwxMiBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgICAgICB1cGRhdGVUb3BDYWxsRnJhbWUo
KTsKIAogICAgICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCA9IG1fYnl0ZWNvZGVJbmRleC5v
ZmZzZXQoKTsKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKICAgICAgICAgaWYgKFVOTElLRUxZKE9w
dGlvbnM6OnRyYWNlQmFzZWxpbmVKSVRFeGVjdXRpb24oKSkpIHsKICAgICAgICAgICAgIENvZGVC
bG9jayogY29kZUJsb2NrID0gbV9jb2RlQmxvY2s7CiAgICAgICAgICAgICBwcm9iZURlYnVnKFs9
XSAoUHJvYmU6OkNvbnRleHQmIGN0eCkgewogICAgICAgICAgICAgICAgIGRhdGFMb2dMbigiSklU
IFsiLCBieXRlY29kZU9mZnNldCwgIl0gIiwgb3Bjb2RlTmFtZXNbb3Bjb2RlSURdLCAiIGNmciAi
LCBSYXdQb2ludGVyKGN0eC5mcCgpKSwgIiBAICIsIGNvZGVCbG9jayk7CiAgICAgICAgICAgICB9
KTsKICAgICAgICAgfQotI2VuZGlmCiAKICAgICAgICAgc3dpdGNoIChvcGNvZGVJRCkgewogICAg
ICAgICBERUZJTkVfU0xPV19PUChpbl9ieV92YWwpCkBAIC01MzMsNyArNTMxLDYgQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKCkKICAgICAgICAgaWYgKG1fZGlzYXNzZW1ibGVy
KQogICAgICAgICAgICAgbV9kaXNhc3NlbWJsZXItPnNldEZvckJ5dGVjb2RlU2xvd1BhdGgobV9i
eXRlY29kZUluZGV4Lm9mZnNldCgpLCBsYWJlbCgpKTsKIAotI2lmIEVOQUJMRShNQVNNX1BST0JF
KQogICAgICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6dHJhY2VCYXNlbGluZUpJVEV4ZWN1dGlv
bigpKSkgewogICAgICAgICAgICAgT3Bjb2RlSUQgb3Bjb2RlSUQgPSBjdXJyZW50SW5zdHJ1Y3Rp
b24tPm9wY29kZUlEKCk7CiAgICAgICAgICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCA9IG1f
Ynl0ZWNvZGVJbmRleC5vZmZzZXQoKTsKQEAgLTU0Miw3ICs1MzksNiBAQCB2b2lkIEpJVDo6cHJp
dmF0ZUNvbXBpbGVTbG93Q2FzZXMoKQogICAgICAgICAgICAgICAgIGRhdGFMb2dMbigiSklUIFsi
LCBieXRlY29kZU9mZnNldCwgIl0gU0xPVyAiLCBvcGNvZGVOYW1lc1tvcGNvZGVJRF0sICIgY2Zy
ICIsIFJhd1BvaW50ZXIoY3R4LmZwKCkpLCAiIEAgIiwgY29kZUJsb2NrKTsKICAgICAgICAgICAg
IH0pOwogICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICBzd2l0Y2ggKGN1cnJlbnRJbnN0cnVj
dGlvbi0+b3Bjb2RlSUQoKSkgewogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfYWRkKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAkocmV2aXNp
b24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rvb2xzL0pTRG9sbGFyVk0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjEzLDcgKzI2MTMsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVO
Q1RJT04oZnVuY3Rpb25Jc0hhdmluCiAvLyBvcHRpb25zIGFyZSBub3QgZnJvemVuLiBGb3IgdGhl
IGpzYyBzaGVsbCwgdGhlIC0tZGlzYWJsZU9wdGlvbnNGcmVlemluZ0ZvclRlc3RpbmcKIC8vIGFy
Z3VtZW50IG5lZWRzIHRvIGJlIHBhc3NlZCBpbiBvbiB0aGUgY29tbWFuZCBsaW5lLgogCi0jaWYg
RU5BQkxFKE1BU01fUFJPQkUpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIHN0YXRpYyB2b2lkIGNh
bGxXaXRoU3RhY2tTaXplUHJvYmVGdW5jdGlvbihQcm9iZTo6U3RhdGUqIHN0YXRlKQogewogICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBiaXR3aXNlX2Nhc3Q8SlNHbG9iYWxPYmpl
Y3QqPihzdGF0ZS0+YXJnKTsKQEAgLTI2MzEsNyArMjYzMSw3IEBAIHN0YXRpYyB2b2lkIGNhbGxX
aXRoU3RhY2tTaXplUHJvYmVGdW5jdGkKICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOwog
ICAgIGNhbGwoZ2xvYmFsT2JqZWN0LCBmdW5jdGlvbiwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCks
IGFyZ3MpOwogfQotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQorI2VuZGlmIC8vIEVOQUJM
RShBU1NFTUJMRVIpCiAKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTl9XSVRIX0FUVFJJQlVURVMo
ZnVuY3Rpb25DYWxsV2l0aFN0YWNrU2l6ZSwgU1VQUFJFU1NfQVNBTiwgKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKQEAgLTI2NDksNyArMjY0
OSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTl9XSVRIX0FUVFJJQlVURVMKICAgICBpZiAo
IWlzU3VwcG9ydGVkQnlQbGF0Zm9ybSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihnbG9i
YWxPYmplY3QsIHRocm93U2NvcGUsICJOb3Qgc3VwcG9ydGVkIGZvciB0aGlzIHBsYXRmb3JtIik7
CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogICAgIGlm
IChnX2pzY0NvbmZpZy5pc1Blcm1hbmVudGx5RnJvemVuKCkgfHwgIWdfanNjQ29uZmlnLmRpc2Fi
bGVkRnJlZXppbmdGb3JUZXN0aW5nKQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGdsb2Jh
bE9iamVjdCwgdGhyb3dTY29wZSwgIk9wdGlvbnMgYXJlIGZyb3plbiIpOwogCkBAIC0yNzIxLDEw
ICsyNzIxLDEwIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTl9XSVRIX0FUVFJJQlVURVMKICAg
ICB0aHJvd1Njb3BlLnJlbGVhc2UoKTsKICAgICByZXR1cm4gZW5jb2RlZEpTVW5kZWZpbmVkKCk7
CiAKLSNlbHNlIC8vIG5vdCBFTkFCTEUoTUFTTV9QUk9CRSkKKyNlbHNlIC8vIG5vdCBFTkFCTEUo
QVNTRU1CTEVSKQogICAgIFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwogICAgIHJldHVybiB0aHJv
d1ZNRXJyb3IoZ2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCAiTm90IHN1cHBvcnRlZCBmb3IgdGhp
cyBwbGF0Zm9ybSIpOwotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQorI2VuZGlmIC8vIEVO
QUJMRShBU1NFTUJMRVIpCiB9CiAKIC8vIENyZWF0ZXMgYSBuZXcgZ2xvYmFsIG9iamVjdC4KSW5k
ZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA1LTIzICBNYXJrIExhbSAgPG1hcmsubGFtQGFw
cGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgRU5BQkxFKE1BU01fUFJPQkUpIGZsYWcuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgTWFjcm9Bc3Nl
bWJsZXI6OnByb2JlKCkgbWVjaGFuaXNtIGlzIG5vdyBhdmFpbGFibGUgb24gYWxsIHN1cHBvcnRl
ZCBwbGF0Zm9ybXMuCisgICAgICAgIFRoZXJlJ3Mgbm8gbG9uZ2VyIGEgbmVlZCBmb3IgdGhlIEVO
QUJMRShNQVNNX1BST0JFKSBmbGFnLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlLmg6
CisKIDIwMjEtMDUtMjMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IEJ1aWxkIGZpeCBmb3IgSlNDT25seS1MaW51eC1BQXJjaDY0IGJvdC4KSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxh
dGZvcm1FbmFibGUuaAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL1dURi93dGYvUGxhdGZv
cm1FbmFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjY1LDE0ICs2NjUsOSBAQAogI2RlZmluZSBF
TkFCTEVfRkFTVF9UTFNfSklUIDEKICNlbmRpZgogCi0jaWYgRU5BQkxFKEpJVCkgJiYgKENQVShY
ODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk1fVEhVTUIyKSB8fCBDUFUoQVJNNjQpIHx8IENQ
VShNSVBTKSkKLSNkZWZpbmUgRU5BQkxFX01BU01fUFJPQkUgMQotI2VuZGlmCi0KIC8qIEZJWE1F
OiBUaGlzIHNob3VsZCBiZSB0dXJuZWQgaW50byBhbiAjZXJyb3IgaW52YXJpYW50ICovCi0vKiBJ
ZiB0aGUgYmFzZWxpbmUgaml0IGlzIG5vdCBhdmFpbGFibGUsIHRoZW4gZGlzYWJsZSB1cHBlciB0
aWVycyBhcyB3ZWxsLgotICAgVGhlIE1hY3JvQXNzZW1ibGVyOjpwcm9iZSgpIGlzIGFsc28gcmVx
dWlyZWQgZm9yIHN1cHBvcnRpbmcgdGhlIHVwcGVyIHRpZXJzLiAqLwotI2lmICFFTkFCTEUoSklU
KSB8fCAhRU5BQkxFKE1BU01fUFJPQkUpCisvKiBJZiB0aGUgYmFzZWxpbmUgaml0IGlzIG5vdCBh
dmFpbGFibGUsIHRoZW4gZGlzYWJsZSB1cHBlciB0aWVycyBhcyB3ZWxsLiAqLworI2lmICFFTkFC
TEUoSklUKQogI3VuZGVmIEVOQUJMRV9ERkdfSklUCiAjdW5kZWYgRU5BQkxFX0ZUTF9KSVQKICNk
ZWZpbmUgRU5BQkxFX0RGR19KSVQgMAo=
</data>
<flag name="commit-queue"
          id="450653"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429464</attachid>
            <date>2021-05-23 08:01:04 -0700</date>
            <delta_ts>2021-05-23 14:46:48 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-226154.patch</filename>
            <type>text/plain</type>
            <size>24342</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDIxLTA1LTIzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgRU5BQkxFKE1BU01fUFJPQkUpIGZsYWcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHA6Cisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmg6CisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTXY3LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcDoKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJQcmludGVyLmNwcDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVy
Lmg6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
UHJvYmVDb250ZXh0LmNwcDoKKyAgICAgICAgKiBhc3NlbWJsZXIvUHJvYmVDb250ZXh0Lmg6Cisg
ICAgICAgICogYXNzZW1ibGVyL1Byb2JlRnJhbWUuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvUHJv
YmVTdGFjay5jcHA6CisgICAgICAgICogYXNzZW1ibGVyL1Byb2JlU3RhY2suaDoKKyAgICAgICAg
KiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAgICAgICAoSlNDOjppc1NwZWNpYWxHUFIpOgor
ICAgICAgICAoSlNDOjp0ZXN0Q2xlYXJCaXRzNjRXaXRoTWFzayk6CisgICAgICAgIChKU0M6OnRl
c3RDbGVhckJpdHM2NFdpdGhNYXNrVGVybmFyeSk6CisgICAgICAgIChKU0M6OnRlc3RTaGlmdEFu
ZEFkZCk6CisgICAgICAgIChKU0M6OnRlc3RQcm9iZU1vZGlmaWVzU3RhY2tWYWx1ZXMpOgorICAg
ICAgICAoSlNDOjpydW4pOgorICAgICAgICAqIGIzL0IzTG93ZXJUb0Fpci5jcHA6CisgICAgICAg
ICogYjMvYWlyL0FpclByaW50U3BlY2lhbC5jcHA6CisgICAgICAgICogYjMvYWlyL0FpclByaW50
U3BlY2lhbC5oOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxl
U2xvd0Nhc2VzKToKKyAgICAgICAgKiB0b29scy9KU0RvbGxhclZNLmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OX1dJVEhfQVRUUklCVVRFUyk6CisKIDIwMjEtMDUt
MjIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBzaW5nbGV0
b24gdGh1bmtzIGZvciB2aXJ0dWFsIGNhbGxzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5jcHAJKHJldmlzaW9uIDI3NzkzMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMi0y
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
Mi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNDcsNyArNDcsNiBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpqaXRB
c3NlcnQoY29uc3QgU2NvCiAgICAgfQogfQogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiBzdGF0
aWMgdm9pZCBzdGRGdW5jdGlvbkNhbGxiYWNrKFByb2JlOjpDb250ZXh0JiBjb250ZXh0KQogewog
ICAgIGF1dG8gZnVuYyA9IGNvbnRleHQuYXJnPGNvbnN0IEZ1bmN0aW9uPHZvaWQoUHJvYmU6OkNv
bnRleHQmKT4qPigpOwpAQCAtNTksOCArNTgsNiBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9i
ZURlYnVnKEZ1bmN0aW9uCiAgICAgcHJvYmUodGFnQ0Z1bmN0aW9uPEpJVFByb2JlUHRyVGFnPihz
dGRGdW5jdGlvbkNhbGxiYWNrKSwgbmV3IEZ1bmN0aW9uPHZvaWQoUHJvYmU6OkNvbnRleHQmKT4o
V1RGTW92ZShmdW5jKSkpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCi0KIH0g
Ly8gbmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgJKHJldmlzaW9uIDI3Nzkz
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgt
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTc1LDE0ICs3NSwxMiBAQCBjbGFzcyBTY29wZWRMYW1iZGE7CiAK
IG5hbWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiBuYW1lc3BhY2UgUHJv
YmUgewogCiBjbGFzcyBDb250ZXh0OwogdHlwZWRlZiB2b2lkICgqRnVuY3Rpb24pKENvbnRleHQm
KTsKIAogfSAvLyBuYW1lc3BhY2UgUHJvYmUKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkK
IAogbmFtZXNwYWNlIFByaW50ZXIgewogCkBAIC0xOTI3LDcgKzE5MjUsNiBAQCBwdWJsaWM6CiAg
ICAgLy8gSWYgdGhlIHJlc3VsdCBqdW1wIGlzIHRha2VuIHRoYXQgbWVhbnMgdGhlIGFzc2VydCBw
YXNzZWQuCiAgICAgdm9pZCBqaXRBc3NlcnQoY29uc3QgV1RGOjpTY29wZWRMYW1iZGE8SnVtcCh2
b2lkKT4mKTsKIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogICAgIC8vIFRoaXMgZnVuY3Rpb24g
ZW1pdHMgY29kZSB0byBwcmVzZXJ2ZSB0aGUgQ1BVU3RhdGUgKGUuZy4gcmVnaXN0ZXJzKSwKICAg
ICAvLyBjYWxsIGEgdXNlciBzdXBwbGllZCBwcm9iZSBmdW5jdGlvbiwgYW5kIHJlc3RvcmUgdGhl
IENQVVN0YXRlIGJlZm9yZQogICAgIC8vIGNvbnRpbnVpbmcgd2l0aCBvdGhlciBKSVQgZ2VuZXJh
dGVkIGNvZGUuCkBAIC0xOTg4LDcgKzE5ODUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcmludChB
cmd1bWVudHMmJi4uLiBhcmdzKTsKIAogICAgIHZvaWQgcHJpbnQoUHJpbnRlcjo6UHJpbnRSZWNv
cmRMaXN0Kik7Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJBUk02NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTM5LDggKzM5LDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBFTkFC
TEUoTUFTTV9QUk9CRSkKLQogZXh0ZXJuICJDIiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKGN0
aU1hc21Qcm9iZVRyYW1wb2xpbmUsIHZvaWQsICgpKTsKIEpTQ19BTk5PVEFURV9KSVRfT1BFUkFU
SU9OKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVJZCwgY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiAK
QEAgLTU4Nyw4ICs1ODUsNiBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6RnVu
Y3RpCiAgICAgYWRkNjQoVHJ1c3RlZEltbTMyKHNpemVvZihMUlJlc3RvcmF0aW9uUmVjb3JkKSks
IHNwKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQotCiB2b2lkIE1hY3JvQXNz
ZW1ibGVyQVJNNjQ6OmNvbGxlY3RDUFVGZWF0dXJlcygpCiB7CiAjaWYgT1MoTElOVVgpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJBUk12Ny5jcHAJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0z
Myw4ICszMyw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUp
Ci0KIGV4dGVybiAiQyIgSlNDX0RFQ0xBUkVfSklUX09QRVJBVElPTihjdGlNYXNtUHJvYmVUcmFt
cG9saW5lLCB2b2lkLCAoKSk7CiBKU0NfQU5OT1RBVEVfSklUX09QRVJBVElPTihjdGlNYXNtUHJv
YmVUcmFtcG9saW5lSWQsIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogCkBAIC0zODYsNyArMzg0
LDYgQEAgdm9pZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJvYmU6OkZ1bmN0aQogICAgIG1vdmUo
VHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihjdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKSksIGlwKTsKICAgICBtX2Fzc2VtYmxlci5ibHgoaXApOwogfQotI2VuZGlmIC8vIEVOQUJM
RShNQVNNX1BST0JFKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcAko
cmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlck1JUFMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICszNCw2IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCi0KIGV4dGVybiAiQyIgSlND
X0RFQ0xBUkVfSklUX09QRVJBVElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lLCB2b2lkLCAoKSk7
CiBKU0NfQU5OT1RBVEVfSklUX09QRVJBVElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lSWQsIGN0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogCkBAIC01NzMsNyArNTcxLDYgQEAgdm9pZCBNYWNyb0Fz
c2VtYmxlcjo6cHJvYmUoUHJvYmU6OkZ1bmN0aQogICAgIGxvYWQzMihBZGRyZXNzKHNwLCBvZmZz
ZXRvZihSQVJlc3RvcmF0aW9uUmVjb3JkLCByYSkpLCByYSk7CiAgICAgYWRkMzIoVHJ1c3RlZElt
bTMyKHNpemVvZihSQVJlc3RvcmF0aW9uUmVjb3JkKSksIHNwKTsKIH0KLSNlbmRpZiAvLyBFTkFC
TEUoTUFTTV9QUk9CRSkKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUHJpbnRl
ci5jcHAJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJQcmludGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDcgKzI3
LDYgQEAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlclByaW50ZXIuaCIKIAogI2lmIEVOQUJMRShB
U1NFTUJMRVIpCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAKICNpbmNsdWRlICJNYWNyb0Fzc2Vt
Ymxlci5oIgogI2luY2x1ZGUgPGludHR5cGVzLmg+CkBAIC0xODYsNSArMTg1LDQgQEAgdm9pZCBw
cmludENhbGxiYWNrKFByb2JlOjpDb250ZXh0JiBwcm9iZQogfSAvLyBuYW1lc3BhY2UgUHJpbnRl
cgogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKICNl
bmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlclByaW50ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyUHJpbnRlci5oCShyZXZpc2lvbiAy
Nzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
UHJpbnRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsNyArMzMsNiBAQAogbmFtZXNwYWNlIEpT
QyB7CiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogCiAv
LyBXaGF0IGlzIE1hY3JvQXNzZW1ibGVyOjpwcmludCgpPwogLy8gPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpAQCAtMjQxLDcgKzI0MCw2IEBAIGlubGluZSB2b2lkIE1hY3JvQXNzZW1i
bGVyOjpwcmludChQcmludGUKICAgICBwcm9iZSh0YWdDRnVuY3Rpb248SklUUHJvYmVQdHJUYWc+
KFByaW50ZXI6OnByaW50Q2FsbGJhY2spLCBwcmludFJlY29yZExpc3QpOwogfQogCi0jZW5kaWYg
Ly8gRU5BQkxFKE1BU01fUFJPQkUpCiAjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkocmV2aXNpb24gMjc3
OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNyw4ICszNyw2IEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCi0KIGV4dGVybiAiQyIgSlNDX0RFQ0xB
UkVfSklUX09QRVJBVElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lLCB2b2lkLCAoKSk7CiBKU0Nf
QU5OT1RBVEVfSklUX09QRVJBVElPTihjdGlNYXNtUHJvYmVUcmFtcG9saW5lSWQsIGN0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOwogCkBAIC03NjMsNyArNzYxLDYgQEAgdm9pZCBNYWNyb0Fzc2VtYmxl
cjo6cHJvYmUoUHJvYmU6OkZ1bmN0aQogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhcmcpLCBSZWdp
c3RlcklEOjplYngpOwogICAgIGNhbGwoUmVnaXN0ZXJJRDo6ZWF4LCBDRnVuY3Rpb25QdHJUYWcp
OwogfQotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogCiBNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6Q1BVSUQgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmdldENQVUlEKHVuc2lnbmVkIGxl
dmVsKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRl
eHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJv
YmVDb250ZXh0LmNwcAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDcgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQcm9iZUNvbnRleHQuaCIKIAotI2lmIEVO
QUJMRShNQVNNX1BST0JFKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKIG5hbWVzcGFjZSBKU0Mg
ewogbmFtZXNwYWNlIFByb2JlIHsKQEAgLTg1LDQgKzg1LDQgQEAgdm9pZCogcHJvYmVTdGF0ZUZv
ckNvbnRleHQoQ29udGV4dCYgY29udAogfSAvLyBuYW1lc3BhY2UgUHJvYmUKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCisjZW5kaWYgLy8gRU5BQkxF
KEFTU0VNQkxFUikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVD
b250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Q
cm9iZUNvbnRleHQuaAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw3ICsyOCw3IEBACiAj
aW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKICNpbmNsdWRlICJQcm9iZVN0YWNrLmgiCiAKLSNp
ZiBFTkFCTEUoTUFTTV9QUk9CRSkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiBuYW1lc3BhY2Ug
SlNDIHsKIG5hbWVzcGFjZSBQcm9iZSB7CkBAIC0yNDgsNCArMjQ4LDQgQEAgdm9pZCBleGVjdXRl
UHJvYmUoU3RhdGUqKTsKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9IC8vIG5hbWVzcGFjZSBKU0MK
IAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJM
RVIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlRnJhbWUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlRnJhbWUu
aAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Q
cm9iZUZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNy0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNs
dWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJQcm9iZVN0YWNrLmgiCkBAIC05MSw0ICs5MSw0
IEBAIHByaXZhdGU6CiB9IC8vIG5hbWVzcGFjZSBQcm9iZQogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
LSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVS
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZVN0YWNrLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlU3RhY2su
Y3BwCShyZXZpc2lvbiAyNzc5MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L1Byb2JlU3RhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlIDxt
ZW1vcnk+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCi0jaWYgRU5BQkxFKE1BU01f
UFJPQkUpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogbmFtZXNwYWNlIEpTQyB7CiBuYW1lc3Bh
Y2UgUHJvYmUgewpAQCAtMTU3LDQgKzE1Nyw0IEBAIHZvaWQqIFN0YWNrOjpsb3dXYXRlcm1hcmtG
cm9tVmlzaXRpbmdEaXIKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9IC8vIG5hbWVzcGFjZSBKU0MK
IAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJM
RVIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlU3RhY2suaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlU3RhY2su
aAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Q
cm9iZVN0YWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8
d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAotI2lmIEVO
QUJMRShNQVNNX1BST0JFKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKIG5hbWVzcGFjZSBKU0Mg
ewogCkBAIC0yMTksNCArMjE5LDQgQEAgcHJpdmF0ZToKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQorI2VuZGlm
IC8vIEVOQUJMRShBU1NFTUJMRVIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL3Rlc3RtYXNtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL3Rlc3RtYXNtLmNwcAkocmV2aXNpb24gMjc3OTMwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFzbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw3ICsx
MzAsNiBAQCBzdGF0aWMgVmVjdG9yPGludDY0X3Q+IGludDY0T3BlcmFuZHMoKQogfQogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIG5hbWVzcGFjZSBXVEYgewogCiBzdGF0aWMgdm9p
ZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIHZvaWQqIHZhbHVlKQpAQCAtMTM5LDcg
KzEzOCw2IEBAIHN0YXRpYyB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG8KIH0KIAog
fSAvLyBuYW1lc3BhY2UgV1RGCi0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKIG5hbWVz
cGFjZSBKU0MgewogbmFtZXNwYWNlIFByb2JlIHsKQEAgLTE1Myw5ICsxNTEsNyBAQCB1c2luZyBu
YW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgewogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiB1
c2luZyBDUFVTdGF0ZSA9IFByb2JlOjpDUFVTdGF0ZTsKLSNlbmRpZgogCiBMb2NrIGNyYXNoTG9j
azsKIApAQCAtMTk0LDcgKzE5MCw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgbmV4dElEKFQg
aWQpIHsgcmUKICAgICAgICAgQ1JBU0goKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9IHdoaWxlIChmYWxzZSkKIAotI2lmIEVO
QUJMRShNQVNNX1BST0JFKQogYm9vbCBpc1BDKE1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIGlk
KQogewogI2lmIENQVShBUk1fVEhVTUIyKQpAQCAtMjI4LDcgKzIyMyw2IEBAIGJvb2wgaXNTcGVj
aWFsR1BSKE1hY3JvQXNzZW1ibGVyOjpSZWdpc3QKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsK
IH0KLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
PEpTRW50cnlQdHJUYWc+IGNvbXBpbGUoR2VuZXJhdG9yJiYgZ2VuZXJhdGUpCiB7CkBAIC01MTcs
NyArNTExLDYgQEAgdm9pZCB0ZXN0Q2xlYXJCaXRzNjRXaXRoTWFzaygpCiAgICAgICAgIENIRUNL
X0VRKGludm9rZTx1aW50NjRfdD4odGVzdCwgd29yZCwgdmFsdWUpLCAwKTsKICAgICB9CiAKLSNp
ZiBFTkFCTEUoTUFTTV9QUk9CRSkKICAgICB1aW50NjRfdCBzYXZlZE1hc2sgPSAwOwogICAgIGF1
dG8gdGVzdDIgPSBjb21waWxlKFsmXSAoQ0NhbGxIZWxwZXJzJiBqaXQpIHsKICAgICAgICAgZW1p
dEZ1bmN0aW9uUHJvbG9ndWUoaml0KTsKQEAgLTU0Niw3ICs1MzksNiBAQCB2b2lkIHRlc3RDbGVh
ckJpdHM2NFdpdGhNYXNrKCkKICAgICAgICAgdWludDY0X3Qgd29yZCA9IDA7CiAgICAgICAgIENI
RUNLX0VRKGludm9rZTx1aW50NjRfdD4odGVzdDIsIHdvcmQsIHZhbHVlKSwgMCk7CiAgICAgfQot
I2VuZGlmCiB9CiAKIHZvaWQgdGVzdENsZWFyQml0czY0V2l0aE1hc2tUZXJuYXJ5KCkKQEAgLTU3
Miw3ICs1NjQsNiBAQCB2b2lkIHRlc3RDbGVhckJpdHM2NFdpdGhNYXNrVGVybmFyeSgpCiAgICAg
ICAgIENIRUNLX0VRKGludm9rZTx1aW50NjRfdD4odGVzdCwgd29yZCwgdmFsdWUpLCAwKTsKICAg
ICB9CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKICAgICB1aW50NjRfdCBzYXZlZE1hc2sgPSAw
OwogICAgIGF1dG8gdGVzdDIgPSBjb21waWxlKFsmXSAoQ0NhbGxIZWxwZXJzJiBqaXQpIHsKICAg
ICAgICAgZW1pdEZ1bmN0aW9uUHJvbG9ndWUoaml0KTsKQEAgLTYwMyw3ICs1OTQsNiBAQCB2b2lk
IHRlc3RDbGVhckJpdHM2NFdpdGhNYXNrVGVybmFyeSgpCiAgICAgICAgIHVpbnQ2NF90IHdvcmQg
PSAwOwogICAgICAgICBDSEVDS19FUShpbnZva2U8dWludDY0X3Q+KHRlc3QyLCB3b3JkLCB2YWx1
ZSksIDApOwogICAgIH0KLSNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCB0ZXN0Q291bnRUcmFpbGlu
Z1plcm9zNjRJbXBsKGJvb2wgd29yZENhbkJlWmVybykKQEAgLTY5NiwxNCArNjg2LDEyIEBAIHZv
aWQgdGVzdFNoaWZ0QW5kQWRkKCkKICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KGluZGV4KSksIGluZGV4R1BSKTsKICAg
ICAgICAgICAgIGppdC5zaGlmdEFuZEFkZChiYXNlR1BSLCBpbmRleEdQUiwgc2hpZnQsIGRlc3RH
UFIpOwogCi0jaWYgRU5BQkxFKE1BU01fUFJPQkUpCiAgICAgICAgICAgICBqaXQucHJvYmVEZWJ1
ZyhbPV0gKFByb2JlOjpDb250ZXh0JiBjb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgaWYgKGJh
c2VSZWcgIT0gZGVzdFJlZykKICAgICAgICAgICAgICAgICAgICAgQ0hFQ0tfRVEoY29udGV4dC5n
cHI8aW50cHRyX3Q+KGJhc2VHUFIpLCBiYXNlUG9pbnRlcik7CiAgICAgICAgICAgICAgICAgaWYg
KGluZGV4UmVnICE9IGRlc3RSZWcpCiAgICAgICAgICAgICAgICAgICAgIENIRUNLX0VRKGNvbnRl
eHQuZ3ByPGludHB0cl90PihpbmRleEdQUiksIGluZGV4KTsKICAgICAgICAgICAgIH0pOwotI2Vu
ZGlmCiAgICAgICAgICAgICBqaXQubW92ZShkZXN0R1BSLCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQ
Uik7CiAKICAgICAgICAgICAgIGppdC5wb3BQYWlyKHNjcmF0Y2hHUFIsIEdQUkluZm86OmFyZ3Vt
ZW50R1BSMyk7CkBAIC0xNzQwLDcgKzE3MjgsNiBAQCB2b2lkIHRlc3RNb3ZlRG91YmxlQ29uZGl0
aW9uYWxseUZsb2F0U2FtCiAKICNlbmRpZiAvLyBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpCiAK
LSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKIHZvaWQgdGVzdFByb2JlUmVhZHNBcmd1bWVudFJlZ2lz
dGVycygpCiB7CiAgICAgYm9vbCBwcm9iZVdhc0NhbGxlZCA9IGZhbHNlOwpAQCAtMjI1NCw3ICsy
MjQxLDYgQEAgdm9pZCB0ZXN0UHJvYmVNb2RpZmllc1N0YWNrVmFsdWVzKCkKIAogICAgIENIRUNL
X0VRKHByb2JlQ2FsbENvdW50LCAzKTsKIH0KLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkK
IAogdm9pZCB0ZXN0T3JJbW1NZW0oKQogewpAQCAtMjY4Nyw3ICsyNjczLDYgQEAgdm9pZCBydW4o
Y29uc3QgY2hhciogZmlsdGVyKQogICAgIEZPUl9FQUNIX0RPVUJMRV9DT05ESVRJT05fUlVOKHRl
c3RNb3ZlRG91YmxlQ29uZGl0aW9uYWxseUZsb2F0U2FtZUFyZyk7CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShNQVNNX1BST0JFKQogICAgIFJVTih0ZXN0UHJvYmVSZWFkc0FyZ3VtZW50UmVnaXN0ZXJz
KCkpOwogICAgIFJVTih0ZXN0UHJvYmVXcml0ZXNBcmd1bWVudFJlZ2lzdGVycygpKTsKICAgICBS
VU4odGVzdFByb2JlUHJlc2VydmVzR1BSUygpKTsKQEAgLTI2OTUsNyArMjY4MCw2IEBAIHZvaWQg
cnVuKGNvbnN0IGNoYXIqIGZpbHRlcikKICAgICBSVU4odGVzdFByb2JlTW9kaWZpZXNTdGFja1Bv
aW50ZXJUb05CeXRlc0JlbG93U1AoKSk7CiAgICAgUlVOKHRlc3RQcm9iZU1vZGlmaWVzUHJvZ3Jh
bUNvdW50ZXIoKSk7CiAgICAgUlVOKHRlc3RQcm9iZU1vZGlmaWVzU3RhY2tWYWx1ZXMoKSk7Ci0j
ZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKICAgICBSVU4odGVzdEJ5dGVTd2FwKCkpOwog
ICAgIFJVTih0ZXN0TW92ZURvdWJsZUNvbmRpdGlvbmFsbHkzMigpKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9iMy9CM0xvd2VyVG9BaXIuY3BwCShyZXZpc2lvbiAyNzc5MzApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTE3NSw3ICsxMTc1LDYgQEAgcHJpdmF0ZToKICAgICAgICAgYXBwZW5kKGNyZWF0ZVN0b3Jl
KGtpbmQsIG1lbW9yeS0+Y2hpbGQoMCksIGRlc3QpKTsKICAgICB9CiAKLSNpZiBFTkFCTEUoTUFT
TV9QUk9CRSkKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgdm9pZCBw
cmludChBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgewpAQCAtMTE5Miw3ICsxMTkxLDYg
QEAgcHJpdmF0ZToKICAgICAgICAgUHJpbnRlcjo6YXBwZW5kQWlyQXJncyhpbnN0LCBzdGQ6OmZv
cndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKTsKICAgICAgICAgYXBwZW5kKFdURk1vdmUo
aW5zdCkpOwogICAgIH0KLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICB2b2lkIGFwcGVuZChBaXI6OktpbmQga2lu
ZCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2IzL2Fpci9BaXJQcmludFNwZWNpYWwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9haXIvQWlyUHJpbnRTcGVjaWFsLmNwcAkocmV2aXNpb24gMjc3OTMwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJQcmludFNwZWNpYWwuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiQWlyUHJpbnRTcGVjaWFsLmgiCiAK
ICNpZiBFTkFCTEUoQjNfSklUKQotI2lmIEVOQUJMRShNQVNNX1BST0JFKQogCiAjaW5jbHVkZSAi
Q0NhbGxIZWxwZXJzLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJQcmludGVyLmgiCkBAIC0x
MjYsNSArMTI1LDQgQEAgTk9fUkVUVVJOIHZvaWQgcHJpbnRBaXJBcmcoUHJpbnRTdHJlYW0mLAog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShNQVNNX1BST0JFKQogI2Vu
ZGlmIC8vIEVOQUJMRShCM19KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWly
L0FpclByaW50U3BlY2lhbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvQWlyUHJpbnRTcGVjaWFsLmgJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9haXIvQWlyUHJpbnRTcGVjaWFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDcgKzI2LDYgQEAKICNwcmFnbWEgb25jZQogCiAjaWYgRU5BQkxFKEIzX0pJVCkKLSNpZiBFTkFC
TEUoTUFTTV9QUk9CRSkKIAogI2luY2x1ZGUgIkFpckluc3QuaCIKICNpbmNsdWRlICJBaXJTcGVj
aWFsLmgiCkBAIC0xMzEsNSArMTMwLDQgQEAgcHJpdmF0ZToKIAogfSB9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6QjM6OkFpcgogCi0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAjZW5kaWYgLy8g
RU5BQkxFKEIzX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHJldmlzaW9u
IDI3NzkzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjcwLDE0ICsyNzAsMTIgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBh
c3MoKQogICAgICAgICAgICAgdXBkYXRlVG9wQ2FsbEZyYW1lKCk7CiAKICAgICAgICAgdW5zaWdu
ZWQgYnl0ZWNvZGVPZmZzZXQgPSBtX2J5dGVjb2RlSW5kZXgub2Zmc2V0KCk7Ci0jaWYgRU5BQkxF
KE1BU01fUFJPQkUpCiAgICAgICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjp0cmFjZUJhc2VsaW5l
SklURXhlY3V0aW9uKCkpKSB7CiAgICAgICAgICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IG1f
Y29kZUJsb2NrOwogICAgICAgICAgICAgcHJvYmVEZWJ1ZyhbPV0gKFByb2JlOjpDb250ZXh0JiBj
dHgpIHsKICAgICAgICAgICAgICAgICBkYXRhTG9nTG4oIkpJVCBbIiwgYnl0ZWNvZGVPZmZzZXQs
ICJdICIsIG9wY29kZU5hbWVzW29wY29kZUlEXSwgIiBjZnIgIiwgUmF3UG9pbnRlcihjdHguZnAo
KSksICIgQCAiLCBjb2RlQmxvY2spOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KLSNlbmRp
ZgogCiAgICAgICAgIHN3aXRjaCAob3Bjb2RlSUQpIHsKICAgICAgICAgREVGSU5FX1NMT1dfT1Ao
aW5fYnlfdmFsKQpAQCAtNTMzLDcgKzUzMSw2IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVNs
b3dDYXNlcygpCiAgICAgICAgIGlmIChtX2Rpc2Fzc2VtYmxlcikKICAgICAgICAgICAgIG1fZGlz
YXNzZW1ibGVyLT5zZXRGb3JCeXRlY29kZVNsb3dQYXRoKG1fYnl0ZWNvZGVJbmRleC5vZmZzZXQo
KSwgbGFiZWwoKSk7CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKICAgICAgICAgaWYgKFVOTElL
RUxZKE9wdGlvbnM6OnRyYWNlQmFzZWxpbmVKSVRFeGVjdXRpb24oKSkpIHsKICAgICAgICAgICAg
IE9wY29kZUlEIG9wY29kZUlEID0gY3VycmVudEluc3RydWN0aW9uLT5vcGNvZGVJRCgpOwogICAg
ICAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSBtX2J5dGVjb2RlSW5kZXgub2Zmc2V0
KCk7CkBAIC01NDIsNyArNTM5LDYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2Vz
KCkKICAgICAgICAgICAgICAgICBkYXRhTG9nTG4oIkpJVCBbIiwgYnl0ZWNvZGVPZmZzZXQsICJd
IFNMT1cgIiwgb3Bjb2RlTmFtZXNbb3Bjb2RlSURdLCAiIGNmciAiLCBSYXdQb2ludGVyKGN0eC5m
cCgpKSwgIiBAICIsIGNvZGVCbG9jayk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQotI2Vu
ZGlmCiAKICAgICAgICAgc3dpdGNoIChjdXJyZW50SW5zdHJ1Y3Rpb24tPm9wY29kZUlEKCkpIHsK
ICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX2FkZCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvdG9vbHMvSlNEb2xsYXJWTS5jcHAJKHJldmlzaW9uIDI3NzkzMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90b29scy9KU0RvbGxhclZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjYxMyw3ICsyNjEzLDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGZ1bmN0aW9uSXNIYXZp
bgogLy8gb3B0aW9ucyBhcmUgbm90IGZyb3plbi4gRm9yIHRoZSBqc2Mgc2hlbGwsIHRoZSAtLWRp
c2FibGVPcHRpb25zRnJlZXppbmdGb3JUZXN0aW5nCiAvLyBhcmd1bWVudCBuZWVkcyB0byBiZSBw
YXNzZWQgaW4gb24gdGhlIGNvbW1hbmQgbGluZS4KIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQor
I2lmIEVOQUJMRShBU1NFTUJMRVIpCiBzdGF0aWMgdm9pZCBjYWxsV2l0aFN0YWNrU2l6ZVByb2Jl
RnVuY3Rpb24oUHJvYmU6OlN0YXRlKiBzdGF0ZSkKIHsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gYml0d2lzZV9jYXN0PEpTR2xvYmFsT2JqZWN0Kj4oc3RhdGUtPmFyZyk7CkBA
IC0yNjMxLDcgKzI2MzEsNyBAQCBzdGF0aWMgdm9pZCBjYWxsV2l0aFN0YWNrU2l6ZVByb2JlRnVu
Y3RpCiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKICAgICBjYWxsKGdsb2JhbE9iamVj
dCwgZnVuY3Rpb24sIGNhbGxEYXRhLCBqc1VuZGVmaW5lZCgpLCBhcmdzKTsKIH0KLSNlbmRpZiAv
LyBFTkFCTEUoTUFTTV9QUk9CRSkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCiBKU0Nf
REVGSU5FX0hPU1RfRlVOQ1RJT05fV0lUSF9BVFRSSUJVVEVTKGZ1bmN0aW9uQ2FsbFdpdGhTdGFj
a1NpemUsIFNVUFBSRVNTX0FTQU4sIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkpCiB7CkBAIC0yNjQ5LDcgKzI2NDksNyBAQCBKU0NfREVGSU5FX0hP
U1RfRlVOQ1RJT05fV0lUSF9BVFRSSUJVVEVTCiAgICAgaWYgKCFpc1N1cHBvcnRlZEJ5UGxhdGZv
cm0pCiAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZ2xvYmFsT2JqZWN0LCB0aHJvd1Njb3Bl
LCAiTm90IHN1cHBvcnRlZCBmb3IgdGhpcyBwbGF0Zm9ybSIpOwogCi0jaWYgRU5BQkxFKE1BU01f
UFJPQkUpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICAgICBpZiAoZ19qc2NDb25maWcuaXNQZXJt
YW5lbnRseUZyb3plbigpIHx8ICFnX2pzY0NvbmZpZy5kaXNhYmxlZEZyZWV6aW5nRm9yVGVzdGlu
ZykKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihnbG9iYWxPYmplY3QsIHRocm93U2NvcGUs
ICJPcHRpb25zIGFyZSBmcm96ZW4iKTsKIApAQCAtMjcyMSwxMCArMjcyMSwxMCBAQCBKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT05fV0lUSF9BVFRSSUJVVEVTCiAgICAgdGhyb3dTY29wZS5yZWxlYXNl
KCk7CiAgICAgcmV0dXJuIGVuY29kZWRKU1VuZGVmaW5lZCgpOwogCi0jZWxzZSAvLyBub3QgRU5B
QkxFKE1BU01fUFJPQkUpCisjZWxzZSAvLyBub3QgRU5BQkxFKEFTU0VNQkxFUikKICAgICBVTlVT
RURfUEFSQU0oY2FsbEZyYW1lKTsKICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgIk5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgcGxhdGZvcm0iKTsKLSNlbmRp
ZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogfQog
CiAvLyBDcmVhdGVzIGEgbmV3IGdsb2JhbCBvYmplY3QuCkluZGV4OiBTb3VyY2UvV1RGL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjc3OTMw
KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBA
QAorMjAyMS0wNS0yMyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVtb3ZlIEVOQUJMRShNQVNNX1BST0JFKSBmbGFnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIE1hY3JvQXNzZW1ibGVyOjpwcm9iZSgpIG1lY2hh
bmlzbSBpcyBub3cgYXZhaWxhYmxlIG9uIGFsbCBzdXBwb3J0ZWQgcGxhdGZvcm1zLgorICAgICAg
ICBUaGVyZSdzIG5vIGxvbmdlciBhIG5lZWQgZm9yIHRoZSBFTkFCTEUoTUFTTV9QUk9CRSkgZmxh
Zy4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVuYWJsZS5oOgorCiAyMDIxLTA1LTIzICBNYXJr
IExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggZm9yIEpTQ09u
bHktTGludXgtQUFyY2g2NCBib3QuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJs
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgJKHJldmlz
aW9uIDI3NzkzMCkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY2NSwxNCArNjY1LDkgQEAKICNkZWZpbmUgRU5BQkxFX0ZBU1RfVExTX0pJVCAx
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShKSVQpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8
fCBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpCi0jZGVmaW5lIEVO
QUJMRV9NQVNNX1BST0JFIDEKLSNlbmRpZgotCiAvKiBGSVhNRTogVGhpcyBzaG91bGQgYmUgdHVy
bmVkIGludG8gYW4gI2Vycm9yIGludmFyaWFudCAqLwotLyogSWYgdGhlIGJhc2VsaW5lIGppdCBp
cyBub3QgYXZhaWxhYmxlLCB0aGVuIGRpc2FibGUgdXBwZXIgdGllcnMgYXMgd2VsbC4KLSAgIFRo
ZSBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBpcyBhbHNvIHJlcXVpcmVkIGZvciBzdXBwb3J0aW5n
IHRoZSB1cHBlciB0aWVycy4gKi8KLSNpZiAhRU5BQkxFKEpJVCkgfHwgIUVOQUJMRShNQVNNX1BS
T0JFKQorLyogSWYgdGhlIGJhc2VsaW5lIGppdCBpcyBub3QgYXZhaWxhYmxlLCB0aGVuIGRpc2Fi
bGUgdXBwZXIgdGllcnMgYXMgd2VsbC4gKi8KKyNpZiAhRU5BQkxFKEpJVCkKICN1bmRlZiBFTkFC
TEVfREZHX0pJVAogI3VuZGVmIEVOQUJMRV9GVExfSklUCiAjZGVmaW5lIEVOQUJMRV9ERkdfSklU
IDAK
</data>

          </attachment>
      

    </bug>

</bugzilla>