<?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>70178</bug_id>
          
          <creation_ts>2011-10-15 11:08:11 -0700</creation_ts>
          <short_desc>[Qt][Symbian] Remove support for WINSCW compiler</short_desc>
          <delta_ts>2011-11-12 20:38:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>S60 Emulator</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Laszlo Gombos">laszlo.gombos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>hausmann</cc>
    
    <cc>koshuin</cc>
    
    <cc>lars.knoll</cc>
    
    <cc>norbert.leser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yongjun_zhang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>484603</commentid>
    <comment_count>0</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-10-15 11:08:11 -0700</bug_when>
    <thetext>As the Symbian platform support is removed, there is no longer a use to support the WINSCW compiler (a.k.a. Metrowerks compiler) that was used as a simulation target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484624</commentid>
    <comment_count>1</comment_count>
      <attachid>111141</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-10-15 13:08:41 -0700</bug_when>
    <thetext>Created attachment 111141
1st try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484769</commentid>
    <comment_count>2</comment_count>
      <attachid>111141</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-16 06:22:33 -0700</bug_when>
    <thetext>Comment on attachment 111141
1st try

r=me. Let&apos;s keep an eye on the bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485954</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-10-18 04:31:45 -0700</bug_when>
    <thetext>Wheeee, great to see these hacks gone :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501488</commentid>
    <comment_count>4</comment_count>
      <attachid>114850</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2011-11-12 19:10:24 -0800</bug_when>
    <thetext>Created attachment 114850
rebase to land for cq</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501489</commentid>
    <comment_count>5</comment_count>
      <attachid>114850</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-12 20:38:01 -0800</bug_when>
    <thetext>Comment on attachment 114850
rebase to land for cq

Clearing flags on attachment: 114850

Committed r100086: &lt;http://trac.webkit.org/changeset/100086&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501490</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-12 20:38:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111141</attachid>
            <date>2011-10-15 13:08:41 -0700</date>
            <delta_ts>2011-11-12 19:10:24 -0800</delta_ts>
            <desc>1st try</desc>
            <filename>70178.patch</filename>
            <type>text/plain</type>
            <size>29834</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTc1NjApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMTEtMTAtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgor
CisgICAgICAgIFtRdF1bU3ltYmlhbl0gUmVtb3ZlIHN1cHBvcnQgZm9yIFdJTlNDVyBjb21waWxl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNzgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9K
U1N0cmluZ1JlZi5oOgorICAgICAgICAqIGNyZWF0ZV9oYXNoX3RhYmxlOiBSZXZlcnQgcjQ1NTUz
LgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcDogUmV2ZXJ0IHI0NTU1My4KKyAg
ICAgICAgKiBydW50aW1lL0xpdGVyYWxQYXJzZXIuY3BwOiBSZXZlcnQgcjQ2OTEwLgorICAgICAg
ICAoSlNDOjpMaXRlcmFsUGFyc2VyOjpMZXhlcjo6bGV4U3RyaW5nKToKKyAgICAgICAgKiBydW50
aW1lL0xvb2t1cC5oOiBSZXZlcnQgcjQ1NTUzLgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJl
Lmg6IFJldmVydCByNDg0NjEuCisgICAgICAgICogd3RmL0FsaWdubWVudC5oOgorICAgICAgICAq
IHd0Zi9Bc3NlcnRpb25zLmg6IFJldmVydCByNTIzMzcuCisgICAgICAgICogd3RmL0NvbXBpbGVy
Lmg6CisgICAgICAgICogd3RmL0xpc3RSZWZQdHIuaDogUmV2ZXJ0IHI0ODk4OC4KKyAgICAgICAg
KFdURjo6TGlzdFJlZlB0cjo6fkxpc3RSZWZQdHIpOgorICAgICAgICAqIHd0Zi9Pd25BcnJheVB0
ci5oOiBSZXZlcnQgcjQ1OTExLgorICAgICAgICAoV1RGOjpPd25BcnJheVB0cjo6b3BlcmF0b3Ig
VW5zcGVjaWZpZWRCb29sVHlwZSk6CisgICAgICAgICogd3RmL1Bhc3NPd25BcnJheVB0ci5oOgor
ICAgICAgICAoV1RGOjpQYXNzT3duQXJyYXlQdHI6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5
cGUpOgorICAgICAgICAqIHd0Zi9QYXNzUmVmUHRyLmg6CisgICAgICAgICogd3RmL1N0YXRpY0Nv
bnN0cnVjdG9ycy5oOgorICAgICAgICAqIHd0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0Lmg6CisK
IDIwMTEtMTAtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgog
CiAgICAgICAgIFtRdF0gW1N5bWJpYW5dIFJlbW92ZSBzdXBwb3J0IGZvciB0aGUgU3ltYmlhbiBw
bGF0Zm9ybSBmb3IgdGhlIFF0V2ViS2l0IHBvcnQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9jcmVhdGVfaGFzaF90YWJsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Y3JlYXRlX2hhc2hfdGFibGUJKHJldmlzaW9uIDk3NTU4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2NyZWF0ZV9oYXNoX3RhYmxlCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNyArMzM3LDcgQEAg
c3ViIG91dHB1dCgpIHsKICAgICBwcmludCAiICAgeyAwLCAwLCAwLCAwIFRIVU5LX0dFTkVSQVRP
UigwKSBJTlRSSU5TSUMoREZHOjpOb0ludHJpbnNpYykgfVxuIjsKICAgICBwcmludCAifTtcblxu
IjsKICAgICBwcmludCAiI3VuZGVmIFRIVU5LX0dFTkVSQVRPUlxuIjsKLSAgICBwcmludCAiZXh0
ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlICRuYW1lID1cbiI7CisgICAgcHJpbnQg
ImV4dGVybiBjb25zdCBzdHJ1Y3QgSGFzaFRhYmxlICRuYW1lID1cbiI7CiAgICAgcHJpbnQgIiAg
ICBceyAkY29tcGFjdFNpemUsICRjb21wYWN0SGFzaFNpemVNYXNrLCAkbmFtZUVudHJpZXMsIDAg
XH07XG4iOwogICAgIHByaW50ICJ9IC8vIG5hbWVzcGFjZVxuIjsKIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmLmgJKHJldmlzaW9uIDk3NTU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1JlZi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3
ICszNyw3IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoV0lOMzIpICYm
ICFkZWZpbmVkKF9XSU4zMikgJiYgIWRlZmluZWQoX19XSU5TQ1dfXykgXAorI2lmICFkZWZpbmVk
KFdJTjMyKSAmJiAhZGVmaW5lZChfV0lOMzIpIFwKICAgICAmJiAhKChkZWZpbmVkKF9fQ0NfQVJN
KSB8fCBkZWZpbmVkKF9fQVJNQ0NfXykpICYmICFkZWZpbmVkKF9fbGludXhfXykpIC8qIFJWQ1Qg
Ki8KIC8qIQogQHR5cGVkZWYgSlNDaGFyCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAJKHJldmlzaW9uIDk3NTU4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODgsMjQgKzg4LDI0IEBAIGlubGluZSB2b2lkIFJlY29tcGlsZXI6Om9wZXJhdG9yKCkoSlNDZWwK
IAogbmFtZXNwYWNlIEpTQyB7CiAKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJs
ZSBhcnJheUNvbnN0cnVjdG9yVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNo
VGFibGUgYXJyYXlQcm90b3R5cGVUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhh
c2hUYWJsZSBib29sZWFuUHJvdG90eXBlVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJM
RSBIYXNoVGFibGUganNvblRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRh
YmxlIGRhdGVUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBkYXRl
Q29uc3RydWN0b3JUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBl
cnJvclByb3RvdHlwZVRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxl
IGdsb2JhbE9iamVjdFRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxl
IG1hdGhUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBudW1iZXJD
b25zdHJ1Y3RvclRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIG51
bWJlclByb3RvdHlwZVRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxl
IG9iamVjdENvbnN0cnVjdG9yVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNo
VGFibGUgb2JqZWN0UHJvdG90eXBlVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBI
YXNoVGFibGUgcmVnRXhwVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFi
bGUgcmVnRXhwQ29uc3RydWN0b3JUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhh
c2hUYWJsZSByZWdFeHBQcm90b3R5cGVUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxF
IEhhc2hUYWJsZSBzdHJpbmdUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hU
YWJsZSBzdHJpbmdDb25zdHJ1Y3RvclRhYmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBhcnJh
eUNvbnN0cnVjdG9yVGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRhYmxlIGFycmF5UHJvdG90eXBl
VGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRhYmxlIGJvb2xlYW5Qcm90b3R5cGVUYWJsZTsKK2V4
dGVybiBjb25zdCBIYXNoVGFibGUganNvblRhYmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBk
YXRlVGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRhYmxlIGRhdGVDb25zdHJ1Y3RvclRhYmxlOwor
ZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBlcnJvclByb3RvdHlwZVRhYmxlOworZXh0ZXJuIGNvbnN0
IEhhc2hUYWJsZSBnbG9iYWxPYmplY3RUYWJsZTsKK2V4dGVybiBjb25zdCBIYXNoVGFibGUgbWF0
aFRhYmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBudW1iZXJDb25zdHJ1Y3RvclRhYmxlOwor
ZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBudW1iZXJQcm90b3R5cGVUYWJsZTsKK2V4dGVybiBjb25z
dCBIYXNoVGFibGUgb2JqZWN0Q29uc3RydWN0b3JUYWJsZTsKK2V4dGVybiBjb25zdCBIYXNoVGFi
bGUgb2JqZWN0UHJvdG90eXBlVGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRhYmxlIHJlZ0V4cFRh
YmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSByZWdFeHBDb25zdHJ1Y3RvclRhYmxlOworZXh0
ZXJuIGNvbnN0IEhhc2hUYWJsZSByZWdFeHBQcm90b3R5cGVUYWJsZTsKK2V4dGVybiBjb25zdCBI
YXNoVGFibGUgc3RyaW5nVGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRhYmxlIHN0cmluZ0NvbnN0
cnVjdG9yVGFibGU7CiAKIHZvaWQqIEpTR2xvYmFsRGF0YTo6anNGaW5hbE9iamVjdFZQdHI7CiB2
b2lkKiBKU0dsb2JhbERhdGE6OmpzQXJyYXlWUHRyOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAJKHJldmlzaW9uIDk3NTU4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3NSw4ICsyNzUsNyBAQCB0ZW1wbGF0ZSA8TGl0ZXJhbFBhcnNlcjo6UGFyc2Vy
TW9kZSBtb2RlCiAgICAgcmV0dXJuIChjID49ICcgJyAmJiAobW9kZSA9PSBMaXRlcmFsUGFyc2Vy
OjpTdHJpY3RKU09OIHx8IGMgPD0gMHhmZikgJiYgYyAhPSAnXFwnICYmIGMgIT0gdGVybWluYXRv
cikgfHwgYyA9PSAnXHQnOwogfQogCi0vLyAiaW5saW5lIiBpcyByZXF1aXJlZCBoZXJlIHRvIGhl
bHAgV0lOU0NXIGNvbXBpbGVyIHJlc29sdmUgc3BlY2lhbGl6ZWQgYXJndW1lbnQgaW4gdGVtcGxh
dGVkIGZ1bmN0aW9ucy4KLXRlbXBsYXRlIDxMaXRlcmFsUGFyc2VyOjpQYXJzZXJNb2RlIG1vZGUs
IFVDaGFyIHRlcm1pbmF0b3I+IGlubGluZSBMaXRlcmFsUGFyc2VyOjpUb2tlblR5cGUgTGl0ZXJh
bFBhcnNlcjo6TGV4ZXI6OmxleFN0cmluZyhMaXRlcmFsUGFyc2VyVG9rZW4mIHRva2VuKQordGVt
cGxhdGUgPExpdGVyYWxQYXJzZXI6OlBhcnNlck1vZGUgbW9kZSwgVUNoYXIgdGVybWluYXRvcj4g
TGl0ZXJhbFBhcnNlcjo6VG9rZW5UeXBlIExpdGVyYWxQYXJzZXI6OkxleGVyOjpsZXhTdHJpbmco
TGl0ZXJhbFBhcnNlclRva2VuJiB0b2tlbikKIHsKICAgICArK21fcHRyOwogICAgIGNvbnN0IFVD
aGFyKiBydW5TdGFydCA9IG1fcHRyOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTG9va3VwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgJKHJldmlzaW9uIDk3NTU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTG9va3VwLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEzICsyOSw2IEBACiAjaW5jbHVkZSA8
c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCi0vLyBCdWcgIzI2ODQzOiBX
b3JrIGFyb3VuZCBNZXRyb3dlcmtzIGNvbXBpbGVyIGJ1ZwotI2lmIENPTVBJTEVSKFdJTlNDVykK
LSNkZWZpbmUgSlNDX0NPTlNUX0hBU0hUQUJMRQotI2Vsc2UKLSNkZWZpbmUgSlNDX0NPTlNUX0hB
U0hUQUJMRSBjb25zdAotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0MgewogICAgIC8vIEhhc2ggdGFi
bGUgZ2VuZXJhdGVkIGJ5IHRoZSBjcmVhdGVfaGFzaF90YWJsZSBzY3JpcHQuCiAgICAgc3RydWN0
IEhhc2hUYWJsZVZhbHVlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZS5oCShyZXZpc2lvbiA5NzU1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yODEsMTQgKzI4MSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBib29sIG1faXNQaW5uZWRQcm9wZXJ0eVRhYmxlIDogMTsKICAg
ICAgICAgYm9vbCBtX2hhc0dldHRlclNldHRlclByb3BlcnRpZXMgOiAxOwogICAgICAgICBib29s
IG1faGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXMgOiAxOwotI2lmIENPTVBJTEVSKFdJTlNDVykK
LSAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgU3ltYmlhbiBXSU5TQ1cgY29tcGlsZXIgdGhhdCBj
YW5ub3QgcmVzb2x2ZSB1bnNpZ25lZCB0eXBlIG9mIHRoZSBkZWNsYXJlZCAKLSAgICAgICAgLy8g
Yml0ZmllbGQsIHdoZW4gdXNlZCBhcyBhcmd1bWVudCBpbiBtYWtlX3BhaXIoKSBmdW5jdGlvbiBj
YWxscyBpbiBzdHJ1Y3R1cmUuY2NwLgotICAgICAgICAvLyBUaGlzIGJpdGZpZWxkIG9wdGltaXph
dGlvbiBpcyBpbnNpZ25pZmljYW50IGZvciB0aGUgU3ltYmlhbiBlbXVsYXRvciB0YXJnZXQuCi0g
ICAgICAgIHVuc2lnbmVkIG1fYXR0cmlidXRlc0luUHJldmlvdXM7Ci0jZWxzZQogICAgICAgICB1
bnNpZ25lZCBtX2F0dHJpYnV0ZXNJblByZXZpb3VzIDogNzsKLSNlbmRpZgogICAgICAgICB1bnNp
Z25lZCBtX3NwZWNpZmljRnVuY3Rpb25UaHJhc2hDb3VudCA6IDI7CiAgICAgICAgIHVuc2lnbmVk
IG1fcHJldmVudEV4dGVuc2lvbnMgOiAxOwogICAgICAgICB1bnNpZ25lZCBtX2RpZFRyYW5zaXRp
b24gOiAxOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BbGlnbm1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0FsaWdubWVudC5oCShyZXZpc2lv
biA5NzU1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQWxpZ25tZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgog
Ci0jaWYgQ09NUElMRVIoR0NDKSB8fCBDT01QSUxFUihNSU5HVykgfHwgQ09NUElMRVIoUlZDVCkg
fHwgQ09NUElMRVIoV0lOU0NXKSB8fCBDT01QSUxFUihHQ0NFKQorI2lmIENPTVBJTEVSKEdDQykg
fHwgQ09NUElMRVIoTUlOR1cpIHx8IENPTVBJTEVSKFJWQ1QpIHx8IENPTVBJTEVSKEdDQ0UpCiAg
ICAgI2RlZmluZSBXVEZfQUxJR05fT0YodHlwZSkgX19hbGlnbm9mX18odHlwZSkKICAgICAjZGVm
aW5lIFdURl9BTElHTkVEKHZhcmlhYmxlX3R5cGUsIHZhcmlhYmxlLCBuKSB2YXJpYWJsZV90eXBl
IHZhcmlhYmxlIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKG4pKSkKICNlbGlmIENPTVBJTEVS
KE1TVkMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAkocmV2aXNp
b24gOTc1NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAkod29y
a2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNyBAQAogI2RlZmluZSBBU1NFUlRJT05TX0RJU0FCTEVE
X0RFRkFVTFQgMAogI2VuZGlmCiAKLSNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikgfHwgQ09N
UElMRVIoV0lOU0NXKQorI2lmIENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKQogI2RlZmluZSBIQVZF
X1ZBUklBRElDX01BQ1JPIDAKICNlbHNlCiAjZGVmaW5lIEhBVkVfVkFSSUFESUNfTUFDUk8gMQpA
QCAtMjY0LDggKzI2NCw2IEBAIHdoaWxlICgwKQogCiAjaWYgQ09NUElMRVIoTVNWQzdfT1JfTE9X
RVIpCiAjZGVmaW5lIEFTU0VSVF9XSVRIX01FU1NBR0UoYXNzZXJ0aW9uKSAoKHZvaWQpMCkKLSNl
bGlmIENPTVBJTEVSKFdJTlNDVykKLSNkZWZpbmUgQVNTRVJUX1dJVEhfTUVTU0FHRShhc3NlcnRp
b24sIGFyZy4uLikgKCh2b2lkKTApCiAjZWxpZiBBU1NFUlRfTVNHX0RJU0FCTEVECiAjZGVmaW5l
IEFTU0VSVF9XSVRIX01FU1NBR0UoYXNzZXJ0aW9uLCAuLi4pICgodm9pZCkwKQogI2Vsc2UKQEAg
LTI4MSw4ICsyNzksNiBAQCB3aGlsZSAoMCkKIAogI2lmIENPTVBJTEVSKE1TVkM3X09SX0xPV0VS
KQogI2RlZmluZSBBU1NFUlRfV0lUSF9NRVNTQUdFX1VOVVNFRCh2YXJpYWJsZSwgYXNzZXJ0aW9u
KSAoKHZvaWQpMCkKLSNlbGlmIENPTVBJTEVSKFdJTlNDVykKLSNkZWZpbmUgQVNTRVJUX1dJVEhf
TUVTU0FHRV9VTlVTRUQodmFyaWFibGUsIGFzc2VydGlvbiwgYXJnLi4uKSAoKHZvaWQpMCkKICNl
bGlmIEFTU0VSVF9NU0dfRElTQUJMRUQKICNpZiBDT01QSUxFUihJTlRFTCkgJiYgIU9TKFdJTkRP
V1MpIHx8IENPTVBJTEVSKFJWQ1QpCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpAQCAtMzI3LDggKzMy
Myw2IEBAIHdoaWxlICgwKQogCiAjaWYgQ09NUElMRVIoTVNWQzdfT1JfTE9XRVIpCiAjZGVmaW5l
IEZBVEFMKCkgKCh2b2lkKTApCi0jZWxpZiBDT01QSUxFUihXSU5TQ1cpCi0jZGVmaW5lIEZBVEFM
KGFyZy4uLikgKCh2b2lkKTApCiAjZWxpZiBGQVRBTF9ESVNBQkxFRAogI2RlZmluZSBGQVRBTCgu
Li4pICgodm9pZCkwKQogI2Vsc2UKQEAgLTM0Miw4ICszMzYsNiBAQCB3aGlsZSAoMCkKIAogI2lm
IENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKQogI2RlZmluZSBMT0dfRVJST1IoKSAoKHZvaWQpMCkK
LSNlbGlmIENPTVBJTEVSKFdJTlNDVykKLSNkZWZpbmUgTE9HX0VSUk9SKGFyZy4uLikgICgodm9p
ZCkwKQogI2VsaWYgRVJST1JfRElTQUJMRUQKICNkZWZpbmUgTE9HX0VSUk9SKC4uLikgKCh2b2lk
KTApCiAjZWxzZQpAQCAtMzU0LDggKzM0Niw2IEBAIHdoaWxlICgwKQogCiAjaWYgQ09NUElMRVIo
TVNWQzdfT1JfTE9XRVIpCiAjZGVmaW5lIExPRygpICgodm9pZCkwKQotI2VsaWYgQ09NUElMRVIo
V0lOU0NXKQotI2RlZmluZSBMT0coYXJnLi4uKSAoKHZvaWQpMCkKICNlbGlmIExPR19ESVNBQkxF
RAogI2RlZmluZSBMT0coY2hhbm5lbCwgLi4uKSAoKHZvaWQpMCkKICNlbHNlCkBAIC0zNjgsOCAr
MzU4LDYgQEAgd2hpbGUgKDApCiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZp
bmUgTE9HX1ZFUkJPU0UoY2hhbm5lbCkgKCh2b2lkKTApCi0jZWxpZiBDT01QSUxFUihXSU5TQ1cp
Ci0jZGVmaW5lIExPR19WRVJCT1NFKGNoYW5uZWwsIGFyZy4uLikgKCh2b2lkKTApCiAjZWxpZiBM
T0dfRElTQUJMRUQKICNkZWZpbmUgTE9HX1ZFUkJPU0UoY2hhbm5lbCwgLi4uKSAoKHZvaWQpMCkK
ICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NvbXBpbGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Db21waWxlci5oCShyZXZpc2lvbiA5
NzU1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ29tcGlsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtOTEsMTQgKzkxLDYgQEAKICAgICAjZW5kaWYgLyogX19NSU5HVzY0X1ZFUlNJT05f
TUFKT1IgKi8KICNlbmRpZiAvKiBfX01JTkdXMzJfXyAqLwogCi0vKiBDT01QSUxFUihXSU5TQ1cp
IC0gQ29kZVdhcnJpb3IgZm9yIFN5bWJpYW4gZW11bGF0b3IgKi8KLSNpZiBkZWZpbmVkKF9fV0lO
U0NXX18pCi0jZGVmaW5lIFdURl9DT01QSUxFUl9XSU5TQ1cgMQotLyogY3Jvc3MtY29tcGlsaW5n
LCBpdCBpcyBub3QgcmVhbGx5IHdpbmRvd3MgKi8KLSN1bmRlZiBXSU4zMgotI3VuZGVmIF9XSU4z
MgotI2VuZGlmCi0KIC8qIENPTVBJTEVSKElOVEVMKSAtIEludGVsIEMrKyBDb21waWxlciAqLwog
I2lmIGRlZmluZWQoX19JTlRFTF9DT01QSUxFUikKICNkZWZpbmUgV1RGX0NPTVBJTEVSX0lOVEVM
IDEKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdFJlZlB0ci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdFJlZlB0ci5oCShyZXZpc2lvbiA5
NzU1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdFJlZlB0ci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNSw3ICszNSwxMiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgLy8gc2Vl
IGNvbW1lbnQgaW4gUGFzc1JlZlB0ci5oIGZvciB3aHkgdGhpcyB0YWtlcyBjb25zdCByZWZlcmVu
Y2UKICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IExpc3RSZWZQdHIoY29uc3QgUGFzc1Jl
ZlB0cjxVPiYgbykgOiBSZWZQdHI8VD4obykge30KICAgICAgICAgCi0gICAgICAgIH5MaXN0UmVm
UHRyKCk7CisgICAgICAgIH5MaXN0UmVmUHRyKCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVm
UHRyPFQ+IHJlYXBlciA9IHRoaXMtPnJlbGVhc2UoKTsKKyAgICAgICAgICAgIHdoaWxlIChyZWFw
ZXIgJiYgcmVhcGVyLT5oYXNPbmVSZWYoKSkKKyAgICAgICAgICAgICAgICByZWFwZXIgPSByZWFw
ZXItPnJlbGVhc2VOZXh0KCk7IC8vIGltcGxpY2l0bHkgcHJvdGVjdHMgcmVhcGVyLT5uZXh0LCB0
aGVuIGRlcmVmcyByZWFwZXIKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgTGlzdFJlZlB0
ciYgb3BlcmF0b3I9KFQqIG9wdHIpIHsgUmVmUHRyPFQ+OjpvcGVyYXRvcj0ob3B0cik7IHJldHVy
biAqdGhpczsgfQogICAgICAgICBMaXN0UmVmUHRyJiBvcGVyYXRvcj0oY29uc3QgUmVmUHRyPFQ+
JiBvKSB7IFJlZlB0cjxUPjo6b3BlcmF0b3I9KG8pOyByZXR1cm4gKnRoaXM7IH0KQEAgLTQ0LDIw
ICs0OSw2IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4g
TGlzdFJlZlB0ciYgb3BlcmF0b3I9KGNvbnN0IFBhc3NSZWZQdHI8VT4mIG8pIHsgUmVmUHRyPFQ+
OjpvcGVyYXRvcj0obyk7IHJldHVybiAqdGhpczsgfQogICAgIH07CiAKLSAgICAvLyBSZW1vdmUg
aW5saW5lIGZvciB3aW5zY3cgY29tcGlsZXIgdG8gcHJldmVudCB0aGUgY29tcGlsZXIgYWdyZXNz
aXZlbHkgcmVzb2x2aW5nCi0gICAgLy8gVDo6cmVmKCkgaW4gUmVmUHRyPFQ+J3MgY29weSBjb25z
dHJ1Y3Rvci4gIFRoZSBidWcgaXMgcmVwb3J0ZWQgYXQ6Ci0gICAgLy8gaHR0cHM6Ly94ZGFidWcw
MDEuZXh0Lm5va2lhLmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KLSAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gCi0jaWYgIUNPTVBJTEVSKFdJTlNDVykKLSAgICBpbmxpbmUKLSNl
bmRpZgotICAgIExpc3RSZWZQdHI8VD46On5MaXN0UmVmUHRyKCkKLSAgICB7Ci0gICAgICAgIFJl
ZlB0cjxUPiByZWFwZXIgPSB0aGlzLT5yZWxlYXNlKCk7Ci0gICAgICAgIHdoaWxlIChyZWFwZXIg
JiYgcmVhcGVyLT5oYXNPbmVSZWYoKSkKLSAgICAgICAgICAgIHJlYXBlciA9IHJlYXBlci0+cmVs
ZWFzZU5leHQoKTsgLy8gaW1wbGljaXRseSBwcm90ZWN0cyByZWFwZXItPm5leHQsIHRoZW4gZGVy
ZWZzIHJlYXBlcgotICAgIH0KLQogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUgVCog
Z2V0UHRyKGNvbnN0IExpc3RSZWZQdHI8VD4mIHApCiAgICAgewogICAgICAgICByZXR1cm4gcC5n
ZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgJKHJldmlz
aW9uIDk3NTU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCSh3
b3JraW5nIGNvcHkpCkBAIC02MywxMiArNjMsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBvcGVyYXRv
ciEoKSBjb25zdCB7IHJldHVybiAhbV9wdHI7IH0KIAogICAgIC8vIFRoaXMgY29udmVyc2lvbiBv
cGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3Ro
ZXIgaW50ZWdlciB0eXBlcy4KLSNpZiBDT01QSUxFUihXSU5TQ1cpCi0gICAgb3BlcmF0b3IgYm9v
bCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9Ci0jZWxzZQogICAgIHR5cGVkZWYgVCogT3duQXJy
YXlQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlOwogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9v
bFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA/ICZPd25BcnJheVB0cjo6bV9wdHIgOiAwOyB9
Ci0jZW5kaWYKIAogICAgIE93bkFycmF5UHRyJiBvcGVyYXRvcj0oY29uc3QgUGFzc093bkFycmF5
UHRyPFQ+Jik7CiAgICAgT3duQXJyYXlQdHImIG9wZXJhdG9yPShzdGQ6Om51bGxwdHJfdCkgeyBj
bGVhcigpOyByZXR1cm4gKnRoaXM7IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGFzc093bkFycmF5UHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QYXNzT3duQXJyYXlQdHIuaAkocmV2aXNpb24gOTc1NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1Bhc3NPd25BcnJheVB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MiwxMiArNjIs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAhbV9wdHI7
IH0KIAogICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29u
dmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSNpZiBDT01Q
SUxFUihXSU5TQ1cpCi0gICAgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9
Ci0jZWxzZQogICAgIHR5cGVkZWYgUHRyVHlwZSBQYXNzT3duQXJyYXlQdHI6OipVbnNwZWNpZmll
ZEJvb2xUeXBlOwogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25zdCB7IHJl
dHVybiBtX3B0ciA/ICZQYXNzT3duQXJyYXlQdHI6Om1fcHRyIDogMDsgfQotI2VuZGlmCiAKICAg
ICBQYXNzT3duQXJyYXlQdHImIG9wZXJhdG9yPShjb25zdCBQYXNzT3duQXJyYXlQdHImKSB7IENP
TVBJTEVfQVNTRVJUKCFzaXplb2YoVCopLCBQYXNzT3duQXJyYXlQdHJfc2hvdWxkX25ldmVyX2Jl
X2Fzc2lnbmVkX3RvKTsgcmV0dXJuICp0aGlzOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUGFzc1JlZlB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGFzc1JlZlB0ci5oCShyZXZpc2lvbiA5NzU1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUGFzc1JlZlB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBAIG5h
bWVzcGFjZSBXVEYgewogCiAgICAgaW5saW5lIHZvaWQgYWRvcHRlZChjb25zdCB2b2lkKikgeyB9
CiAKLSNpZiAhQ09NUElMRVIoV0lOU0NXKQogI2lmICFQTEFURk9STShRVCkKICAgICAjZGVmaW5l
IFJFRl9ERVJFRl9JTkxJTkUgQUxXQVlTX0lOTElORQogI2Vsc2UKQEAgLTQwLDEyICszOSw2IEBA
IG5hbWVzcGFjZSBXVEYgewogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzcyNTMgZm9yIGRldGFpbHMuCiAgICAgI2RlZmluZSBSRUZfREVSRUZfSU5M
SU5FIGlubGluZQogI2VuZGlmCi0jZWxzZQotICAgIC8vIE5vIGlubGluaW5nIGZvciBXSU5TQ1cg
Y29tcGlsZXIgdG8gcHJldmVudCB0aGUgY29tcGlsZXIgYWdyZXNzaXZlbHkgcmVzb2x2aW5nCi0g
ICAgLy8gVDo6cmVmKCkgYW5kIFQ6OmRlcmVmKCksIHdoaWNoIHdpbGwgZmFpbCBjb21waWxpbmcg
d2hlbiBQYXNzUmVmUHRyPFQ+IGlzIHVzZWQgYXMKLSAgICAvLyBhIGNsYXNzIG1lbWJlciBvciBm
dW5jdGlvbiBhcmd1bWVudHMgYmVmb3JlIFQgaXMgZGVmaW5lZC4KLSAgICAjZGVmaW5lIFJFRl9E
RVJFRl9JTkxJTkUKLSNlbmRpZgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gUkVGX0RFUkVG
X0lOTElORSB2b2lkIHJlZklmTm90TnVsbChUKiBwdHIpCiAgICAgewpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9TdGF0aWNDb25zdHJ1Y3RvcnMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0YXRpY0NvbnN0cnVjdG9ycy5oCShyZXZpc2lvbiA5NzU1
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RhdGljQ29uc3RydWN0b3JzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU0LDkgKzU0LDYgQEAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dF
UikKICNkZWZpbmUgREVGSU5FX0dMT0JBTCh0eXBlLCBuYW1lKSBcCiAgICAgY29uc3QgdHlwZSBu
YW1lOwotI2VsaWYgQ09NUElMRVIoV0lOU0NXKQotI2RlZmluZSBERUZJTkVfR0xPQkFMKHR5cGUs
IG5hbWUsIGFyZy4uLikgXAotICAgIGNvbnN0IHR5cGUgbmFtZTsKICNlbHNlCiAjZGVmaW5lIERF
RklORV9HTE9CQUwodHlwZSwgbmFtZSwgLi4uKSBcCiAgICAgY29uc3QgdHlwZSBuYW1lOwpAQCAt
NjgsOSArNjUsNiBAQAogI2lmIENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKQogI2RlZmluZSBERUZJ
TkVfR0xPQkFMKHR5cGUsIG5hbWUpIFwKICAgICB2b2lkICogbmFtZVsoc2l6ZW9mKHR5cGUpICsg
c2l6ZW9mKHZvaWQgKikgLSAxKSAvIHNpemVvZih2b2lkICopXTsKLSNlbGlmIENPTVBJTEVSKFdJ
TlNDVykKLSNkZWZpbmUgREVGSU5FX0dMT0JBTCh0eXBlLCBuYW1lLCBhcmcuLi4pIFwKLSAgICB2
b2lkICogbmFtZVsoc2l6ZW9mKHR5cGUpICsgc2l6ZW9mKHZvaWQgKikgLSAxKSAvIHNpemVvZih2
b2lkICopXTsKICNlbHNlCiAjZGVmaW5lIERFRklORV9HTE9CQUwodHlwZSwgbmFtZSwgLi4uKSBc
CiAgICAgdm9pZCAqIG5hbWVbKHNpemVvZih0eXBlKSArIHNpemVvZih2b2lkICopIC0gMSkgLyBz
aXplb2Yodm9pZCAqKV07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUv
cXQ0L1VuaWNvZGVRdDQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaAkocmV2aXNpb24gOTc1NTgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaAkod29ya2luZyBjb3B5KQpA
QCAtNjIsNyArNjIsNyBAQCBuYW1lc3BhY2UgUVVuaWNvZGVUYWJsZXMgewogUVRfRU5EX05BTUVT
UEFDRQogCiAvLyB1Z2x5IGhhY2sgdG8gbWFrZSBVQ2hhciBjb21wYXRpYmxlIHdpdGggSlNDaGFy
IGluIEFQSS9KU1N0cmluZ1JlZi5oCi0jaWYgZGVmaW5lZChRX09TX1dJTikgfHwgQ09NUElMRVIo
V0lOU0NXKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgIU9TKExJTlVYKSkKKyNpZiBkZWZpbmVkKFFf
T1NfV0lOKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgIU9TKExJTlVYKSkKIHR5cGVkZWYgd2NoYXJf
dCBVQ2hhcjsKICNlbHNlCiB0eXBlZGVmIHVpbnQxNl90IFVDaGFyOwpJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gOTc1NjApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0xMC0xNSAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4x
LmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtTeW1iaWFuXSBSZW1vdmUgc3VwcG9y
dCBmb3IgV0lOU0NXIGNvbXBpbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MDE3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyB0aGVyZSBpcyBubyBuZXcgZnVuY3Rpb25hbGl0
eS4KKworICAgICAgICAqIGNvbmZpZy5oOiBSZXZlcnQgcjU3MDc2LgorICAgICAgICAqIGxvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUhhbmRsZS5oOiBSZXZlcnQgcjQ5MDE3IGFuZCByNDk1NTYu
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUhhbmRsZTo6Q2FjaGVkUmVzb3VyY2VI
YW5kbGUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOiBSZXZlcnQg
cjUyNzMzLgorICAgICAgICAoY29tcGFyZUVxdWFsKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogUmV2ZXJ0IHI0NTU1My4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDogRGl0dG8uCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3Bw
OiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cDogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHA6IERpdHRvLgorCiAyMDExLTEwLTE1ICBMYXN6
bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFtT
eW1iaWFuXSBSZW1vdmUgc3VwcG9ydCBmb3IgdGhlIFN5bWJpYW4gcGxhdGZvcm0gZm9yIHRoZSBR
dFdlYktpdCBwb3J0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb25maWcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jb25maWcuaAkocmV2aXNpb24gOTc1NTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jb25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDcgKzE0MCw3IEBACiAKICNpZiBD
T01QSUxFUihNU1ZDKQogI2RlZmluZSBTS0lQX1NUQVRJQ19DT05TVFJVQ1RPUlNfT05fTVNWQyAx
Ci0jZWxpZiAhQ09NUElMRVIoV0lOU0NXKQorI2Vsc2UKICNkZWZpbmUgU0tJUF9TVEFUSUNfQ09O
U1RSVUNUT1JTX09OX0dDQyAxCiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHJldmlzaW9uIDk3NTU4KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdv
cmtpbmcgY29weSkKQEAgLTMwMTMsNyArMzAxMyw3IEBAIHN1YiBHZW5lcmF0ZUhhc2hUYWJsZQog
ICAgIHB1c2goQGltcGxDb250ZW50LCAifTtcblxuIik7CiAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIjdW5kZWYgVEhVTktfR0VORVJBVE9SXG4iKTsKICAgICBteSAkY29tcGFjdFNpemVNYXNrID0g
JG51bUVudHJpZXMgLSAxOwotICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGljIEpTQ19DT05T
VF9IQVNIVEFCTEUgSGFzaFRhYmxlICRuYW1lID0geyAkY29tcGFjdFNpemUsICRjb21wYWN0U2l6
ZU1hc2ssICRuYW1lRW50cmllcywgMCB9O1xuIik7CisgICAgcHVzaChAaW1wbENvbnRlbnQsICJz
dGF0aWMgY29uc3QgSGFzaFRhYmxlICRuYW1lID0geyAkY29tcGFjdFNpemUsICRjb21wYWN0U2l6
ZU1hc2ssICRuYW1lRW50cmllcywgMCB9O1xuIik7CiB9CiAKICMgSW50ZXJuYWwgaGVscGVyCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkocmV2aXNpb24gOTc1NTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNU
ZXN0SW50ZXJmCiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNU
X0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0SW50ZXJmYWNlVGFibGUgPSB7IDIsIDEsIEpTVGVz
dEludGVyZmFjZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVz
dEludGVyZmFjZVRhYmxlID0geyAyLCAxLCBKU1Rlc3RJbnRlcmZhY2VUYWJsZVZhbHVlcywgMCB9
OwogLyogSGFzaCB0YWJsZSBmb3IgY29uc3RydWN0b3IgKi8KICNpZiBFTkFCTEUoSklUKQogI2Rl
ZmluZSBUSFVOS19HRU5FUkFUT1IoZ2VuZXJhdG9yKSAsIGdlbmVyYXRvcgpAQCAtNzEsNyArNzEs
NyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0SW50ZXJmCiB9OwogCiAjdW5k
ZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUg
SlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0SW50ZXJmYWNl
Q29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rl
c3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRhYmxlID0geyAxLCAwLCBKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CiBjbGFzcyBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rv
ciA6IHB1YmxpYyBET01Db25zdHJ1Y3Rvck9iamVjdCB7CiBwcml2YXRlOgogICAgIEpTVGVzdElu
dGVyZmFjZUNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTsK
QEAgLTE2Nyw3ICsxNjcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0SW50
ZXJmCiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNUX0hBU0hU
QUJMRSBIYXNoVGFibGUgSlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlVGFibGUgPSB7IDEsIDAsIEpT
VGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFz
aFRhYmxlIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlID0geyAxLCAwLCBKU1Rlc3RJbnRl
cmZhY2VQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdElu
dGVyZmFjZVByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdEludGVyZmFjZVByb3RvdHlwZSIsICZK
U0M6OkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgJkpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRh
YmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEludGVyZmFjZVByb3RvdHlwZSkgfTsK
IAogSlNPYmplY3QqIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZTo6c2VsZihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCShyZXZpc2lvbiA5NzU1OCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlVmFsdWUgSlNUZXN0TWVkaWFRCiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9S
Ci1zdGF0aWMgSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lclRhYmxlID0geyAyLCAxLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVGFi
bGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lclRhYmxlID0geyAyLCAxLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVGFi
bGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAjaWYgRU5B
QkxFKEpJVCkKICNkZWZpbmUgVEhVTktfR0VORVJBVE9SKGdlbmVyYXRvcikgLCBnZW5lcmF0b3IK
QEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE1lZGlh
UQogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGljIEpTQ19DT05TVF9IQVNIVEFC
TEUgSGFzaFRhYmxlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvclRhYmxl
ID0geyAxLCAwLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JUYWJsZVZh
bHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQ29uc3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lckNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIGNsYXNzIEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXJDb25zdHJ1Y3RvciA6IHB1YmxpYyBET01Db25zdHJ1Y3Rvck9iamVjdCB7CiBw
cml2YXRlOgogICAgIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6
OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CkBAIC0xNDcsNyArMTQ3LDcgQEAgc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE1lZGlhUQogfTsKIAogI3VuZGVmIFRIVU5L
X0dFTkVSQVRPUgotc3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVUYWJsZSA9IHsgMiwgMSwgSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVUYWJsZSA9IHsg
MiwgMSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxlVmFsdWVzLCAw
IH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlw
ZTo6c19pbmZvID0geyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUiLCAmSlND
OjpKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sICZKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
UHJvdG90eXBlVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lclByb3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJQcm90b3R5cGU6OnNlbGYoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHJldmlzaW9uIDk3NTU4KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNU
ZXN0T2JqVGFiCiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNU
X0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0T2JqVGFibGUgPSB7IDEzNSwgMTI3LCBKU1Rlc3RP
YmpUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpUYWJs
ZSA9IHsgMTM1LCAxMjcsIEpTVGVzdE9ialRhYmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxl
IGZvciBjb25zdHJ1Y3RvciAqLwogI2lmIEVOQUJMRShKSVQpCiAjZGVmaW5lIFRIVU5LX0dFTkVS
QVRPUihnZW5lcmF0b3IpICwgZ2VuZXJhdG9yCkBAIC0xNjEsNyArMTYxLDcgQEAgc3RhdGljIGNv
bnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9iakNvbgogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVS
QVRPUgotc3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE9iakNvbnN0
cnVjdG9yVGFibGUgPSB7IDMzLCAzMSwgSlNUZXN0T2JqQ29uc3RydWN0b3JUYWJsZVZhbHVlcywg
MCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlID0g
eyAzMywgMzEsIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIAogQ09NUElM
RV9BU1NFUlQoMCA9PSBUZXN0T2JqOjpDT05TVF9WQUxVRV8wLCBUZXN0T2JqRW51bUNPTlNUX1ZB
TFVFXzBJc1dyb25nVXNlRG9udENoZWNrRW51bXMpOwogQ09NUElMRV9BU1NFUlQoMSA9PSBUZXN0
T2JqOjpDT05TVF9WQUxVRV8xLCBUZXN0T2JqRW51bUNPTlNUX1ZBTFVFXzFJc1dyb25nVXNlRG9u
dENoZWNrRW51bXMpOwpAQCAtMzA0LDcgKzMwNCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1Rlc3RPYmpQcm8KIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRpYyBK
U0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSA9IHsg
MTM3LCAxMjcsIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29u
c3QgSGFzaFRhYmxlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlID0geyAxMzcsIDEyNywgSlNUZXN0
T2JqUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RPYmpQ
cm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RPYmpQcm90b3R5cGUiLCAmSlNDOjpKU05vbkZpbmFs
T2JqZWN0OjpzX2luZm8sICZKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhP
RF9UQUJMRShKU1Rlc3RPYmpQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU1Rlc3RPYmpQcm90
b3R5cGU6OnNlbGYoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS5jcHAJKHJldmlzaW9uIDk3NTU4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZVZhbHVlIEpTVGVzdFNlcmlhbAogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGlj
IEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZVRhYmxlID0geyA0LCAzLCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2VUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VUYWJsZSA9IHsgNCwgMywgSlNUZXN0U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlSW50ZXJmYWNlVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9y
IGNvbnN0cnVjdG9yICovCiAjaWYgRU5BQkxFKEpJVCkKICNkZWZpbmUgVEhVTktfR0VORVJBVE9S
KGdlbmVyYXRvcikgLCBnZW5lcmF0b3IKQEAgLTczLDcgKzczLDcgQEAgc3RhdGljIGNvbnN0IEhh
c2hUYWJsZVZhbHVlIEpTVGVzdFNlcmlhbAogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgot
c3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAsIEpTVGVzdFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRp
YyBjb25zdCBIYXNoVGFibGUgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29u
c3RydWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogY2xhc3MgSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3IgOiBwdWJsaWMgRE9NQ29uc3RydWN0b3JPYmpl
Y3QgewogcHJpdmF0ZToKICAgICBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VD
b25zdHJ1Y3RvcihKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CkBAIC0xNDcs
NyArMTQ3LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdFNlcmlhbAogfTsK
IAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFz
aFRhYmxlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZVRhYmxl
ID0geyAxLCAwLCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGVU
YWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGVUYWJsZSA9IHsgMSwgMCwgSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0
IENsYXNzSW5mbyBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGU6
OnNfaW5mbyA9IHsgIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGUi
LCAmSlNDOjpKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sICZKU1Rlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2VQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0
KiBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGU6OnNlbGYoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpJbmRleDogU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmgJKHJl
dmlzaW9uIDk3NTU4KQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlSGFuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDggKzM4LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3Jlc291
cmNlOyB9CiAgICAgICAgIAogICAgICAgICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxs
b3dzIGltcGxpY2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIg
dHlwZXMuCi0gICAgICAgIC8vIFBhcmVudGhlc2lzIGlzIG5lZWRlZCBmb3Igd2luc2N3IGNvbXBp
bGVyIHRvIHJlc29sdmUgY2xhc3MgcXVhbGlmaWVyIGluIHRoaXMgY2FzZS4KLSAgICAgICAgdHlw
ZWRlZiBDYWNoZWRSZXNvdXJjZSogKENhY2hlZFJlc291cmNlSGFuZGxlQmFzZTo6KlVuc3BlY2lm
aWVkQm9vbFR5cGUpOworICAgICAgICB0eXBlZGVmIENhY2hlZFJlc291cmNlKiBDYWNoZWRSZXNv
dXJjZUhhbmRsZUJhc2U6OipVbnNwZWNpZmllZEJvb2xUeXBlOwogICAgICAgICBvcGVyYXRvciBV
bnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZSA/ICZDYWNoZWRS
ZXNvdXJjZUhhbmRsZUJhc2U6Om1fcmVzb3VyY2UgOiAwOyB9CiAKICAgICBwcm90ZWN0ZWQ6CkBA
IC02MCw3ICs1OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
Uj4gY2xhc3MgQ2FjaGVkUmVzb3VyY2VIYW5kbGUgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlIHsKICAgICBwdWJsaWM6IAogICAgICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZSgpIHsg
fQotICAgICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZShSKiByZXMpOworICAgICAgICBDYWNoZWRS
ZXNvdXJjZUhhbmRsZShSKiByZXMpIDogQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKHJlcykgeyB9
CiAgICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxlKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxl
PFI+JiBvKSA6IENhY2hlZFJlc291cmNlSGFuZGxlQmFzZShvKSB7IH0KIAogICAgICAgICBSKiBn
ZXQoKSBjb25zdCB7IHJldHVybiByZWludGVycHJldF9jYXN0PFIqPihDYWNoZWRSZXNvdXJjZUhh
bmRsZUJhc2U6OmdldCgpKTsgfQpAQCAtNzIsMTcgKzcxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNl
JiBvKSBjb25zdCB7IHJldHVybiBnZXQoKSAhPSBvLmdldCgpOyB9CiAgICAgfTsKIAotICAgIC8v
IERvbid0IGlubGluZSBmb3Igd2luc2N3IGNvbXBpbGVyIHRvIHByZXZlbnQgdGhlIGNvbXBpbGVy
IGFnZ3Jlc3NpdmVseSByZXNvbHZpbmcKLSAgICAvLyB0aGUgYmFzZSBjbGFzcyBvZiBSKiB3aGVu
IENhY2hlZFJlc291cmNlSGFuZGxlcjxUPihSKikgaXMgaW5saW5lZC4gIFRoZSBidWcgaXMKLSAg
ICAvLyByZXBvcnRlZCBhdDogaHR0cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lhLmNvbS9idWd6aWxs
YS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgUj4KLSNpZiAhQ09N
UElMRVIoV0lOU0NXKQotICAgIGlubGluZQotI2VuZGlmCi0gICAgQ2FjaGVkUmVzb3VyY2VIYW5k
bGU8Uj46OkNhY2hlZFJlc291cmNlSGFuZGxlKFIqIHJlcykgOiBDYWNoZWRSZXNvdXJjZUhhbmRs
ZUJhc2UocmVzKSAKLSAgICB7Ci0gICAgfQotICAgIAogICAgIHRlbXBsYXRlIDxjbGFzcyBSLCBj
bGFzcyBSUj4gYm9vbCBvcGVyYXRvcj09KGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPFI+JiBo
LCBjb25zdCBSUiogcmVzKSAKICAgICB7IAogICAgICAgICByZXR1cm4gaC5nZXQoKSA9PSByZXM7
IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJ
KHJldmlzaW9uIDk3NTU4KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDExICs4NSw3IEBACiAjaW5jbHVkZSAiU1ZH
UmVuZGVyU3R5bGUuaCIKICNlbmRpZgogCi0jaWYgQ09NUElMRVIoV0lOU0NXKQotI2RlZmluZSBj
b21wYXJlRXF1YWwodCwgdSkgICAgICAoKHQpID09ICh1KSkKLSNlbHNlCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYm9vbCBjb21wYXJlRXF1YWwoY29uc3QgVCYgdCwg
Y29uc3QgVSYgdSkgeyByZXR1cm4gdCA9PSBzdGF0aWNfY2FzdDxUPih1KTsgfQotI2VuZGlmCiAK
ICNkZWZpbmUgU0VUX1ZBUihncm91cCwgdmFyaWFibGUsIHZhbHVlKSBcCiAgICAgaWYgKCFjb21w
YXJlRXF1YWwoZ3JvdXAtPnZhcmlhYmxlLCB2YWx1ZSkpIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDk3NTYwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTEtMTAtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21i
b3NAbm9raWEuY29tPgorCisgICAgICAgIFtRdF1bU3ltYmlhbl0gUmVtb3ZlIHN1cHBvcnQgZm9y
IFdJTlNDVyBjb21waWxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzAxNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1N0cmluZy5oOgorCiAyMDExLTEwLTE1ICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByOTc1NTkuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tTdHJpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tT
dHJpbmcuaAkocmV2aXNpb24gOTc1NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tTdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogZXh0ZXJuICJDIiB7
CiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKFdJTjMyKSAmJiAhZGVmaW5lZChfV0lOMzIpICYmICFk
ZWZpbmVkKF9fV0lOU0NXX18pIFwKKyNpZiAhZGVmaW5lZChXSU4zMikgJiYgIWRlZmluZWQoX1dJ
TjMyKSBcCiAgICAgJiYgISgoZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX18p
KSAmJiAhZGVmaW5lZChfX2xpbnV4X18pKSAvKiBSVkNUICovCiAgICAgdHlwZWRlZiB1bnNpZ25l
ZCBzaG9ydCBXS0NoYXI7CiAjZWxzZQo=
</data>
<flag name="review"
          id="108874"
          type_id="1"
          status="+"
          setter="cshu"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114850</attachid>
            <date>2011-11-12 19:10:24 -0800</date>
            <delta_ts>2011-11-12 20:38:00 -0800</delta_ts>
            <desc>rebase to land for cq</desc>
            <filename>70178-to-land.patch</filename>
            <type>text/plain</type>
            <size>34713</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAwMDg1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDExLTExLTEyICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4K
KworICAgICAgICBbUXRdW1N5bWJpYW5dIFJlbW92ZSBzdXBwb3J0IGZvciBXSU5TQ1cgY29tcGls
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hhbmcgU2h1LgorCisgICAgICAgICogQVBJL0pTU3Ry
aW5nUmVmLmg6CisgICAgICAgICogY3JlYXRlX2hhc2hfdGFibGU6IFJldmVydCByNDU1NTMuCisg
ICAgICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuY3BwOiBSZXZlcnQgcjQ1NTUzLgorICAgICAg
ICAqIHJ1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHA6IFJlbW92ZSBXSU5TQ1cgY29tbWVudC4KKyAg
ICAgICAgKEpTQzo6TGl0ZXJhbFBhcnNlcjo6TGV4ZXI6OmxleFN0cmluZyk6CisgICAgICAgICog
cnVudGltZS9Mb29rdXAuaDogUmV2ZXJ0IHI0NTU1My4KKyAgICAgICAgKiBydW50aW1lL1N0cnVj
dHVyZS5oOiBSZXZlcnQgcjQ4NDYxLgorICAgICAgICAqIHd0Zi9BbGlnbm1lbnQuaDoKKyAgICAg
ICAgKiB3dGYvQXNzZXJ0aW9ucy5oOiBSZXZlcnQgcjUyMzM3LgorICAgICAgICAqIHd0Zi9Db21w
aWxlci5oOgorICAgICAgICAqIHd0Zi9MaXN0UmVmUHRyLmg6IFJldmVydCByNDg5ODguCisgICAg
ICAgIChXVEY6Okxpc3RSZWZQdHI6On5MaXN0UmVmUHRyKToKKyAgICAgICAgKiB3dGYvT3duQXJy
YXlQdHIuaDogUmV2ZXJ0IHI0NTkxMS4KKyAgICAgICAgKFdURjo6T3duQXJyYXlQdHI6Om9wZXJh
dG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUpOgorICAgICAgICAqIHd0Zi9QYXNzT3duQXJyYXlQdHIu
aDoKKyAgICAgICAgKFdURjo6UGFzc093bkFycmF5UHRyOjpvcGVyYXRvciBVbnNwZWNpZmllZEJv
b2xUeXBlKToKKyAgICAgICAgKiB3dGYvUGFzc1JlZlB0ci5oOgorICAgICAgICAqIHd0Zi9TdGF0
aWNDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5o
OgorCiAyMDExLTExLTEyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQuIEFkZCBFTkFCTEUoREZHX0pJVCkgYXJvdW5kIERGR0NvcnJl
Y3RhYmxlSnVtcFBvaW50IGNvZGUuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRl
X2hhc2hfdGFibGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2NyZWF0ZV9o
YXNoX3RhYmxlCShyZXZpc2lvbiAxMDAwODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvY3Jl
YXRlX2hhc2hfdGFibGUJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw3ICszNDAsNyBAQCBzdWIgb3V0
cHV0KCkgewogICAgIHByaW50ICIgICB7IDAsIDAsIDAsIDAgVEhVTktfR0VORVJBVE9SKDApIElO
VFJJTlNJQyhERkc6Ok5vSW50cmluc2ljKSB9XG4iOwogICAgIHByaW50ICJ9O1xuXG4iOwogICAg
IHByaW50ICIjdW5kZWYgVEhVTktfR0VORVJBVE9SXG4iOwotICAgIHByaW50ICJleHRlcm4gSlND
X0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgJG5hbWUgPVxuIjsKKyAgICBwcmludCAiZXh0ZXJu
IGNvbnN0IHN0cnVjdCBIYXNoVGFibGUgJG5hbWUgPVxuIjsKICAgICBwcmludCAiICAgIFx7ICRj
b21wYWN0U2l6ZSwgJGNvbXBhY3RIYXNoU2l6ZU1hc2ssICRuYW1lRW50cmllcywgMCBcfTtcbiI7
CiAgICAgcHJpbnQgIn0gLy8gbmFtZXNwYWNlXG4iOwogfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1N0cmluZ1JlZi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNTdHJpbmdSZWYuaAkocmV2aXNpb24gMTAwMDg1KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU1N0cmluZ1JlZi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3
IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoV0lOMzIpICYmICFkZWZp
bmVkKF9XSU4zMikgJiYgIWRlZmluZWQoX19XSU5TQ1dfXykgXAorI2lmICFkZWZpbmVkKFdJTjMy
KSAmJiAhZGVmaW5lZChfV0lOMzIpIFwKICAgICAmJiAhKChkZWZpbmVkKF9fQ0NfQVJNKSB8fCBk
ZWZpbmVkKF9fQVJNQ0NfXykpICYmICFkZWZpbmVkKF9fbGludXhfXykpIC8qIFJWQ1QgKi8KIC8q
IQogQHR5cGVkZWYgSlNDaGFyCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsRGF0YS5jcHAJKHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg4LDI0
ICs4OCwyNCBAQCBpbmxpbmUgdm9pZCBSZWNvbXBpbGVyOjpvcGVyYXRvcigpKEpTQ2VsCiAKIG5h
bWVzcGFjZSBKU0MgewogCi1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgYXJy
YXlDb25zdHJ1Y3RvclRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxl
IGFycmF5UHJvdG90eXBlVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFi
bGUgYm9vbGVhblByb3RvdHlwZVRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFz
aFRhYmxlIGpzb25UYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBk
YXRlVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgZGF0ZUNvbnN0
cnVjdG9yVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgZXJyb3JQ
cm90b3R5cGVUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBnbG9i
YWxPYmplY3RUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBtYXRo
VGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgbnVtYmVyQ29uc3Ry
dWN0b3JUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBudW1iZXJQ
cm90b3R5cGVUYWJsZTsKLWV4dGVybiBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBvYmpl
Y3RDb25zdHJ1Y3RvclRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxl
IG9iamVjdFByb3RvdHlwZVRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRh
YmxlIHJlZ0V4cFRhYmxlOwotZXh0ZXJuIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIHJl
Z0V4cENvbnN0cnVjdG9yVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFi
bGUgcmVnRXhwUHJvdG90eXBlVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNo
VGFibGUgc3RyaW5nVGFibGU7Ci1leHRlcm4gSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUg
c3RyaW5nQ29uc3RydWN0b3JUYWJsZTsKK2V4dGVybiBjb25zdCBIYXNoVGFibGUgYXJyYXlDb25z
dHJ1Y3RvclRhYmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBhcnJheVByb3RvdHlwZVRhYmxl
OworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBib29sZWFuUHJvdG90eXBlVGFibGU7CitleHRlcm4g
Y29uc3QgSGFzaFRhYmxlIGpzb25UYWJsZTsKK2V4dGVybiBjb25zdCBIYXNoVGFibGUgZGF0ZVRh
YmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBkYXRlQ29uc3RydWN0b3JUYWJsZTsKK2V4dGVy
biBjb25zdCBIYXNoVGFibGUgZXJyb3JQcm90b3R5cGVUYWJsZTsKK2V4dGVybiBjb25zdCBIYXNo
VGFibGUgZ2xvYmFsT2JqZWN0VGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRhYmxlIG1hdGhUYWJs
ZTsKK2V4dGVybiBjb25zdCBIYXNoVGFibGUgbnVtYmVyQ29uc3RydWN0b3JUYWJsZTsKK2V4dGVy
biBjb25zdCBIYXNoVGFibGUgbnVtYmVyUHJvdG90eXBlVGFibGU7CitleHRlcm4gY29uc3QgSGFz
aFRhYmxlIG9iamVjdENvbnN0cnVjdG9yVGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRhYmxlIG9i
amVjdFByb3RvdHlwZVRhYmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSByZWdFeHBUYWJsZTsK
K2V4dGVybiBjb25zdCBIYXNoVGFibGUgcmVnRXhwQ29uc3RydWN0b3JUYWJsZTsKK2V4dGVybiBj
b25zdCBIYXNoVGFibGUgcmVnRXhwUHJvdG90eXBlVGFibGU7CitleHRlcm4gY29uc3QgSGFzaFRh
YmxlIHN0cmluZ1RhYmxlOworZXh0ZXJuIGNvbnN0IEhhc2hUYWJsZSBzdHJpbmdDb25zdHJ1Y3Rv
clRhYmxlOwogCiB2b2lkKiBKU0dsb2JhbERhdGE6OmpzRmluYWxPYmplY3RWUHRyOwogdm9pZCog
SlNHbG9iYWxEYXRhOjpqc0FycmF5VlB0cjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0xpdGVyYWxQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0xpdGVyYWxQYXJzZXIuY3BwCShyZXZpc2lvbiAxMDAwODUpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzM4LDcgKzMzOCw2IEBAIHRlbXBsYXRlIDxQYXJzZXJNb2RlIG1vZGUsIHR5cGVuYW1l
IENoYXIKICAgICByZXR1cm4gKGMgPj0gJyAnICYmIChtb2RlID09IFN0cmljdEpTT04gfHwgYyA8
PSAweGZmKSAmJiBjICE9ICdcXCcgJiYgYyAhPSB0ZXJtaW5hdG9yKSB8fCBjID09ICdcdCc7CiB9
CiAKLS8vICJpbmxpbmUiIGlzIHJlcXVpcmVkIGhlcmUgdG8gaGVscCBXSU5TQ1cgY29tcGlsZXIg
cmVzb2x2ZSBzcGVjaWFsaXplZCBhcmd1bWVudCBpbiB0ZW1wbGF0ZWQgZnVuY3Rpb25zLgogdGVt
cGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgogdGVtcGxhdGUgPFBhcnNlck1vZGUgbW9kZSwgY2hh
ciB0ZXJtaW5hdG9yPiBBTFdBWVNfSU5MSU5FIFRva2VuVHlwZSBMaXRlcmFsUGFyc2VyPENoYXJU
eXBlPjo6TGV4ZXI6OmxleFN0cmluZyhMaXRlcmFsUGFyc2VyVG9rZW48Q2hhclR5cGU+JiB0b2tl
bikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCShyZXZpc2lv
biAxMDAwODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAkod29y
a2luZyBjb3B5KQpAQCAtMjksMTMgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKLS8vIEJ1ZyAjMjY4NDM6IFdvcmsgYXJvdW5kIE1ldHJv
d2Vya3MgY29tcGlsZXIgYnVnCi0jaWYgQ09NUElMRVIoV0lOU0NXKQotI2RlZmluZSBKU0NfQ09O
U1RfSEFTSFRBQkxFCi0jZWxzZQotI2RlZmluZSBKU0NfQ09OU1RfSEFTSFRBQkxFIGNvbnN0Ci0j
ZW5kaWYKLQogbmFtZXNwYWNlIEpTQyB7CiAgICAgLy8gSGFzaCB0YWJsZSBnZW5lcmF0ZWQgYnkg
dGhlIGNyZWF0ZV9oYXNoX3RhYmxlIHNjcmlwdC4KICAgICBzdHJ1Y3QgSGFzaFRhYmxlVmFsdWUg
ewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlz
aW9uIDEwMDA4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yODMsMTQgKzI4Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBib29sIG1faXNQaW5uZWRQcm9wZXJ0eVRhYmxlIDogMTsKICAgICAgICAgYm9vbCBtX2hh
c0dldHRlclNldHRlclByb3BlcnRpZXMgOiAxOwogICAgICAgICBib29sIG1faGFzTm9uRW51bWVy
YWJsZVByb3BlcnRpZXMgOiAxOwotI2lmIENPTVBJTEVSKFdJTlNDVykKLSAgICAgICAgLy8gV29y
a2Fyb3VuZCBmb3IgU3ltYmlhbiBXSU5TQ1cgY29tcGlsZXIgdGhhdCBjYW5ub3QgcmVzb2x2ZSB1
bnNpZ25lZCB0eXBlIG9mIHRoZSBkZWNsYXJlZCAKLSAgICAgICAgLy8gYml0ZmllbGQsIHdoZW4g
dXNlZCBhcyBhcmd1bWVudCBpbiBtYWtlX3BhaXIoKSBmdW5jdGlvbiBjYWxscyBpbiBzdHJ1Y3R1
cmUuY2NwLgotICAgICAgICAvLyBUaGlzIGJpdGZpZWxkIG9wdGltaXphdGlvbiBpcyBpbnNpZ25p
ZmljYW50IGZvciB0aGUgU3ltYmlhbiBlbXVsYXRvciB0YXJnZXQuCi0gICAgICAgIHVuc2lnbmVk
IG1fYXR0cmlidXRlc0luUHJldmlvdXM7Ci0jZWxzZQogICAgICAgICB1bnNpZ25lZCBtX2F0dHJp
YnV0ZXNJblByZXZpb3VzIDogNzsKLSNlbmRpZgogICAgICAgICB1bnNpZ25lZCBtX3NwZWNpZmlj
RnVuY3Rpb25UaHJhc2hDb3VudCA6IDI7CiAgICAgICAgIHVuc2lnbmVkIG1fcHJldmVudEV4dGVu
c2lvbnMgOiAxOwogICAgICAgICB1bnNpZ25lZCBtX2RpZFRyYW5zaXRpb24gOiAxOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9BbGlnbm1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0FsaWdubWVudC5oCShyZXZpc2lvbiAxMDAwODUpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0FsaWdubWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw3ICsyNiw3IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi0jaWYgQ09NUElMRVIoR0NDKSB8fCBD
T01QSUxFUihNSU5HVykgfHwgQ09NUElMRVIoUlZDVCkgfHwgQ09NUElMRVIoV0lOU0NXKSB8fCBD
T01QSUxFUihHQ0NFKQorI2lmIENPTVBJTEVSKEdDQykgfHwgQ09NUElMRVIoTUlOR1cpIHx8IENP
TVBJTEVSKFJWQ1QpIHx8IENPTVBJTEVSKEdDQ0UpCiAgICAgI2RlZmluZSBXVEZfQUxJR05fT0Yo
dHlwZSkgX19hbGlnbm9mX18odHlwZSkKICAgICAjZGVmaW5lIFdURl9BTElHTkVEKHZhcmlhYmxl
X3R5cGUsIHZhcmlhYmxlLCBuKSB2YXJpYWJsZV90eXBlIHZhcmlhYmxlIF9fYXR0cmlidXRlX18o
KF9fYWxpZ25lZF9fKG4pKSkKICNlbGlmIENPTVBJTEVSKE1TVkMpCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAkocmV2aXNpb24gMTAwMDg1KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3
LDcgQEAKICNkZWZpbmUgQVNTRVJUSU9OU19ESVNBQkxFRF9ERUZBVUxUIDAKICNlbmRpZgogCi0j
aWYgQ09NUElMRVIoTVNWQzdfT1JfTE9XRVIpIHx8IENPTVBJTEVSKFdJTlNDVykKKyNpZiBDT01Q
SUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgSEFWRV9WQVJJQURJQ19NQUNSTyAwCiAjZWxz
ZQogI2RlZmluZSBIQVZFX1ZBUklBRElDX01BQ1JPIDEKQEAgLTI2NCw4ICsyNjQsNiBAQCB3aGls
ZSAoMCkKIAogI2lmIENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKQogI2RlZmluZSBBU1NFUlRfV0lU
SF9NRVNTQUdFKGFzc2VydGlvbikgKCh2b2lkKTApCi0jZWxpZiBDT01QSUxFUihXSU5TQ1cpCi0j
ZGVmaW5lIEFTU0VSVF9XSVRIX01FU1NBR0UoYXNzZXJ0aW9uLCBhcmcuLi4pICgodm9pZCkwKQog
I2VsaWYgQVNTRVJUX01TR19ESVNBQkxFRAogI2RlZmluZSBBU1NFUlRfV0lUSF9NRVNTQUdFKGFz
c2VydGlvbiwgLi4uKSAoKHZvaWQpMCkKICNlbHNlCkBAIC0yODEsOCArMjc5LDYgQEAgd2hpbGUg
KDApCiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgQVNTRVJUX1dJVEhf
TUVTU0FHRV9VTlVTRUQodmFyaWFibGUsIGFzc2VydGlvbikgKCh2b2lkKTApCi0jZWxpZiBDT01Q
SUxFUihXSU5TQ1cpCi0jZGVmaW5lIEFTU0VSVF9XSVRIX01FU1NBR0VfVU5VU0VEKHZhcmlhYmxl
LCBhc3NlcnRpb24sIGFyZy4uLikgKCh2b2lkKTApCiAjZWxpZiBBU1NFUlRfTVNHX0RJU0FCTEVE
CiAjaWYgQ09NUElMRVIoSU5URUwpICYmICFPUyhXSU5ET1dTKSB8fCBDT01QSUxFUihSVkNUKQog
dGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTMyNyw4ICszMjMsNiBAQCB3aGlsZSAoMCkKIAogI2lm
IENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKQogI2RlZmluZSBGQVRBTCgpICgodm9pZCkwKQotI2Vs
aWYgQ09NUElMRVIoV0lOU0NXKQotI2RlZmluZSBGQVRBTChhcmcuLi4pICgodm9pZCkwKQogI2Vs
aWYgRkFUQUxfRElTQUJMRUQKICNkZWZpbmUgRkFUQUwoLi4uKSAoKHZvaWQpMCkKICNlbHNlCkBA
IC0zNDIsOCArMzM2LDYgQEAgd2hpbGUgKDApCiAKICNpZiBDT01QSUxFUihNU1ZDN19PUl9MT1dF
UikKICNkZWZpbmUgTE9HX0VSUk9SKCkgKCh2b2lkKTApCi0jZWxpZiBDT01QSUxFUihXSU5TQ1cp
Ci0jZGVmaW5lIExPR19FUlJPUihhcmcuLi4pICAoKHZvaWQpMCkKICNlbGlmIEVSUk9SX0RJU0FC
TEVECiAjZGVmaW5lIExPR19FUlJPUiguLi4pICgodm9pZCkwKQogI2Vsc2UKQEAgLTM1NCw4ICsz
NDYsNiBAQCB3aGlsZSAoMCkKIAogI2lmIENPTVBJTEVSKE1TVkM3X09SX0xPV0VSKQogI2RlZmlu
ZSBMT0coKSAoKHZvaWQpMCkKLSNlbGlmIENPTVBJTEVSKFdJTlNDVykKLSNkZWZpbmUgTE9HKGFy
Zy4uLikgKCh2b2lkKTApCiAjZWxpZiBMT0dfRElTQUJMRUQKICNkZWZpbmUgTE9HKGNoYW5uZWws
IC4uLikgKCh2b2lkKTApCiAjZWxzZQpAQCAtMzY4LDggKzM1OCw2IEBAIHdoaWxlICgwKQogCiAj
aWYgQ09NUElMRVIoTVNWQzdfT1JfTE9XRVIpCiAjZGVmaW5lIExPR19WRVJCT1NFKGNoYW5uZWwp
ICgodm9pZCkwKQotI2VsaWYgQ09NUElMRVIoV0lOU0NXKQotI2RlZmluZSBMT0dfVkVSQk9TRShj
aGFubmVsLCBhcmcuLi4pICgodm9pZCkwKQogI2VsaWYgTE9HX0RJU0FCTEVECiAjZGVmaW5lIExP
R19WRVJCT1NFKGNoYW5uZWwsIC4uLikgKCh2b2lkKTApCiAjZWxzZQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Db21waWxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvQ29tcGlsZXIuaAkocmV2aXNpb24gMTAwMDg1KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Db21waWxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC05MSwxNCArOTEsNiBA
QAogICAgICNlbmRpZiAvKiBfX01JTkdXNjRfVkVSU0lPTl9NQUpPUiAqLwogI2VuZGlmIC8qIF9f
TUlOR1czMl9fICovCiAKLS8qIENPTVBJTEVSKFdJTlNDVykgLSBDb2RlV2FycmlvciBmb3IgU3lt
YmlhbiBlbXVsYXRvciAqLwotI2lmIGRlZmluZWQoX19XSU5TQ1dfXykKLSNkZWZpbmUgV1RGX0NP
TVBJTEVSX1dJTlNDVyAxCi0vKiBjcm9zcy1jb21waWxpbmcsIGl0IGlzIG5vdCByZWFsbHkgd2lu
ZG93cyAqLwotI3VuZGVmIFdJTjMyCi0jdW5kZWYgX1dJTjMyCi0jZW5kaWYKLQogLyogQ09NUElM
RVIoSU5URUwpIC0gSW50ZWwgQysrIENvbXBpbGVyICovCiAjaWYgZGVmaW5lZChfX0lOVEVMX0NP
TVBJTEVSKQogI2RlZmluZSBXVEZfQ09NUElMRVJfSU5URUwgMQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9MaXN0UmVmUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0UmVmUHRyLmgJKHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdFJlZlB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSwx
MiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgLy8gc2VlIGNvbW1lbnQgaW4gUGFzc1JlZlB0
ci5oIGZvciB3aHkgdGhpcyB0YWtlcyBjb25zdCByZWZlcmVuY2UKICAgICAgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFU+IExpc3RSZWZQdHIoY29uc3QgUGFzc1JlZlB0cjxVPiYgbykgOiBSZWZQdHI8
VD4obykge30KICAgICAgICAgCi0gICAgICAgIH5MaXN0UmVmUHRyKCk7CisgICAgICAgIH5MaXN0
UmVmUHRyKCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVmUHRyPFQ+IHJlYXBlciA9IHRoaXMt
PnJlbGVhc2UoKTsKKyAgICAgICAgICAgIHdoaWxlIChyZWFwZXIgJiYgcmVhcGVyLT5oYXNPbmVS
ZWYoKSkKKyAgICAgICAgICAgICAgICByZWFwZXIgPSByZWFwZXItPnJlbGVhc2VOZXh0KCk7IC8v
IGltcGxpY2l0bHkgcHJvdGVjdHMgcmVhcGVyLT5uZXh0LCB0aGVuIGRlcmVmcyByZWFwZXIKKyAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgTGlzdFJlZlB0ciYgb3BlcmF0b3I9KFQqIG9wdHIp
IHsgUmVmUHRyPFQ+OjpvcGVyYXRvcj0ob3B0cik7IHJldHVybiAqdGhpczsgfQogICAgICAgICBM
aXN0UmVmUHRyJiBvcGVyYXRvcj0oY29uc3QgUmVmUHRyPFQ+JiBvKSB7IFJlZlB0cjxUPjo6b3Bl
cmF0b3I9KG8pOyByZXR1cm4gKnRoaXM7IH0KQEAgLTQ0LDIwICs0OSw2IEBAIG5hbWVzcGFjZSBX
VEYgewogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gTGlzdFJlZlB0ciYgb3BlcmF0b3I9
KGNvbnN0IFBhc3NSZWZQdHI8VT4mIG8pIHsgUmVmUHRyPFQ+OjpvcGVyYXRvcj0obyk7IHJldHVy
biAqdGhpczsgfQogICAgIH07CiAKLSAgICAvLyBSZW1vdmUgaW5saW5lIGZvciB3aW5zY3cgY29t
cGlsZXIgdG8gcHJldmVudCB0aGUgY29tcGlsZXIgYWdyZXNzaXZlbHkgcmVzb2x2aW5nCi0gICAg
Ly8gVDo6cmVmKCkgaW4gUmVmUHRyPFQ+J3MgY29weSBjb25zdHJ1Y3Rvci4gIFRoZSBidWcgaXMg
cmVwb3J0ZWQgYXQ6Ci0gICAgLy8gaHR0cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lhLmNvbS9idWd6
aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gCi0j
aWYgIUNPTVBJTEVSKFdJTlNDVykKLSAgICBpbmxpbmUKLSNlbmRpZgotICAgIExpc3RSZWZQdHI8
VD46On5MaXN0UmVmUHRyKCkKLSAgICB7Ci0gICAgICAgIFJlZlB0cjxUPiByZWFwZXIgPSB0aGlz
LT5yZWxlYXNlKCk7Ci0gICAgICAgIHdoaWxlIChyZWFwZXIgJiYgcmVhcGVyLT5oYXNPbmVSZWYo
KSkKLSAgICAgICAgICAgIHJlYXBlciA9IHJlYXBlci0+cmVsZWFzZU5leHQoKTsgLy8gaW1wbGlj
aXRseSBwcm90ZWN0cyByZWFwZXItPm5leHQsIHRoZW4gZGVyZWZzIHJlYXBlcgotICAgIH0KLQog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUgVCogZ2V0UHRyKGNvbnN0IExpc3RSZWZQ
dHI8VD4mIHApCiAgICAgewogICAgICAgICByZXR1cm4gcC5nZXQoKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgJKHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtNjMs
MTIgKzYzLDggQEAgcHVibGljOgogICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4g
IW1fcHRyOyB9CiAKICAgICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxp
Y2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCi0j
aWYgQ09NUElMRVIoV0lOU0NXKQotICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBt
X3B0cjsgfQotI2Vsc2UKICAgICB0eXBlZGVmIFQqIE93bkFycmF5UHRyOjoqVW5zcGVjaWZpZWRC
b29sVHlwZTsKICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1
cm4gbV9wdHIgPyAmT3duQXJyYXlQdHI6Om1fcHRyIDogMDsgfQotI2VuZGlmCiAKICAgICBPd25B
cnJheVB0ciYgb3BlcmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0cjxUPiYpOwogICAgIE93bkFy
cmF5UHRyJiBvcGVyYXRvcj0oc3RkOjpudWxscHRyX3QpIHsgY2xlYXIoKTsgcmV0dXJuICp0aGlz
OyB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bhc3NPd25BcnJheVB0ci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc093bkFycmF5UHRyLmgJ
KHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc093bkFy
cmF5UHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDEyICs2Miw4IEBAIHB1YmxpYzoKICAgICBi
b29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3B0cjsgfQogCiAgICAgLy8gVGhpcyBj
b252ZXJzaW9uIG9wZXJhdG9yIGFsbG93cyBpbXBsaWNpdCBjb252ZXJzaW9uIHRvIGJvb2wgYnV0
IG5vdCB0byBvdGhlciBpbnRlZ2VyIHR5cGVzLgotI2lmIENPTVBJTEVSKFdJTlNDVykKLSAgICBv
cGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9wdHI7IH0KLSNlbHNlCiAgICAgdHlwZWRl
ZiBQdHJUeXBlIFBhc3NPd25BcnJheVB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGU7CiAgICAgb3Bl
cmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlBhc3NP
d25BcnJheVB0cjo6bV9wdHIgOiAwOyB9Ci0jZW5kaWYKIAogICAgIFBhc3NPd25BcnJheVB0ciYg
b3BlcmF0b3I9KGNvbnN0IFBhc3NPd25BcnJheVB0ciYpIHsgQ09NUElMRV9BU1NFUlQoIXNpemVv
ZihUKiksIFBhc3NPd25BcnJheVB0cl9zaG91bGRfbmV2ZXJfYmVfYXNzaWduZWRfdG8pOyByZXR1
cm4gKnRoaXM7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzUmVmUHRy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzUmVmUHRyLmgJ
KHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc1JlZlB0
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw2IEBAIG5hbWVzcGFjZSBXVEYgewogCiAg
ICAgaW5saW5lIHZvaWQgYWRvcHRlZChjb25zdCB2b2lkKikgeyB9CiAKLSNpZiAhQ09NUElMRVIo
V0lOU0NXKQogI2lmICFQTEFURk9STShRVCkKICAgICAjZGVmaW5lIFJFRl9ERVJFRl9JTkxJTkUg
QUxXQVlTX0lOTElORQogI2Vsc2UKQEAgLTQwLDEyICszOSw2IEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzcyNTMg
Zm9yIGRldGFpbHMuCiAgICAgI2RlZmluZSBSRUZfREVSRUZfSU5MSU5FIGlubGluZQogI2VuZGlm
Ci0jZWxzZQotICAgIC8vIE5vIGlubGluaW5nIGZvciBXSU5TQ1cgY29tcGlsZXIgdG8gcHJldmVu
dCB0aGUgY29tcGlsZXIgYWdyZXNzaXZlbHkgcmVzb2x2aW5nCi0gICAgLy8gVDo6cmVmKCkgYW5k
IFQ6OmRlcmVmKCksIHdoaWNoIHdpbGwgZmFpbCBjb21waWxpbmcgd2hlbiBQYXNzUmVmUHRyPFQ+
IGlzIHVzZWQgYXMKLSAgICAvLyBhIGNsYXNzIG1lbWJlciBvciBmdW5jdGlvbiBhcmd1bWVudHMg
YmVmb3JlIFQgaXMgZGVmaW5lZC4KLSAgICAjZGVmaW5lIFJFRl9ERVJFRl9JTkxJTkUKLSNlbmRp
ZgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gUkVGX0RFUkVGX0lOTElORSB2b2lkIHJlZklm
Tm90TnVsbChUKiBwdHIpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9T
dGF0aWNDb25zdHJ1Y3RvcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1N0YXRpY0NvbnN0cnVjdG9ycy5oCShyZXZpc2lvbiAxMDAwODUpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1N0YXRpY0NvbnN0cnVjdG9ycy5oCSh3b3JraW5nIGNvcHkpCkBAIC01
NCw5ICs1NCw2IEBACiAjaWYgQ09NUElMRVIoTVNWQzdfT1JfTE9XRVIpCiAjZGVmaW5lIERFRklO
RV9HTE9CQUwodHlwZSwgbmFtZSkgXAogICAgIGNvbnN0IHR5cGUgbmFtZTsKLSNlbGlmIENPTVBJ
TEVSKFdJTlNDVykKLSNkZWZpbmUgREVGSU5FX0dMT0JBTCh0eXBlLCBuYW1lLCBhcmcuLi4pIFwK
LSAgICBjb25zdCB0eXBlIG5hbWU7CiAjZWxzZQogI2RlZmluZSBERUZJTkVfR0xPQkFMKHR5cGUs
IG5hbWUsIC4uLikgXAogICAgIGNvbnN0IHR5cGUgbmFtZTsKQEAgLTY4LDkgKzY1LDYgQEAKICNp
ZiBDT01QSUxFUihNU1ZDN19PUl9MT1dFUikKICNkZWZpbmUgREVGSU5FX0dMT0JBTCh0eXBlLCBu
YW1lKSBcCiAgICAgdm9pZCAqIG5hbWVbKHNpemVvZih0eXBlKSArIHNpemVvZih2b2lkICopIC0g
MSkgLyBzaXplb2Yodm9pZCAqKV07Ci0jZWxpZiBDT01QSUxFUihXSU5TQ1cpCi0jZGVmaW5lIERF
RklORV9HTE9CQUwodHlwZSwgbmFtZSwgYXJnLi4uKSBcCi0gICAgdm9pZCAqIG5hbWVbKHNpemVv
Zih0eXBlKSArIHNpemVvZih2b2lkICopIC0gMSkgLyBzaXplb2Yodm9pZCAqKV07CiAjZWxzZQog
I2RlZmluZSBERUZJTkVfR0xPQkFMKHR5cGUsIG5hbWUsIC4uLikgXAogICAgIHZvaWQgKiBuYW1l
WyhzaXplb2YodHlwZSkgKyBzaXplb2Yodm9pZCAqKSAtIDEpIC8gc2l6ZW9mKHZvaWQgKildOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmlj
b2RlUXQ0LmgJKHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9xdDQvVW5pY29kZVF0NC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw3ICs2Miw3IEBA
IG5hbWVzcGFjZSBRVW5pY29kZVRhYmxlcyB7CiBRVF9FTkRfTkFNRVNQQUNFCiAKIC8vIHVnbHkg
aGFjayB0byBtYWtlIFVDaGFyIGNvbXBhdGlibGUgd2l0aCBKU0NoYXIgaW4gQVBJL0pTU3RyaW5n
UmVmLmgKLSNpZiBkZWZpbmVkKFFfT1NfV0lOKSB8fCBDT01QSUxFUihXSU5TQ1cpIHx8IChDT01Q
SUxFUihSVkNUKSAmJiAhT1MoTElOVVgpKQorI2lmIGRlZmluZWQoUV9PU19XSU4pIHx8IChDT01Q
SUxFUihSVkNUKSAmJiAhT1MoTElOVVgpKQogdHlwZWRlZiB3Y2hhcl90IFVDaGFyOwogI2Vsc2UK
IHR5cGVkZWYgdWludDE2X3QgVUNoYXI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDAwODUp
CisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
NSBAQAorMjAxMS0xMS0xMiAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5j
b20+CisKKyAgICAgICAgW1F0XVtTeW1iaWFuXSBSZW1vdmUgc3VwcG9ydCBmb3IgV0lOU0NXIGNv
bXBpbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MDE3OAorCisgICAgICAgIFJldmlld2VkIGJ5IENoYW5nIFNodS4KKworICAgICAgICBObyBuZXcg
dGVzdHMgYXMgdGhlcmUgaXMgbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBjb25m
aWcuaDogUmV2ZXJ0IHI1NzA3Ni4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGUuaDogUmV2ZXJ0IHI0OTAxNyBhbmQgcjQ5NTU2LgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2VIYW5kbGU6OkNhY2hlZFJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDogUmV2ZXJ0IHI1MjczMy4KKyAgICAgICAgKGNv
bXBhcmVFcXVhbCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG06IFJldmVydCByNDU1NTMuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6IERpdHRvLgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBEaXR0by4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5j
cHA6IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDogRGl0dG8uCisKIDIwMTEtMTEt
MTIgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBX
ZWJWVFQgcGFyc2luZyBsYXlvdXQgdGVzdHMuICBQYXRjaCBhbHNvIGluY2x1ZGVzIGNyZWF0aW5n
IGEgVGV4dFRyYWNrQ3VlTGlzdApJbmRleDogU291cmNlL1dlYkNvcmUvY29uZmlnLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY29uZmlnLmgJKHJldmlzaW9uIDEwMDA4NSkKKysrIFNv
dXJjZS9XZWJDb3JlL2NvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDAsNyArMTQwLDcgQEAK
IAogI2lmIENPTVBJTEVSKE1TVkMpCiAjZGVmaW5lIFNLSVBfU1RBVElDX0NPTlNUUlVDVE9SU19P
Tl9NU1ZDIDEKLSNlbGlmICFDT01QSUxFUihXSU5TQ1cpCisjZWxzZQogI2RlZmluZSBTS0lQX1NU
QVRJQ19DT05TVFJVQ1RPUlNfT05fR0NDIDEKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24g
MTAwMDg1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTMwMzYsNyArMzAzNiw3IEBAIHN1YiBHZW5lcmF0ZUhh
c2hUYWJsZQogICAgIHB1c2goQGltcGxDb250ZW50LCAifTtcblxuIik7CiAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIjdW5kZWYgVEhVTktfR0VORVJBVE9SXG4iKTsKICAgICBteSAkY29tcGFjdFNp
emVNYXNrID0gJG51bUVudHJpZXMgLSAxOwotICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGlj
IEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlICRuYW1lID0geyAkY29tcGFjdFNpemUsICRj
b21wYWN0U2l6ZU1hc2ssICRuYW1lRW50cmllcywgMCB9O1xuIik7CisgICAgcHVzaChAaW1wbENv
bnRlbnQsICJzdGF0aWMgY29uc3QgSGFzaFRhYmxlICRuYW1lID0geyAkY29tcGFjdFNpemUsICRj
b21wYWN0U2l6ZU1hc2ssICRuYW1lRW50cmllcywgMCB9O1xuIik7CiB9CiAKICMgUGF1bCBIc2ll
aCdzIFN1cGVyRmFzdEhhc2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAJKHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMs
NyArNTMsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0RXZlbnRDCiB9Owog
CiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNo
VGFibGUgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvclRhYmxlID0geyA5LCA3LCBKU1Rlc3RFdmVudENv
bnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0
RXZlbnRDb25zdHJ1Y3RvclRhYmxlID0geyA5LCA3LCBKU1Rlc3RFdmVudENvbnN0cnVjdG9yVGFi
bGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAjaWYgRU5B
QkxFKEpJVCkKICNkZWZpbmUgVEhVTktfR0VORVJBVE9SKGdlbmVyYXRvcikgLCBnZW5lcmF0b3IK
QEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEV2ZW50
QwogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGljIEpTQ19DT05TVF9IQVNIVEFC
TEUgSGFzaFRhYmxlIEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3RvclRhYmxlID0geyAx
LCAwLCBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9Owor
c3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3JU
YWJsZSA9IHsgMSwgMCwgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yVGFibGVWYWx1
ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0
b3I6OnNfaW5mbyA9IHsgIlRlc3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IiLCAmRE9NQ29u
c3RydWN0b3JPYmplY3Q6OnNfaW5mbywgJkpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25zdHJ1Y3Rv
clRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEV2ZW50Q29uc3RydWN0b3JDb25z
dHJ1Y3RvcikgfTsKIAogSlNUZXN0RXZlbnRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yOjpKU1Rlc3RF
dmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGNvbnN0
IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEV2ZW50QwogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRP
Ugotc3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdEV2ZW50Q29uc3Ry
dWN0b3JQcm90b3R5cGVUYWJsZSA9IHsgMSwgMCwgSlNUZXN0RXZlbnRDb25zdHJ1Y3RvclByb3Rv
dHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEV2ZW50
Q29uc3RydWN0b3JQcm90b3R5cGVUYWJsZSA9IHsgMSwgMCwgSlNUZXN0RXZlbnRDb25zdHJ1Y3Rv
clByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0RXZlbnRD
b25zdHJ1Y3RvclByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdEV2ZW50Q29uc3RydWN0b3JQcm90
b3R5cGUiLCAmSlNDOjpKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sICZKU1Rlc3RFdmVudENvbnN0
cnVjdG9yUHJvdG90eXBlVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0RXZlbnRD
b25zdHJ1Y3RvclByb3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTVGVzdEV2ZW50Q29uc3RydWN0
b3JQcm90b3R5cGU6OnNlbGYoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJKHJldmlzaW9uIDEwMDA4NSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw3ICs1NSw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFi
bGVWYWx1ZSBKU1Rlc3RJbnRlcmYKIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRp
YyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RJbnRlcmZhY2VUYWJsZSA9IHsg
MiwgMSwgSlNUZXN0SW50ZXJmYWNlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBIYXNo
VGFibGUgSlNUZXN0SW50ZXJmYWNlVGFibGUgPSB7IDIsIDEsIEpTVGVzdEludGVyZmFjZVRhYmxl
VmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxlIGZvciBjb25zdHJ1Y3RvciAqLwogI2lmIEVOQUJM
RShKSVQpCiAjZGVmaW5lIFRIVU5LX0dFTkVSQVRPUihnZW5lcmF0b3IpICwgZ2VuZXJhdG9yCkBA
IC03NCw3ICs3NCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RJbnRlcmYK
IH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFTSFRBQkxF
IEhhc2hUYWJsZSBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRhYmxlID0geyAxLCAwLCBKU1Rl
c3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFz
aFRhYmxlIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAsIEpTVGVzdElu
dGVyZmFjZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rl
c3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdEludGVyZmFjZUNvbnN0cnVj
dG9yIiwgJkRPTUNvbnN0cnVjdG9yT2JqZWN0OjpzX2luZm8sICZKU1Rlc3RJbnRlcmZhY2VDb25z
dHJ1Y3RvclRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEludGVyZmFjZUNvbnN0
cnVjdG9yKSB9OwogCiBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6SlNUZXN0SW50ZXJmYWNl
Q29uc3RydWN0b3IoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCkBAIC0xNDYsNyArMTQ2LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdEludGVyZgogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGljIEpTQ19D
T05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdEludGVyZmFjZVByb3RvdHlwZVRhYmxlID0g
eyAxLCAwLCBKU1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9Oworc3RhdGlj
IGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RJbnRlcmZhY2VQcm90b3R5cGVUYWJsZSA9IHsgMSwgMCwg
SlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5m
byBKU1Rlc3RJbnRlcmZhY2VQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3RJbnRlcmZhY2VQcm90
b3R5cGUiLCAmSlNDOjpKU05vbkZpbmFsT2JqZWN0OjpzX2luZm8sICZKU1Rlc3RJbnRlcmZhY2VQ
cm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RJbnRlcmZhY2VQcm90
b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU1Rlc3RJbnRlcmZhY2VQcm90b3R5cGU6OnNlbGYoRXhl
Y1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAkocmV2aXNpb24gMTAwMDg1
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHN0
YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RNZWRpYVEKIH07CiAKICN1bmRlZiBUSFVO
S19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVGFibGUgPSB7IDIsIDEsIEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVGFibGUgPSB7IDIsIDEsIEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJUYWJsZVZhbHVlcywgMCB9OwogLyogSGFzaCB0YWJsZSBmb3IgY29uc3RydWN0b3Ig
Ki8KICNpZiBFTkFCTEUoSklUKQogI2RlZmluZSBUSFVOS19HRU5FUkFUT1IoZ2VuZXJhdG9yKSAs
IGdlbmVyYXRvcgpAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUg
SlNUZXN0TWVkaWFRCiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NP
TlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0
cnVjdG9yVGFibGUgPSB7IDEsIDAsIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1
Y3RvclRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvclRhYmxlID0geyAxLCAwLCBKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJ
bmZvIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAi
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvciIsICZET01Db25zdHJ1Y3Rvck9i
amVjdDo6c19pbmZvLCAmSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yVGFi
bGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNv
bnN0cnVjdG9yKSB9OwogCiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6
OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKQEAgLTExNiw3ICsxMTYsNyBA
QCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0TWVkaWFRCiB9OwogCiAjdW5kZWYg
VEhVTktfR0VORVJBVE9SCi1zdGF0aWMgSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxlID0geyAyLCAxLCBKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBj
b25zdCBIYXNoVGFibGUgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxl
ID0geyAyLCAxLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlVGFibGVWYWx1
ZXMsIDAgfTsKIGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlOjpzX2luZm8gPSB7ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSIs
ICZKU0M6OkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywgJkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXJQcm90b3R5cGVUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKSB9OwogCiBKU09iamVjdCogSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6c2VsZihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3Iu
Y3BwCShyZXZpc2lvbiAxMDAwODUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDcgKzQ5LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE5hbWVkQwogfTsK
IAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFz
aFRhYmxlIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JUYWJsZSA9IHsgMiwgMSwgSlNUZXN0TmFtZWRD
b25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVz
dE5hbWVkQ29uc3RydWN0b3JUYWJsZSA9IHsgMiwgMSwgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvclRh
YmxlVmFsdWVzLCAwIH07CiAvKiBIYXNoIHRhYmxlIGZvciBjb25zdHJ1Y3RvciAqLwogI2lmIEVO
QUJMRShKSVQpCiAjZGVmaW5lIFRIVU5LX0dFTkVSQVRPUihnZW5lcmF0b3IpICwgZ2VuZXJhdG9y
CkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3ROYW1l
ZEMKIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFTSFRB
QkxFIEhhc2hUYWJsZSBKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0b3JUYWJsZSA9IHsg
MSwgMCwgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsK
K3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9y
VGFibGUgPSB7IDEsIDAsIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3RvclRhYmxlVmFs
dWVzLCAwIH07CiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVj
dG9yOjpzX2luZm8gPSB7ICJUZXN0TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yIiwgJkRPTUNv
bnN0cnVjdG9yT2JqZWN0OjpzX2luZm8sICZKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29uc3RydWN0
b3JUYWJsZSwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3ROYW1lZENvbnN0cnVjdG9yQ29u
c3RydWN0b3IpIH07CiAKIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JDb25zdHJ1Y3Rvcjo6SlNUZXN0
TmFtZWRDb25zdHJ1Y3RvckNvbnN0cnVjdG9yKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBjb25z
dCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3ROYW1lZEMKIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFU
T1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3ROYW1lZENvbnN0
cnVjdG9yUHJvdG90eXBlVGFibGUgPSB7IDEsIDAsIEpTVGVzdE5hbWVkQ29uc3RydWN0b3JQcm90
b3R5cGVUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3ROYW1l
ZENvbnN0cnVjdG9yUHJvdG90eXBlVGFibGUgPSB7IDEsIDAsIEpTVGVzdE5hbWVkQ29uc3RydWN0
b3JQcm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE5hbWVk
Q29uc3RydWN0b3JQcm90b3R5cGU6OnNfaW5mbyA9IHsgIlRlc3ROYW1lZENvbnN0cnVjdG9yUHJv
dG90eXBlIiwgJkpTQzo6SlNOb25GaW5hbE9iamVjdDo6c19pbmZvLCAmSlNUZXN0TmFtZWRDb25z
dHJ1Y3RvclByb3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE5hbWVk
Q29uc3RydWN0b3JQcm90b3R5cGUpIH07CiAKIEpTT2JqZWN0KiBKU1Rlc3ROYW1lZENvbnN0cnVj
dG9yUHJvdG90eXBlOjpzZWxmKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCShyZXZpc2lvbiAxMDAwODUpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTMyLDcgKzEzMiw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RP
YmpUYWIKIH07CiAKICN1bmRlZiBUSFVOS19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFT
SFRBQkxFIEhhc2hUYWJsZSBKU1Rlc3RPYmpUYWJsZSA9IHsgMTM1LCAxMjcsIEpTVGVzdE9ialRh
YmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9ialRhYmxlID0g
eyAxMzUsIDEyNywgSlNUZXN0T2JqVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9y
IGNvbnN0cnVjdG9yICovCiAjaWYgRU5BQkxFKEpJVCkKICNkZWZpbmUgVEhVTktfR0VORVJBVE9S
KGdlbmVyYXRvcikgLCBnZW5lcmF0b3IKQEAgLTE2Myw3ICsxNjMsNyBAQCBzdGF0aWMgY29uc3Qg
SGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqQ29uCiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9S
Ci1zdGF0aWMgSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0T2JqQ29uc3RydWN0
b3JUYWJsZSA9IHsgMzMsIDMxLCBKU1Rlc3RPYmpDb25zdHJ1Y3RvclRhYmxlVmFsdWVzLCAwIH07
CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdE9iakNvbnN0cnVjdG9yVGFibGUgPSB7IDMz
LCAzMSwgSlNUZXN0T2JqQ29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogCiBDT01QSUxFX0FT
U0VSVCgwID09IFRlc3RPYmo6OkNPTlNUX1ZBTFVFXzAsIFRlc3RPYmpFbnVtQ09OU1RfVkFMVUVf
MElzV3JvbmdVc2VEb250Q2hlY2tFbnVtcyk7CiBDT01QSUxFX0FTU0VSVCgxID09IFRlc3RPYmo6
OkNPTlNUX1ZBTFVFXzEsIFRlc3RPYmpFbnVtQ09OU1RfVkFMVUVfMUlzV3JvbmdVc2VEb250Q2hl
Y2tFbnVtcyk7CkBAIC0yOTAsNyArMjkwLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdE9ialBybwogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGljIEpTQ19D
T05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlID0geyAxMzcs
IDEyNywgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBjb25zdCBI
YXNoVGFibGUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGUgPSB7IDEzNywgMTI3LCBKU1Rlc3RPYmpQ
cm90b3R5cGVUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE9ialByb3Rv
dHlwZTo6c19pbmZvID0geyAiVGVzdE9ialByb3RvdHlwZSIsICZKU0M6OkpTTm9uRmluYWxPYmpl
Y3Q6OnNfaW5mbywgJkpTVGVzdE9ialByb3RvdHlwZVRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTVGVzdE9ialByb3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTVGVzdE9ialByb3RvdHlw
ZTo6c2VsZihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmNwcAkocmV2aXNpb24gMTAwMDg1KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZh
bHVlIEpTVGVzdFNlcmlhbAogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3RhdGljIEpT
Q19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUlu
dGVyZmFjZVRhYmxlID0geyA0LCAzLCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VUYWJsZVZhbHVlcywgMCB9Oworc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VUYWJsZSA9IHsgNCwgMywgSlNUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlVGFibGVWYWx1ZXMsIDAgfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNv
bnN0cnVjdG9yICovCiAjaWYgRU5BQkxFKEpJVCkKICNkZWZpbmUgVEhVTktfR0VORVJBVE9SKGdl
bmVyYXRvcikgLCBnZW5lcmF0b3IKQEAgLTczLDcgKzczLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hU
YWJsZVZhbHVlIEpTVGVzdFNlcmlhbAogfTsKIAogI3VuZGVmIFRIVU5LX0dFTkVSQVRPUgotc3Rh
dGljIEpTQ19DT05TVF9IQVNIVEFCTEUgSGFzaFRhYmxlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yVGFibGUgPSB7IDEsIDAsIEpTVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yVGFibGVWYWx1ZXMsIDAgfTsKK3N0YXRpYyBj
b25zdCBIYXNoVGFibGUgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3Ry
dWN0b3JUYWJsZSA9IHsgMSwgMCwgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
Q29uc3RydWN0b3JUYWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3IiLCAmRE9NQ29uc3RydWN0b3JP
YmplY3Q6OnNfaW5mbywgJkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNvbnN0
cnVjdG9yVGFibGUsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlQ29uc3RydWN0b3IpIH07CiAKIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZUNvbnN0cnVjdG9yOjpKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2VDb25zdHJ1Y3RvcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKQEAgLTExNiw3ICsxMTYsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxl
VmFsdWUgSlNUZXN0U2VyaWFsCiB9OwogCiAjdW5kZWYgVEhVTktfR0VORVJBVE9SCi1zdGF0aWMg
SlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlUHJvdG90eXBlVGFibGUgPSB7IDEsIDAsIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZVByb3RvdHlwZVRhYmxlVmFsdWVzLCAwIH07CitzdGF0aWMgY29uc3QgSGFz
aFRhYmxlIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZVRhYmxl
ID0geyAxLCAwLCBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcm90b3R5cGVU
YWJsZVZhbHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZVByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZVByb3RvdHlwZSIsICZKU0M6OkpTTm9uRmluYWxPYmplY3Q6OnNfaW5mbywg
JkpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByb3RvdHlwZVRhYmxlLCAwLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVBy
b3RvdHlwZSkgfTsKIAogSlNPYmplY3QqIEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZVByb3RvdHlwZTo6c2VsZihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VIYW5kbGUuaAkocmV2aXNpb24gMTAwMDg1KQorKysgU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlSGFuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4
LDggKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG9wZXJhdG9yISgp
IGNvbnN0IHsgcmV0dXJuICFtX3Jlc291cmNlOyB9CiAgICAgICAgIAogICAgICAgICAvLyBUaGlz
IGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb24gdG8gYm9vbCBi
dXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCi0gICAgICAgIC8vIFBhcmVudGhlc2lzIGlz
IG5lZWRlZCBmb3Igd2luc2N3IGNvbXBpbGVyIHRvIHJlc29sdmUgY2xhc3MgcXVhbGlmaWVyIGlu
IHRoaXMgY2FzZS4KLSAgICAgICAgdHlwZWRlZiBDYWNoZWRSZXNvdXJjZSogKENhY2hlZFJlc291
cmNlSGFuZGxlQmFzZTo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpOworICAgICAgICB0eXBlZGVmIENh
Y2hlZFJlc291cmNlKiBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6OipVbnNwZWNpZmllZEJvb2xU
eXBlOwogICAgICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1
cm4gbV9yZXNvdXJjZSA/ICZDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6Om1fcmVzb3VyY2UgOiAw
OyB9CiAKICAgICBwcm90ZWN0ZWQ6CkBAIC02MCw3ICs1OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUj4gY2xhc3MgQ2FjaGVkUmVzb3VyY2VIYW5kbGUgOiBw
dWJsaWMgQ2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlIHsKICAgICBwdWJsaWM6IAogICAgICAgICBD
YWNoZWRSZXNvdXJjZUhhbmRsZSgpIHsgfQotICAgICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZShS
KiByZXMpOworICAgICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZShSKiByZXMpIDogQ2FjaGVkUmVz
b3VyY2VIYW5kbGVCYXNlKHJlcykgeyB9CiAgICAgICAgIENhY2hlZFJlc291cmNlSGFuZGxlKGNv
bnN0IENhY2hlZFJlc291cmNlSGFuZGxlPFI+JiBvKSA6IENhY2hlZFJlc291cmNlSGFuZGxlQmFz
ZShvKSB7IH0KIAogICAgICAgICBSKiBnZXQoKSBjb25zdCB7IHJldHVybiByZWludGVycHJldF9j
YXN0PFIqPihDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2U6OmdldCgpKTsgfQpAQCAtNzIsMTcgKzcx
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3Qg
Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlJiBvKSBjb25zdCB7IHJldHVybiBnZXQoKSAhPSBvLmdl
dCgpOyB9CiAgICAgfTsKIAotICAgIC8vIERvbid0IGlubGluZSBmb3Igd2luc2N3IGNvbXBpbGVy
IHRvIHByZXZlbnQgdGhlIGNvbXBpbGVyIGFnZ3Jlc3NpdmVseSByZXNvbHZpbmcKLSAgICAvLyB0
aGUgYmFzZSBjbGFzcyBvZiBSKiB3aGVuIENhY2hlZFJlc291cmNlSGFuZGxlcjxUPihSKikgaXMg
aW5saW5lZC4gIFRoZSBidWcgaXMKLSAgICAvLyByZXBvcnRlZCBhdDogaHR0cHM6Ly94ZGFidWcw
MDEuZXh0Lm5va2lhLmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KLSAgICB0ZW1w
bGF0ZSA8Y2xhc3MgUj4KLSNpZiAhQ09NUElMRVIoV0lOU0NXKQotICAgIGlubGluZQotI2VuZGlm
Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Uj46OkNhY2hlZFJlc291cmNlSGFuZGxlKFIqIHJl
cykgOiBDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UocmVzKSAKLSAgICB7Ci0gICAgfQotICAgIAog
ICAgIHRlbXBsYXRlIDxjbGFzcyBSLCBjbGFzcyBSUj4gYm9vbCBvcGVyYXRvcj09KGNvbnN0IENh
Y2hlZFJlc291cmNlSGFuZGxlPFI+JiBoLCBjb25zdCBSUiogcmVzKSAKICAgICB7IAogICAgICAg
ICByZXR1cm4gaC5nZXQoKSA9PSByZXM7IApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDEwMDA4NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSwx
MSArODUsNyBAQAogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjZW5kaWYKIAotI2lmIENP
TVBJTEVSKFdJTlNDVykKLSNkZWZpbmUgY29tcGFyZUVxdWFsKHQsIHUpICAgICAgKCh0KSA9PSAo
dSkpCi0jZWxzZQogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wg
Y29tcGFyZUVxdWFsKGNvbnN0IFQmIHQsIGNvbnN0IFUmIHUpIHsgcmV0dXJuIHQgPT0gc3RhdGlj
X2Nhc3Q8VD4odSk7IH0KLSNlbmRpZgogCiAjZGVmaW5lIFNFVF9WQVIoZ3JvdXAsIHZhcmlhYmxl
LCB2YWx1ZSkgXAogICAgIGlmICghY29tcGFyZUVxdWFsKGdyb3VwLT52YXJpYWJsZSwgdmFsdWUp
KSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDAwODUpCisrKyBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMS0xMiAgTGFz
emxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtT
eW1iaWFuXSBSZW1vdmUgc3VwcG9ydCBmb3IgV0lOU0NXIGNvbXBpbGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IENoYW5nIFNodS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1N0cmluZy5oOgor
CiAyMDExLTExLTEyICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzEwMjk0MTkxPiBSRUdSRVNTSU9OIChXZWJLaXQyKTogTG9va3VwIGJ1
YmJsZSBzaXplZCBhbmQgcG9zaXRpb25lZCBpbmNvcnJlY3RseSAodmVydGljYWxseSBvZmYpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuaAkocmV2aXNpb24gMTAwMDg1
KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM2LDcgKzM2LDcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLSNpZiAhZGVmaW5l
ZChXSU4zMikgJiYgIWRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChfX1dJTlNDV19fKSBcCisj
aWYgIWRlZmluZWQoV0lOMzIpICYmICFkZWZpbmVkKF9XSU4zMikgXAogICAgICYmICEoKGRlZmlu
ZWQoX19DQ19BUk0pIHx8IGRlZmluZWQoX19BUk1DQ19fKSkgJiYgIWRlZmluZWQoX19saW51eF9f
KSkgLyogUlZDVCAqLwogICAgIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgV0tDaGFyOwogI2Vsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>