<?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>140668</bug_id>
          
          <creation_ts>2015-01-20 02:34:18 -0800</creation_ts>
          <short_desc>Remove ENABLE(INSPECTOR) ifdef guards</short_desc>
          <delta_ts>2015-01-21 00:45:14 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>burg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>ossy</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1062683</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-01-20 02:34:18 -0800</bug_when>
    <thetext>Remove ENABLE(INSPECTOR) ifdef guards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062684</commentid>
    <comment_count>1</comment_count>
      <attachid>244978</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-01-20 02:34:32 -0800</bug_when>
    <thetext>Created attachment 244978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062685</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-01-20 02:35:08 -0800</bug_when>
    <thetext>webkit-dev thread: https://lists.webkit.org/pipermail/webkit-dev/2015-January/027153.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062686</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-20 02:36:59 -0800</bug_when>
    <thetext>Attachment 244978 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 43 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062688</commentid>
    <comment_count>4</comment_count>
      <attachid>244979</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-01-20 02:50:36 -0800</bug_when>
    <thetext>Created attachment 244979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063015</commentid>
    <comment_count>5</comment_count>
      <attachid>244979</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-21 00:45:11 -0800</bug_when>
    <thetext>Comment on attachment 244979
Patch

Clearing flags on attachment: 244979

Committed r178820: &lt;http://trac.webkit.org/changeset/178820&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063016</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-21 00:45:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244978</attachid>
            <date>2015-01-20 02:34:32 -0800</date>
            <delta_ts>2015-01-20 02:50:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140668-20150120023437.patch</filename>
            <type>text/plain</type>
            <size>373792</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4Njk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZDlkOWNhZWVjMjMzODhlZTc3ZjRjODdkMzYyMjdjNGJmODY3MmM3Li4xN2Q5MDVmMjU4NGNjOTU0
Yjk5MTc3MjFlMjg4NDVlYjMyODE5Njc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OSBAQAorMjAxNS0wMS0yMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEUoSU5TUEVDVE9SKSBpZmRlZiBndWFyZHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDY2OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogYmluZGluZ3MvU2NyaXB0
VmFsdWUuY3BwOgorICAgICAgICAoRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU6OnRvSW5zcGVjdG9y
VmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg6CisgICAgICAgICogaW5z
cGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1l
c3NhZ2UuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRCYXNlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9z
dC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHRNb2R1bGUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1v
ZHVsZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg6CisgICAgICAgICogaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0pT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgICogaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0
ZWRTY3JpcHRIb3N0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0
UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA6CisgICAgICAg
ICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oOgorICAgICAgICAq
IGluc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SmF2YVNjcmlwdENhbGxGcmFtZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpTY3JpcHRDYWxsRnJhbWU6OmJ1aWxkSW5zcGVj
dG9yT2JqZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6
OlNjcmlwdENhbGxTdGFjazo6YnVpbGRJbnNwZWN0b3JBcnJheSk6CisgICAgICAgICogaW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFjay5oOgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHREZWJ1Z1Nl
cnZlci5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50
cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2Fn
ZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAg
ICAgICAoQ3BwR2VuZXJhdG9yVGVtcGxhdGVzKToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3Vs
dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13
aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmct
Y29tbWFuZC1zaXplcy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJz
Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdDoKKyAgICAg
ICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVy
ZW50LWRvbWFpbi5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQ6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29u
LXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24t
cmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUt
cmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogcnVudGltZS9U
eXBlU2V0LmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVNldDo6aW5zcGVjdG9yVHlwZVNldCk6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZVNoYXBlOjppbnNwZWN0b3JSZXByZXNlbnRhdGlvbik6CisK
IDIwMTUtMDEtMTkgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQSAiY2FjaGVkIiBudWxsIHNldHRlciBzaG91bGQgdGhyb3cgYSBUeXBlRXhjZXB0aW9uIHdo
ZW4gY2FsbGVkIGluIHN0cmljdCBtb2RlIGFuZCBkb2Vzbid0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDllYWRlNzZjM2U4ZGVl
ZWJmMTI0ZWFkZGNkM2UzNDBjYWM0OTUxYzcuLjEyNDFjYmQwYjYzYjBjZmRlNmQwYjQyYzVjYTAw
NmUyNGMxMzkxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjAgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgRU5BQkxFKElOU1BF
Q1RPUikgaWZkZWYgZ3VhcmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDA2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDE1LTAxLTE2ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vha1B0ciBmdW5j
dGlvbnMgY3Jhc2ggd2hlbiBjcmVhdGVkIHdpdGggZGVmYXVsdCBjb25zdHJ1Y3RvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDljNmEwYjcyNWNkMTcxM2UwZGZjZGI4NTBlY2ZlYTdlYzFhNjk5NjEuLjg3MWY1OTE2
NWQ4M2UyZGRiMWRjOTJkOTdkZjE0NzY2OTk1MTIzYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MDUgQEAKKzIwMTUtMDEtMjAgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
KworICAgICAgICBSZW1vdmUgRU5BQkxFKElOU1BFQ1RPUikgaWZkZWYgZ3VhcmRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA2NjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9P
UFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ29t
bWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpzdXBwb3J0
c1Byb2ZpbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OnN1cHBvcnRz
UmljaFNvdXJjZUluZm8pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRl
bmRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmNvbGxlY3RJc29sYXRl
ZENvbnRleHRzKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdEdsb2JhbE9iamVjdDo6c2V0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9T
Y3JpcHRHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRE
ZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdT
ZXJ2ZXIuaDoKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
OjppbnNwZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmNwcDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElIb3N0LmlkbDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9D
b21tYW5kTGluZUFQSU1vZHVsZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9ET01FZGl0b3IuY3Bw
OgorICAgICAgICAqIGluc3BlY3Rvci9ET01FZGl0b3IuaDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
RE9NUGF0Y2hTdXBwb3J0LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5j
cHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5o
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckNsaWVudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0
cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmNvbnNvbGVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25zb2xlVGltaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZVRpbWVTdGFtcCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0UHJvZmlsaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcFByb2ZpbGlu
Zyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5j
cHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckRhdGFiYXNlUmVzb3VyY2UuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5p
ZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuY3BwOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckluZGV4ZWREQkFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsZWFyV2lu
ZG93T2JqZWN0SW5Xb3JsZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmlzRGVidWdnZXJQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc2VydERPTU5vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVtb3ZlRE9NTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlbW92ZURPTU5vZGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTW9kaWZ5RE9N
QXR0cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1v
ZGlmeURPTUF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRSZW1vdmVET01BdHRyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkSW52YWxpZGF0ZVN0eWxlQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lV2luZG93RGlzY2FyZGVkKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bWVkaWFRdWVyeVJlc3VsdENoYW5nZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQdXNoU2hh
ZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxQb3BTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkQ3JlYXRlTmFtZWRGbG93KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbFJlbW92ZU5hbWVkRmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENoYW5nZVJlZ2lvbk92ZXJzZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWdpc3Rlck5hbWVkRmxv
d0NvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkVW5yZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYW5kbGVUb3Vj
aEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFu
ZGxlTW91c2VQcmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmZvcmNlUHNldWRvU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpjaGFyYWN0ZXJEYXRhTW9kaWZpZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFhNTEh0dHBSZXF1ZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVtb3ZlVGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsQ2FsbEZ1
bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
Q2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJSZWFkeVN0YXRlQ2hh
bmdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsRGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZERpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsSGFuZGxlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRIYW5kbGVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW50T25XaW5kb3cpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50
T25XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsRXZhbHVhdGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRFdmFsdWF0ZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OnNjcmlwdHNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTGF5b3V0KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTGF5b3V0KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2Nyb2xsKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoWEhSTG9h
ZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RGlzcGF0Y2hYSFJMb2FkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsUGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRQYWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxTY3JvbGxMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFNjcm9sbExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2FsY3VsYXRlU3R5bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNhbGN1bGF0ZVN0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2NoZWR1bGVTdHls
ZVJlY2FsY3VsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjphcHBseUVtdWxhdGVkTWVkaWEpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyUGluZ0xvYWRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTG9hZFJlc291
cmNlRnJvbU1lbW9yeUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVy
WEZyYW1lT3B0aW9uc0RlbmllZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmNvbnRpbnVlV2l0aFBvbGljeURvd25sb2FkKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVXaXRoUG9saWN5SWdub3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZURhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hM
b2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmFpbExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojpkb2N1bWVudFRocmVhZGFibGVMb2FkZXJTdGFydGVkTG9hZGluZ0ZvckNsaWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxMb2FkWEhSKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbFhIUkxvYWRp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5p
c2hYSFJMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVhIUlJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbExvYWRYSFJTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTG9hZFhIUlN5bmNocm9ub3VzbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEV4
ZWN1dGlvbkJsb2NrZWRCeUNTUCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFJlY2VpdmVTY3JpcHRSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRvbUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9hZEV2ZW50RmlyZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZURldGFj
aGVkRnJvbVBhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZENvbW1pdExvYWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpmcmFtZURvY3VtZW50VXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmxvYWRlckRldGFjaGVkRnJvbUZyYW1lKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTdGFydGVkTG9hZGluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU3RvcHBlZExv
YWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFt
ZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJ1bkphdmFTY3JpcHREaWFsb2cp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSdW5KYXZh
U2NyaXB0RGlhbG9nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaERPTVN0b3JhZ2VFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZFBhdXNlRGVk
aWNhdGVkV29ya2VyT25TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFN0YXJ0V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3b3JrZXJHbG9iYWxTY29wZVRlcm1pbmF0ZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJT
b2NrZXQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
U2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2Up
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdl
YlNvY2tldCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFJlY2VpdmVXZWJTb2NrZXRGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2VuZFdlYlNvY2tldEZyYW1lKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2Vzc2lvbkNyZWF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXNzaW9u
TG9hZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2Vz
c2lvbk1vZGlmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c2VnbWVudENyZWF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpzZWdtZW50Q29tcGxldGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6c2VnbWVudExvYWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnNlZ21lbnRVbmxvYWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNhcHR1cmVTdGFydGVkKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y2FwdHVyZVN0b3BwZWQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpwbGF5YmFja1N0YXJ0ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpwbGF5YmFja1BhdXNlZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnBsYXliYWNrRmlu
aXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpwbGF5
YmFja0hpdFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OnVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZXF1ZXN0QW5pbWF0aW9uRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDYW5j
ZWxBbmltYXRpb25GcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxGaXJlQW5pbWF0aW9uRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJhbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpsYXllclRyZWVEaWRDaGFuZ2UpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZW5kZXJMYXllckRlc3Ry
b3llZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnBzZXVk
b0VsZW1lbnREZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlQWdlbnRFbmFi
bGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6cnVudGltZUFnZW50RW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cmVwbGF5QWdlbnRFbmFi
bGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdl
bnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVTaGVldC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclN0eWxl
U2hlZXQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNw
cDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlckFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyUmVzb3VyY2UuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHA6CisgICAgICAgICogaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL1BhZ2VDb25zb2xl
QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwOgorICAg
ICAgICAqIGluc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9QYWdlUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZVJ1bnRpbWVB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgor
ICAgICAgICAqIGluc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
V2ViQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAq
IGluc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dlYklu
amVjdGVkU2NyaXB0SG9zdC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL1dlYkluamVjdGVkU2Ny
aXB0SG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvV29ya2VyQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckRl
YnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAg
ICogaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9y
L1dvcmtlclJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyOjpsb2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmln
YXRpb25Qb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmRpc3BhdGNoRGlk
Q2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2Fj
aGVHcm91cDo6Y3JlYXRlUmVzb3VyY2VIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGlj
YXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIGxvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlSG9zdDo6YXBwbGljYXRpb25DYWNoZUluZm8pOgorICAgICAgICAqIGxvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6c2hvdWxkQ29udGludWVBZnRlck5vdGlmeWluZ0xvYWRlZEZyb21NZW1vcnlD
YWNoZSk6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1TZWxl
Y3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6YWRkSW5zcGVjdEVs
ZW1lbnRJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hl
Y2tPckVuYWJsZUlmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNlbmRSZXNpemVFdmVudElmTmVlZGVkKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjp+UGFnZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZWZs
L0VmbEluc3BlY3RvclV0aWxpdGllcy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZWZsL0VmbElu
c3BlY3RvclV0aWxpdGllcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVz
b3VyY2VSZXF1ZXN0QmFzZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJj
ZVJlcXVlc3RDRk5ldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVw
ZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVzdENvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVGcm9tRGVsZWdhdGVQcmVzZXJ2aW5nT2xkUHJv
cGVydGllcyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVtbXk6OnNlbmRNZXNzYWdlVG9Gcm9udGVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppbnNwZWN0b3JIaWdobGlnaHRSZWN0cyk6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omluc3BlY3RvckhpZ2hsaWdodE9iamVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNldEluc3BlY3RvcklzVW5kZXJUZXN0KToK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZSk6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGVQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6Oldvcmtl
ck1lc3NhZ2luZ1Byb3h5KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5
OjpzZW5kTWVzc2FnZVRvSW5zcGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojpwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcik6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0
aW5nUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCk6CisKIDIwMTUtMDEtMTkgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbU1ZHIC0+
IE9URiBDb252ZXJ0ZXJdIEZsaXAgdGhlIHN3aXRjaCBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4Nzc1MjE1YzNj
MmVjODZhODljNGYxZGQ4ZmEwNTdmYjNkNTc2NTA3Li5lZjYyNTU4YmRhMjc4ZDJjMWZhZTFhMTlj
MzA0YjI4NzRkMjdjNDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTAxLTIwICBD
c2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIEVO
QUJMRShJTlNQRUNUT1IpIGlmZGVmIGd1YXJkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNjY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0
b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW46CisKIDIwMTUtMDEtMTkgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IGJ1aWxkIHdhcm5pbmdz
IHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgY2xhbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZTdkNTMw
ZmM4YTA3ZDc3ZjcwYTc5NjU1Nzc1NWI0ZmJiMmEwMWE0Ny4uNGRiZGE1MzE0YzE5YzY4ZWIyMmE1
NTBmOWU2MThjZDZkNmVmM2NlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTAxLTIwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmVtb3ZlIEVOQUJMRShJTlNQRUNUT1IpIGlmZGVmIGd1YXJkcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNjY4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5tbToKKyAgICAgICAgKFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxT
ZW5kUmVxdWVzdCk6CisKIDIwMTUtMDEtMTkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KIAogICAgICAgICBbU1ZHIC0+IE9URiBDb252ZXJ0ZXJdIEZsaXAgdGhlIHN3
aXRjaCBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDljNWQ1MmFhNDliZjRmNWY3N2M5NDllOWZjNmMy
MzdlNzNlMDVmNGEuLmYzOGIzYTk3OGE1NDA4NjI2MjZkZGVkYzRjZGE3OGUxNjM1MTE4MjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNS0wMS0yMCAgQ3NhYmEgT3N6dHJv
Z29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEUoSU5TUEVD
VE9SKSBpZmRlZiBndWFyZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDY2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAg
ICAgKHJlZ2lzdGVyV2luZG93Q2xhc3MpOgorICAgICAgICAqIFdlYkluc3BlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3I6OnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZCk6CisgICAg
ICAgICogV2ViTm9kZUhpZ2hsaWdodC5jcHA6CisgICAgICAgIChXZWJOb2RlSGlnaGxpZ2h0OjpX
ZWJOb2RlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYk5vZGVIaWdobGlnaHQ6OnVwZGF0ZSk6Cisg
ICAgICAgICogV2ViTm9kZUhpZ2hsaWdodC5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAg
ICAgICAoV2ViVmlldzo6V2ViVmlldyk6CisgICAgICAgIChXZWJWaWV3OjpjbG9zZSk6CisgICAg
ICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1lKToKKyAgICAgICAgKFdlYlZpZXc6Omluc3BlY3Rv
cik6CisgICAgICAgICogV2ViVmlldy5oOgorCiAyMDE1LTAxLTE5ICBCcmVudCBGdWxnaGFtICA8
YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIFBlcmlvZGljIGZhaWx1cmUgaW4g
RHVtcFJlbmRlclRyZWUgcmVsYXRlZCB0byBXZWJBY3Rpb25Qcm9wZXJ0eUJhZzo6UmVhZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IGZiZjU4ZTAyZTFlYjQ2OWYxYzgxZmYzZDQwMTAwN2Y1MjQ2M2U1MzkuLmI1MmJl
MTI1YzNlZjg1ODhhOWE1NDE5ODZkNTkwY2JkNzk4YTIyZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw5OCBAQAorMjAxNS0wMS0yMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJlbW92ZSBFTkFCTEUoSU5TUEVDVE9SKSBpZmRlZiBndWFyZHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDY2OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLU2hh
cmVkQVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIChXZWJLaXQ6
OnRvSW1wbCk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6Cisg
ICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2RlKToKKyAg
ICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHA6CisgICAgICAgIChXS0luc3Bl
Y3RvckdldFR5cGVJRCk6CisgICAgICAgIChXS0luc3BlY3RvckdldFBhZ2UpOgorICAgICAgICAo
V0tJbnNwZWN0b3JJc0Nvbm5lY3RlZCk6CisgICAgICAgIChXS0luc3BlY3RvcklzVmlzaWJsZSk6
CisgICAgICAgIChXS0luc3BlY3RvcklzRnJvbnQpOgorICAgICAgICAoV0tJbnNwZWN0b3JDb25u
ZWN0KToKKyAgICAgICAgKFdLSW5zcGVjdG9yU2hvdyk6CisgICAgICAgIChXS0luc3BlY3Rvckhp
ZGUpOgorICAgICAgICAoV0tJbnNwZWN0b3JDbG9zZSk6CisgICAgICAgIChXS0luc3BlY3RvclNo
b3dDb25zb2xlKToKKyAgICAgICAgKFdLSW5zcGVjdG9yU2hvd1Jlc291cmNlcyk6CisgICAgICAg
IChXS0luc3BlY3RvclNob3dNYWluUmVzb3VyY2VGb3JGcmFtZSk6CisgICAgICAgIChXS0luc3Bl
Y3RvcklzQXR0YWNoZWQpOgorICAgICAgICAoV0tJbnNwZWN0b3JBdHRhY2gpOgorICAgICAgICAo
V0tJbnNwZWN0b3JEZXRhY2gpOgorICAgICAgICAoV0tJbnNwZWN0b3JJc1Byb2ZpbGluZ1BhZ2Up
OgorICAgICAgICAoV0tJbnNwZWN0b3JUb2dnbGVQYWdlUHJvZmlsaW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZUdldEluc3BlY3Rvcik6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdr
X3ZpZXdfaW5zcGVjdG9yX3Nob3cpOgorICAgICAgICAoZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3Nl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHA6
CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZWF0dGFjaFRvV2ViUHJvY2Vzcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bWF5YmVJbml0aWFsaXplU2FuZGJveEV4dGVuc2lvbkhh
bmRsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9u
cyk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHA6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJ
bXBsOjpkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCk6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XZWJJbnNwZWN0b3JQcm94eUlPUy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaXNhYmxlSW5z
cGVjdG9yTm9kZVNlYXJjaCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlSW5zcGVjdG9yR2V0VHlwZUlE
KToKKyAgICAgICAgKFdLQnVuZGxlSW5zcGVjdG9yU2hvdyk6CisgICAgICAgIChXS0J1bmRsZUlu
c3BlY3RvckNsb3NlKToKKyAgICAgICAgKFdLQnVuZGxlSW5zcGVjdG9yRXZhbHVhdGVTY3JpcHRG
b3JUZXN0KToKKyAgICAgICAgKFdLQnVuZGxlSW5zcGVjdG9yU2V0UGFnZVByb2ZpbGluZ0VuYWJs
ZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdldEluc3BlY3Rvcik6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVu
dC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3RvclVJLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3RvclVJLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6On5XZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppbnNwZWN0b3JVSSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwv
V2ViSW5zcGVjdG9yRWZsLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dl
Ykluc3BlY3RvclVJRWZsLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dl
Ykluc3BlY3Rvckd0ay5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJJ
bnNwZWN0b3JVSUd0ay5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaXNhYmxlSW5zcGVjdG9yTm9k
ZVNlYXJjaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JN
YWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JVSU1h
Yy5tbToKKyAgICAgICAgKiBjb25maWcuaDoKKwogMjAxNS0wMS0xOSAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtTVkcgLT4gT1RGIENvbnZlcnRl
cl0gRmxpcCB0aGUgc3dpdGNoIG9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMWFjZTQ4
YzdhOTBlOTI2MmNiM2MwYjU4NDQ4ODRkYTA0NjEwNDY1YS4uNmM0YmY1ZDBjMjYzYmYwODRlMGU1
YjM2ZmE5ODc2NDA4OTQ4OGNkNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMTA0LDcg
KzEwNCw2IEBAIEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUxbc2RrPWlwaG9uZSpdID0g
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTDsKIEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
W3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIOwogRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRVtzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9USU1FOwogRU5BQkxFX0lO
UFVUX1RZUEVfV0VFS1tzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9XRUVLOwotRU5B
QkxFX0lOU1BFQ1RPUiA9IEVOQUJMRV9JTlNQRUNUT1I7CiAKIEVOQUJMRV9JTlNQRUNUT1JfQUxU
RVJOQVRFX0RJU1BBVENIRVJTW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJO
QVRFX0RJU1BBVENIRVJTOwogRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNb
c2RrPW1hY29zeCpdID0gJChFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU19t
YWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpCkBAIC0yMjYsNCArMjI1LDQg
QEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RPUikgJChFTkFCTEVfSU9TX0FJUlBMQVkp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU9TX0FJUlBMQVkp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1Nj
cmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRWYWx1
ZS5jcHAKaW5kZXggOWUyMjUxZGJiNWZmOWNkNWEwYzNiNTM0MGM0NmUxYmM1OTcxZTM5Zi4uNzZh
N2IxMTFhOGQ4NzdhNjc5YjVjOGI4ZTg5NmUxYTdiMWI2YjhhYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1NjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYmluZGluZ3MvU2NyaXB0VmFsdWUuY3BwCkBAIC05Nyw3ICs5Nyw2IEBAIGJv
b2wgU2NyaXB0VmFsdWU6OmlzRnVuY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBnZXRDYWxsRGF0
YShtX3ZhbHVlLmdldCgpLCBjYWxsRGF0YSkgIT0gQ2FsbFR5cGVOb25lOwogfQogCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKIHN0YXRpYyBSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IGpzVG9JbnNwZWN0
b3JWYWx1ZShFeGVjU3RhdGUqIHNjcmlwdFN0YXRlLCBKU1ZhbHVlIHZhbHVlLCBpbnQgbWF4RGVw
dGgpCiB7CiAgICAgaWYgKCF2YWx1ZSkgewpAQCAtMTU5LDYgKzE1OCw1IEBAIFJlZlB0cjxJbnNw
ZWN0b3JWYWx1ZT4gU2NyaXB0VmFsdWU6OnRvSW5zcGVjdG9yVmFsdWUoRXhlY1N0YXRlKiBzY3Jp
cHRTdGF0ZSkgY29uCiAgICAgSlNMb2NrSG9sZGVyIGhvbGRlcihzY3JpcHRTdGF0ZSk7CiAgICAg
cmV0dXJuIGpzVG9JbnNwZWN0b3JWYWx1ZShzY3JpcHRTdGF0ZSwgbV92YWx1ZS5nZXQoKSwgSW5z
cGVjdG9yVmFsdWU6Om1heERlcHRoKTsKIH0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQog
CiB9IC8vIG5hbWVzcGFjZSBEZXByZWNhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYmluZGluZ3MvU2NyaXB0VmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5k
aW5ncy9TY3JpcHRWYWx1ZS5oCmluZGV4IGZlZjc3MDI2ZTQ3Yjg5OTUzNWVjYTY1MjM3ZjUzMTY5
NDU1MzMxYzYuLmM0ZDAwODY1NWNlOWIyYmE1MTBlYzZjODI5MDY5YmE5OWI5Mjc1ZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRWYWx1ZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRWYWx1ZS5oCkBAIC02NSw5ICs2
NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTY3JpcHRWYWx1ZSYg
b3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUgPT0gb3RoZXIubV92YWx1ZTsgfQogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JWYWx1ZT4g
dG9JbnNwZWN0b3JWYWx1ZShKU0M6OkV4ZWNTdGF0ZSopIGNvbnN0OwotI2VuZGlmCiAKIHByaXZh
dGU6CiAgICAgSlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPiBtX3ZhbHVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAppbmRleCAyMDJl
MTY0OTllN2NlZGUxYWViYjcwNTAxM2M3YWM2MWQ0Yzg5YTU2Li4zYjk4NWUyNmMxZjliZDNlZDE1
NTA3ZGZiYzZmMjYwNzVkMTRhNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkNvbnNvbGVNZXNzYWdlLmgiCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKQEAgLTI5
MSw1ICsyODksMyBAQCB1bnNpZ25lZCBDb25zb2xlTWVzc2FnZTo6YXJndW1lbnRDb3VudCgpIGNv
bnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1l
c3NhZ2UuaAppbmRleCA3YWRiNjc5ZDRhNzZjM2IwZWMxYTc3ZjRiZWI0MmJjY2E1YTdlYzZjLi5l
ZjFjNzlkMTVjN2NlODczZjcwYWVhMTVkMTJkOTkzN2NlZGJmN2ZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC0zMSw4ICszMSw2
IEBACiAjaWZuZGVmIENvbnNvbGVNZXNzYWdlX2gKICNkZWZpbmUgQ29uc29sZU1lc3NhZ2VfaAog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgpAQCAtOTUsNSArOTMsMyBAQCBwcml2YXRlOgogfSAvLyBuYW1lc3BhY2UgSW5zcGVj
dG9yCiAKICNlbmRpZiAvLyBDb25zb2xlTWVzc2FnZV9oCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db250
ZW50U2VhcmNoVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
Q29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAKaW5kZXggZjVkZjBiZjI1NTlmN2QzMzg0ZjcwOWE4
ZTA0M2Y5ZDg1ZmM0NzdhNC4uMmI0MjdkZDQ5ZWQ4NDI4ZGM1NjhjOGE0Y2UwNjVmOTczYTM5YjBl
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db250ZW50U2Vh
cmNoVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0Nv
bnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwCkBAIC0yOSw4ICsyOSw2IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlYXJjaFV0aWxpdGllcy5oIgogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIlJl
Z3VsYXJFeHByZXNzaW9uLmgiCiAjaW5jbHVkZSAiWWFyci5oIgpAQCAtMjE3LDUgKzIxNSwzIEBA
IFN0cmluZyBmaW5kU3R5bGVzaGVldFNvdXJjZU1hcFVSTChjb25zdCBTdHJpbmcmIGNvbnRlbnQp
CiAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRTZWFyY2hVdGlsaXRpZXMKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmgK
aW5kZXggYjNiNjE2MWU0ZWIwNmY3MDU5ZGZmZDA5OTc3MTA0OTI2ZDA0ZDcxZC4uNTQyMDY1ZmRh
ZGM1N2FkNTc0ZDcwYWVjMmMyMmNlZDA0ZjliZGM4YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmgKQEAgLTI5
LDggKzI5LDYgQEAKICNpZm5kZWYgQ29udGVudFNlYXJjaFV0aWxpdGllc19oCiAjZGVmaW5lIENv
bnRlbnRTZWFyY2hVdGlsaXRpZXNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KQEAgLTU4LDYgKzU2LDQgQEAgSlNf
RVhQT1JUX1BSSVZBVEUgU3RyaW5nIGZpbmRTdHlsZXNoZWV0U291cmNlTWFwVVJMKGNvbnN0IFN0
cmluZyYgY29udGVudCk7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKENvbnRlbnRTZWFyY2hVdGls
aXRpZXNfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRl
bnRpZmllcnNGYWN0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRl
bnRpZmllcnNGYWN0b3J5LmNwcAppbmRleCAzMjFiNWVlOTI1MDU3ZDY2ODhlZjJjNThkMjEwNWVk
ZmZhM2Q4ZTI2Li43ZTE0NWJlM2VkMTBhZjE1NGRiNTZlMGI0MGZmZmFmYjAzMWQ3YTA1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9y
eS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0Zh
Y3RvcnkuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsK
QEAgLTYyLDQgKzYwLDMgQEAgU3RyaW5nIElkZW50aWZpZXJzRmFjdG9yeTo6YWRkUHJvY2Vzc0lk
UHJlZml4VG8oY29uc3QgU3RyaW5nJiBpZCkKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAK
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmgKaW5kZXggMGQ1NjExZGMyOTNkMjg0
NTE0ODVmYTdkNGE0NTIxYWRhNGZiZGZmOS4uZDgxYzc5YTRhZTNlYzI4YjIzMjJhYTMyOWYwYmVi
YzEwNzZkZDVjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
ZGVudGlmaWVyc0ZhY3RvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0lkZW50aWZpZXJzRmFjdG9yeS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIElkZW50aWZp
ZXJzRmFjdG9yeV9oCiAjZGVmaW5lIElkZW50aWZpZXJzRmFjdG9yeV9oCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewpAQCAtNDcsNSArNDUsMyBAQCBwcml2YXRlOgogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKICNlbmRpZiAvLyAhZGVmaW5lZChJZGVudGlmaWVyc0ZhY3RvcnlfaCkKLQot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCmluZGV4IDNiODNkMDgwZDk4NTBlMDkwZTk5
MmQzYWZiYTNjYTM4MDRhMDI0OGIuLjQ3NTUwM2FlYTgxYmUwMjM1NjVjYzllZDYwZmU3OGZiYmQw
NWU4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHQuY3BwCkBAIC0zMiw4ICszMiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RnVuY3Rpb25DYWxsLmgiCkBAIC0yNjIsNCArMjYwLDMgQEAgdm9pZCBJbmplY3Rl
ZFNjcmlwdDo6cmVsZWFzZU9iamVjdEdyb3VwKGNvbnN0IFN0cmluZyYgb2JqZWN0R3JvdXApCiAK
IH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApp
bmRleCAyOTA5MmIwOTg2YjU0YjFhNTc0N2M2MmUzMGUwNjdkYThkZWM5OTNiLi4wYThiM2Q0MjIy
Yzg1YTVkYTUzZmIyNzg4MWI1NDFkNWVlZTAyMjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCkBAIC0zMiw4ICszMiw2IEBACiAjaWZu
ZGVmIEluamVjdGVkU2NyaXB0X2gKICNkZWZpbmUgSW5qZWN0ZWRTY3JpcHRfaAogCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0QmFzZS5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC04MCw2
ICs3OCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vIEluamVjdGVkU2NyaXB0X2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNl
LmNwcAppbmRleCA3ZGUwNTE5OGNhZTAyNzUxMmVjYjEwNTNmZDFlNjIxMzEwMTdlYmQ5Li44M2I3
ZDhjMzk3YmNlYmIyNGMyMjdkYmYyNTI0YjQyYzhjNzQ3MDA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0QmFzZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEJhc2UuY3BwCkBAIC0z
Miw4ICszMiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3Jp
cHRCYXNlLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRGVidWdnZXJF
dmFsRW5hYmxlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKQEAgLTE1Myw0ICsxNTEsMyBAQCB2b2lkIEluamVjdGVkU2NyaXB0QmFzZTo6
bWFrZUV2YWxDYWxsKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgRGVwcmVjYXRlZDo6U2NyaQog
CiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0QmFzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dEJhc2UuaAppbmRleCAzMTEyMDM0ZjUwM2I4ODcyYzJkNWQ0ZmI0NzgwNjc3MGEyOWNhNzFhLi5j
YjQ2MzAzMzEzMjE0YjRkYzE2MmU1YTcyYzliNTNjNzA3YjMyMWVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0QmFzZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmgKQEAgLTMy
LDggKzMyLDYgQEAKICNpZm5kZWYgSW5qZWN0ZWRTY3JpcHRCYXNlX2gKICNkZWZpbmUgSW5qZWN0
ZWRTY3JpcHRCYXNlX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNw
ZWN0b3JFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5o
IgogI2luY2x1ZGUgImJpbmRpbmdzL1NjcmlwdE9iamVjdC5oIgpAQCAtNzgsNiArNzYsNCBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNlbmRpZiAvLyBJbmplY3RlZFNjcmlwdEJhc2VfaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCmlu
ZGV4IGRiOTE3Zjg1OWMxMDg5ZmMyZTNiZjM2ZDIzYTQxMTQyZGUzOTc0N2MuLjYzNTE0NzJlMDdl
OWE5ZjYxNzczYjcxY2NmZGIwODYxNDFlZWMxM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI2LDggKzI2
LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3Qu
aCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0
SG9zdC5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAtNzksNSArNzcsMyBAQCB2b2lkIElu
amVjdGVkU2NyaXB0SG9zdDo6Y2xlYXJBbGxXcmFwcGVycygpCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IGRi
OTNmODYzMWJmOGJjMGVhODhjNDk5NmRiZmM0OTFlM2NjMzBmYmEuLjNiMGMxN2U5MWM2OTUxY2I2
YTEzOTUyMWY5MzYwMmQ1NDYzMTQwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaApAQCAtMjYsOCArMjYsNiBAQAogI2lm
bmRlZiBJbmplY3RlZFNjcmlwdEhvc3RfaAogI2RlZmluZSBJbmplY3RlZFNjcmlwdEhvc3RfaAog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiU3Ryb25nLmgiCiAjaW5jbHVkZSAiU3Ryb25nSW5saW5lcy5oIgpAQCAtNTQs
NiArNTIsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbmplY3RlZFNjcmlw
dEhvc3RfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCBkMTQ4NTY4Yzg3ODFlMDIxNGVjODdhYzc1
YWJhMzU3OWFkNzA4MzAzLi43ZDI0NTk3YmFmYWFkMTM2ZmM2ZWFkMWZmMjNlMjc2Yzg5Zjc2ZDVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zMSw4ICszMSw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSAiQ29tcGxldGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkU2Ny
aXB0SG9zdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0U291cmNlLmgiCkBAIC0xOTEsNCAr
MTg5LDMgQEAgdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpZENyZWF0ZUluamVjdGVkU2Ny
aXB0KEluamVjdGVkU2NyaXB0KQogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaAppbmRleCBmNmQwNTMwOTVmMWY2Nzli
YWMzMjFiOGRiNTVmOTkzZTY2MWFmY2ZhLi5jYjZjOWIzYjk4YzU0YjUzMTM0MWY1YTdjMGQ3NTdi
YzMxOTFiMjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTMwLDggKzMwLDYgQEAKICNpZm5kZWYgSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyX2gKICNkZWZpbmUgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyX2gKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckVudmlyb25t
ZW50LmgiCkBAIC04NSw2ICs4Myw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVk
KEluamVjdGVkU2NyaXB0TWFuYWdlcl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1vZHVsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TW9kdWxlLmNwcAppbmRleCBhM2NmYjMyMDAy
ZTFlZDlkNWU2YTg0MDA3YTlmODFiODMwZjFhMzExLi41YmEyN2UwODAyM2I1YWY3YWNkNmE0ZTNl
NmFlOTEyYjg1MWIzOWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0TW9kdWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TW9kdWxlLmNwcApAQCAtMzIsOCArMzIsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TW9kdWxlLmgiCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNs
dWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJTY3JpcHRGdW5jdGlvbkNh
bGwuaCIKQEAgLTg4LDUgKzg2LDMgQEAgdm9pZCBJbmplY3RlZFNjcmlwdE1vZHVsZTo6ZW5zdXJl
SW5qZWN0ZWQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE0KIH0KIAogfSAv
LyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1v
ZHVsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1v
ZHVsZS5oCmluZGV4IGExNzBlNzk4ZGM5MmRmYTdkZDEyZjUzZTEzZWFiMGE1MjM2OWJmZWMuLmU4
ODgxYjllYzYyNmM5ZGNiY2E2OTQzNGNiM2ViODVlODg1Yjg0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNb2R1bGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TW9kdWxlLmgKQEAg
LTM1LDggKzM1LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEJhc2UuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgSlNWYWx1ZTsKIH0KQEAgLTY0LDYgKzYyLDQgQEAgcHJvdGVjdGVk
OgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNlbmRpZiAvLyBJbmplY3RlZFNjcmlwdE1vZHVsZV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNw
cAppbmRleCBlNDM4Y2YxNmYwYzQwZTY1MmNlZTY4ZTQxYWYyNjI4MDQxMjA3ZTExLi40MDEwOGVi
NDliNGU5YmRkNDgzM2Y1YThmYWQzNTM3ZWJiZGJhYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5jcHAK
QEAgLTI3LDggKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JBZ2VudFJlZ2lzdHJ5LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQWdlbnRCYXNlLmgiCiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNzEsNCAr
NjksMyBAQCB2b2lkIEluc3BlY3RvckFnZW50UmVnaXN0cnk6OmRpc2NhcmRBZ2VudHMoKQogCiB9
IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuY3BwCmluZGV4IDg5NWEwOTY2MjJlODg1ODIzYTdjZTZhYjdm
MWUyZmNjZmViMzNhODEuLjMxNTY0ZDg3NDU0ZWU1NTFlZTY5MjUwMjNhNzViYzU3YTE5NGUzMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaCIKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CkBAIC0yNjUsNSArMjYzLDMgQEAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Z2V0VmFsdWUoSW5zcGVjdG9yT2JqZWN0KiBvYmoKIH0K
IAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oCmluZGV4IDIzN2ViNmQ3ZTkyMTk5YmZjN2NjYzNmNTQz
YWM0MTgwNDcyYzJhMWEuLjg2Y2JkOWUyMmM3MzJiNzI2YTVjMjVkMjIyNjhmZjMyZTcxMDhkYmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmgKQEAgLTI3LDggKzI3LDYgQEAKICNpZm5kZWYgSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXJfaAogI2RlZmluZSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcl9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJv
dG9jb2xUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KQEAgLTEwNiw1ICsxMDQsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiAjZW5kaWYgLy8g
IWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJfaCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmgKaW5k
ZXggMjk2ZjNhODEwNTJmZDM3OTg2ZjYzMTM3NDZmNzQyMDU0ZTdhODM2Yy4uNmYwNjI5NjZhNGFh
NzNkNzdhZWQyNzlhOTA3ODBiMzhkNzhkM2IwOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmgKQEAgLTI3LDgg
KzI3LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xUeXBlc19oCiAjZGVmaW5lIEluc3Bl
Y3RvclByb3RvY29sVHlwZXNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUg
Ikluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTE3
Nyw2ICsxNzUsNCBAQCB1c2luZyBQcm90b2NvbDo6QmluZGluZ1RyYWl0czsKIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYg
Ly8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xUeXBlc19oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdENvbnNvbGVD
bGllbnQuY3BwCmluZGV4IDg1OThhYWRjN2ViYTE2MDA5NDlkYzkxMWRmMzJlNDA0YTM5OWViMGIu
LmRlZjlkMTI0OTBkZGJhNGFhNTJlMGUxMTU3YWM0ZTFjOTVjYjdjYjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0
Q29uc29sZUNsaWVudC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuaCIKIAotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNpbmNsdWRlICJDb25zb2xlTWVzc2FnZS5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgpAQCAtMTI2
LDUgKzEyNCwzIEBAIHZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Ojp3YXJuVW5pbXBs
ZW1lbnRlZChjb25zdCBTdHJpbmcmIG1ldGhvZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVj
dG9yCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmlu
ZGV4IGRkYTU0YjEyODEyYzRjNmYyNDcwMTlkYzk0MDI1YjZiM2E5ZGU5MzUuLjY1NTNkNTZhY2Zl
YjY1OTYzMDJhZWY2M2M2MWNhNDVmYTljMjU1YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaCIKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJDb21wbGV0aW9uLmgiCiAjaW5jbHVkZSAiQ29u
c29sZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJFcnJvckhhbmRsaW5nU2NvcGUuaCIKQEAgLTI0NSw0
ICsyNDMsMyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcjo6YXBwZW5k
RXh0cmFBZ2VudChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdAogCiB9IC8vIG5hbWVzcGFjZSBJbnNw
ZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3Bl
Y3RvckNvbnRyb2xsZXIuaAppbmRleCAyYTAyMTg0YWVhZGY5ZTc0NzJkZTE2MTUzYTIwOWRhNTRj
OTQxYTY3Li43NjBmNzBmYTI4ZDBkNjVlYzQ3NmQ1MmViM2VkZGY4YjliZmVmZmRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVj
dG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNH
bG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5k
ZWYgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyX2gKICNkZWZpbmUgSlNHbG9iYWxP
YmplY3RJbnNwZWN0b3JDb250cm9sbGVyX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlICJJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRW52
aXJvbm1lbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtMTI2LDYgKzEyNCw0IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9y
Q29udHJvbGxlcl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXgg
ZmYwNjFlZDBiNGMzZDhhNDI5MjgxZGY5NTE5NzU0NWE5OTRkYjQzMy4uMGU5NjhmNzMwNTUyNDRl
ZWExNDI3OTdmYzcxMDQ0NTk4NmUyMmYyMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oIgogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
ICNpbmNsdWRlICJKU0xvY2suaCIKQEAgLTg5LDQgKzg3LDMgQEAgdm9pZCBKU0dsb2JhbE9iamVj
dFNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BXaGlsZVBhdXNlZCgpCiAKIH0gLy8gbmFt
ZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RTY3JpcHRE
ZWJ1Z1NlcnZlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9i
amVjdFNjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggOTY4OWNhYmRmYTk1YmIxMzY2MWYzZTM1MjA2
Y2ExN2U3ODgwNjMyZS4uNDg5YmYwM2EwZWIxOTU1ZGFlYWNmOGQ4ZGFiNzM2NjFlZDA2YzUzNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVj
dFNjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmgKQEAgLTI2LDggKzI2LDYgQEAKICNp
Zm5kZWYgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlcl9oCiAjZGVmaW5lIEpTR2xvYmFs
T2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXJfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApA
QCAtNjQsNiArNjIsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBKU0dsb2JhbE9iamVjdFNj
cmlwdERlYnVnU2VydmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKaW5kZXggYTQ4NGNlMDI3YTQ1NTE4MTU5
ZjFmNzMwYmNhNDIzZTBkZmViODM3OC4uZDkwNzc3NTE3MjI1MWQ3ZTMyZTBmMTJlMWE2MzU0YjAy
MDhjMzMyYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0lu
amVjdGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5oIgogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkRhdGVJbnN0YW5jZS5oIgogI2luY2x1ZGUgIkVycm9y
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCkBAIC0yMDUsNSArMjAzLDMgQEAg
SlNJbmplY3RlZFNjcmlwdEhvc3QqIHRvSlNJbmplY3RlZFNjcmlwdEhvc3QoSlNWYWx1ZSB2YWx1
ZSkKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0lu
amVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0lu
amVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IGRjMjM1NjgwMjkzMjNlNjMwYzc0YmUxMjBhMGZkOTE0
MjUxNTk3NTcuLmQzYjJiZWExNzM1NTFjODYzY2NkZDM0ZTAwNWU3OTcwZWM5ZDg4MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhv
c3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3Jp
cHRIb3N0LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgSlNJbmplY3RlZFNjcmlwdEhvc3Rf
aAogI2RlZmluZSBKU0luamVjdGVkU2NyaXB0SG9zdF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSAiSlNEZXN0cnVjdGlibGVPYmplY3QuaCIKIAogbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CkBAIC04NSw2ICs4Myw0IEBAIEpTSW5qZWN0ZWRTY3JpcHRIb3N0KiB0b0pTSW5qZWN0
ZWRTY3JpcHRIb3N0KEpTQzo6SlNWYWx1ZSk7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rvcgog
Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEpTSW5q
ZWN0ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3BwCmluZGV4
IDFhZDEyMjY2ZDJlNDQ3OTUwMmNmM2UxZDVhNmNmOWEwMzQ0OWNmYjAuLmNhZTkyMTRiZGM3Nzkz
N2MwOWY3MmIxZGVhMWRmMTRiNTk0ZjlmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5
cGUuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
SlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
Ci0KICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1
ZGUgIklkZW50aWZpZXIuaCIKQEAgLTEzNyw0ICsxMzUsMyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlRnVuY3Rpb25HZXRJbnRlcm5h
bFBybwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5q
ZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmgKaW5kZXggOWQwYjdiNjY2ZmQzODNh
NmVhODlkNGJhM2M0YjAwMzVlYmFmMmZjMS4uM2VlYjY5MDI2ZDgwODE3NWQ4MWUwNjE2MGE4NTQ3
NjUwN2I5MzBhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
U0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuaApAQCAtMjYsOCArMjYs
NiBAQAogI2lmbmRlZiBKU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZV9oCiAjZGVmaW5lIEpT
SW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNpbmNsdWRlICJKU09iamVjdC5oIgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTYzLDYg
KzYxLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSlNJbmplY3RlZFNjcmlw
dEhvc3RQcm90b3R5cGVfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAppbmRleCAzZjEyNTU0YjczNzQwNmEw
YjY5ZGU5N2Y1YmVmMWZlNDU3MDM5ZWJjLi4yODFiOTNhNzM2NDZmYjY1NGMxYzBkNWY0ZDZiNzNj
M2UwZDU0YmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRGVidWdnZXJTY29wZS5oIgogI2luY2x1ZGUg
IkVycm9yLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMjE1LDQgKzIxMywzIEBAIEpT
SmF2YVNjcmlwdENhbGxGcmFtZSogdG9KU0phdmFTY3JpcHRDYWxsRnJhbWUoSlNWYWx1ZSB2YWx1
ZSkKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZh
U2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggMDVhMzMwN2FhMTQ2YWI3ZTdiMmJhMWEyYWNkMjQ0NTdl
ODcxZWE1YS4uN2YwNzYxYmNkYTg0ODFkYWU4NzRkZThiOGE1YjgyMGRlZDRmNDE5MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJh
bWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENh
bGxGcmFtZS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZV9oCiAjZGVmaW5lIEpTSmF2YVNjcmlwdENhbGxGcmFtZV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotCiAjaW5jbHVkZSAiSlNEZXN0cnVjdGlibGVPYmplY3QuaCIKICNpbmNsdWRlICJKYXZh
U2NyaXB0Q2FsbEZyYW1lLmgiCiAKQEAgLTk2LDYgKzk0LDQgQEAgSlNKYXZhU2NyaXB0Q2FsbEZy
YW1lKiB0b0pTSmF2YVNjcmlwdENhbGxGcmFtZShKU0M6OkpTVmFsdWUpOwogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAv
LyAhZGVmaW5lZChKU0phdmFTY3JpcHRDYWxsRnJhbWVfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1l
UHJvdG90eXBlLmNwcAppbmRleCA4YTE2MDQ1MTAzYWU5YzMxMmI3NDExZTA4NTFjZmRmYmE5MWNi
M2IwLi41OGJiNjhiMGExZjM4OGYyMWNhZjhiNWY2MjJjYWQ3N2IyMDc5ZTJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVBy
b3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgiCiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJH
ZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyLmgiCkBAIC0yMzksNSArMjM3LDMg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc0phdmFTY3JpcHRDYWxsRnJhbWVDb25z
dGFudEZVTkNUSU9OX05BTUVfU0NPUEUoRXgKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90
eXBlLmgKaW5kZXggYjg2OGM1M2UyNTNmNzQ4M2U1ZjVkZmY2NGU1NjAyNDY5MmM1MTgyNC4uOWFh
N2VlMWI0ZmZiNzRjMmQ4ODI0NTkxYmNmODBiMjk2YjZiOGNhYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxG
cmFtZVByb3RvdHlwZS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIEpTSmF2YVNjcmlwdENh
bGxGcmFtZVByb3RvdHlwZV9oCiAjZGVmaW5lIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlw
ZV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKIAog
bmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC02Myw2ICs2MSw0IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2Vu
ZGlmIC8vICFkZWZpbmVkKEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZV9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1l
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAKaW5kZXggZjczNWE4YWE2MTI5ODk3M2RlMzkxNmQ3YjYxZGYzNTE1NGNjYTk3Yi4uZDVm
NzNkNTQwNTA2OWFhYWFiN2M4M2MxMDdmMDA5ZWZiODFhYTA3MiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCkBA
IC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSmF2YVNjcmlw
dENhbGxGcmFtZS5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogdXNpbmcgbmFtZXNwYWNl
IEpTQzsKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC01Miw0ICs1MCwzIEBAIEphdmFTY3Jp
cHRDYWxsRnJhbWUqIEphdmFTY3JpcHRDYWxsRnJhbWU6OmNhbGxlcigpCiAKIH0gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKaW5k
ZXggNmJkNjQzYmM0MThhM2ZlZWU5ZDUwOTY5ZDkzYzgyNGFjOGI3YzY5MC4uNGZjNGU2YmFhZjZk
NDc5ZjBiYjgyNjI4OTAwYjAxZDRkMmRhMmNiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmgKQEAgLTI2LDggKzI2LDYg
QEAKICNpZm5kZWYgSmF2YVNjcmlwdENhbGxGcmFtZV9oCiAjZGVmaW5lIEphdmFTY3JpcHRDYWxs
RnJhbWVfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuaCIKICNpbmNs
dWRlICJpbnRlcnByZXRlci9DYWxsRnJhbWUuaCIKQEAgLTY4LDYgKzY2LDQgQEAgcHJpdmF0ZToK
IAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjZW5kaWYgLy8gSmF2YVNjcmlwdENhbGxGcmFtZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAKaW5kZXggMjhjMmFmN2Vm
ZDc4ZDI2OWUxYWRhZTUwNzBiMTY3Y2EwYjQ0MjIxZi4uMjBlYWYwOWY0Nzg1ZWQ5Y2FjMGRmNTZj
YjJhMjk1YzI5YzY1M2VkZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcApAQCAtNTcsNyArNTcsNiBAQCBib29sIFNjcmlwdENh
bGxGcmFtZTo6aXNFcXVhbChjb25zdCBTY3JpcHRDYWxsRnJhbWUmIG8pIGNvbnN0CiAgICAgICAg
ICYmIG1fY29sdW1uID09IG8ubV9jb2x1bW47CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
UmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6OkNhbGxGcmFtZT4gU2NyaXB0Q2FsbEZy
YW1lOjpidWlsZEluc3BlY3Rvck9iamVjdCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkNvbnNvbGU6OkNhbGxGcmFtZTo6Y3JlYXRlKCkKQEAgLTY3LDYgKzY2LDUg
QEAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6OkNhbGxGcmFtZT4gU2NyaXB0Q2Fs
bEZyYW1lOjpidWlsZEluc3BlY3Rvck9iamUKICAgICAgICAgLnNldENvbHVtbk51bWJlcihtX2Nv
bHVtbikKICAgICAgICAgLnJlbGVhc2UoKTsKIH0KLSNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxGcmFtZS5oCmluZGV4IDAxN2RkZDBiNGFkYzUwY2QwZWY0ODI5NGIxMDIwYzk4N2U3MDBiYTAu
Ljk5YWM0ODlhNzc0NjJjYzQ5YzdjYmQwZjk5NGVmZGQ1YzdjMGM3ZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaApAQCAtMzQsMTAg
KzM0LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+Ci0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogI2luY2x1ZGUgIkluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oIgotI2VuZGlmCiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCkBA
IC01Myw5ICs1MCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNFcXVhbChjb25zdCBTY3JpcHRD
YWxsRnJhbWUmKSBjb25zdDsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgUmVmPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6OkNhbGxGcmFtZT4gYnVpbGRJbnNwZWN0b3JPYmplY3Qo
KSBjb25zdDsKLSNlbmRpZgogCiBwcml2YXRlOgogICAgIFN0cmluZyBtX2Z1bmN0aW9uTmFtZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNr
LmNwcAppbmRleCA5OWRmODM2ZTE5M2MzMDQ5MzIxMjcxYWQ0ZmU0NDYzZWYyMjI2ZmQyLi40OWIw
NzE5ZjVhNGE3MWI5NWFiZDJlYzBjNzVhOGU3NTcxYTE5NGMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwCkBAIC0xMDYsNyAr
MTA2LDYgQEAgYm9vbCBTY3JpcHRDYWxsU3RhY2s6OmlzRXF1YWwoU2NyaXB0Q2FsbFN0YWNrKiBv
KSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKIFJl
ZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDb25zb2xlOjpTdGFja1RyYWNlPiBTY3JpcHRDYWxsU3Rh
Y2s6OmJ1aWxkSW5zcGVjdG9yQXJyYXkoKSBjb25zdAogewogICAgIGF1dG8gZnJhbWVzID0gSW5z
cGVjdG9yOjpQcm90b2NvbDo6Q29uc29sZTo6U3RhY2tUcmFjZTo6Y3JlYXRlKCk7CkBAIC0xMTQs
NiArMTEzLDUgQEAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6OlN0YWNrVHJhY2U+
IFNjcmlwdENhbGxTdGFjazo6YnVpbGRJbnNwZWN0b3JBcnIKICAgICAgICAgZnJhbWVzLT5hZGRJ
dGVtKG1fZnJhbWVzLmF0KGkpLmJ1aWxkSW5zcGVjdG9yT2JqZWN0KCkpOwogICAgIHJldHVybiBX
VEY6Om1vdmUoZnJhbWVzKTsKIH0KLSNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5o
CmluZGV4IDI1M2Q4NTIyNDc1MTllODc0YjRjYWY2ZjViZWVlMzlhYTk1MmM4MzEuLmQyY2JiNjU5
NjFiYjM4ZDllOTViOTU1OWQ3NTI4OGYxNzZkMDAwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaApAQCAtMzIsMTUgKzMyLDEyIEBA
CiAjaWZuZGVmIFNjcmlwdENhbGxTdGFja19oCiAjZGVmaW5lIFNjcmlwdENhbGxTdGFja19oCiAK
KyNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlICJTY3JpcHRD
YWxsRnJhbWUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLSNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKLSNlbmRpZgotCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIAogY2xhc3MgSlNfRVhQT1JUX1BSSVZBVEUgU2NyaXB0Q2FsbFN0
YWNrIDogcHVibGljIFJlZkNvdW50ZWQ8U2NyaXB0Q2FsbFN0YWNrPiB7CkBAIC02MSw5ICs1OCw3
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNFcXVhbChTY3JpcHRDYWxsU3RhY2sqKSBjb25zdDsK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNv
bnNvbGU6OlN0YWNrVHJhY2U+IGJ1aWxkSW5zcGVjdG9yQXJyYXkoKSBjb25zdDsKLSNlbmRpZgog
CiBwcml2YXRlOgogICAgIFNjcmlwdENhbGxTdGFjaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCBkYjk0ZmFm
ZTExZjA4MTA3YzYyMjQ4MWZiOTgwZGY4NjMwMDk2MmMyLi4yMzVmMGUwZjE1ZDZjY2NhYzQyY2Q4
ODIyMGEyYzA2N2I0NzYxMzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRGVidWdnZXJDYWxsRnJhbWUuaCIKICNpbmNsdWRl
ICJEZWJ1Z2dlclNjb3BlLmgiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCkBA
IC0zNDksNSArMzQ3LDMgQEAgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUgU2NyaXB0RGVidWdTZXJ2
ZXI6OmV4Y2VwdGlvbk9yQ2F1Z2h0VmFsdWUoSlNDOjpFeGVjU3RhdGUKIH0KIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdl
bnQuY3BwCmluZGV4IDRmNjk1YTc1YmEwMWJiNDEzNDIzZDE1NDFhMTQwOGFiZjYzZTdlNWEuLmU2
MmVjMmVjMDRiMGE4YjNiNmFjYWYyMTBkOTg4Njg3ZWZlNDE4YTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5j
cHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3Bl
Y3RvckVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0VmFsdWUuaCIKQEAgLTE1Miw1ICsxNTAsMyBAQCB2b2lkIEluc3BlY3RvckFnZW50
OjphY3RpdmF0ZUV4dHJhRG9tYWlucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZXh0cmFEb21haW5z
KQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oCmluZGV4IDczMGRjZTYzMGE3OGU4ODFhMTc0YjIwNDNh
NDRiY2RmMmI5OGVmMGMuLjM4YzllZWYyNzczMWE2OGRmMDA4OTVhNzVkNzVlNmY1ODViMWQzNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yQWdlbnQuaApAQCAtMzAsOCArMzAsNiBAQAogI2lmbmRlZiBJbnNwZWN0b3JBZ2Vu
dF9oCiAjZGVmaW5lIEluc3BlY3RvckFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSAiaW5zcGVjdG9yL0luc3BlY3Rv
ckFnZW50QmFzZS5oIgpAQCAtODMsNiArODEsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAh
ZGVmaW5lZChJbnNwZWN0b3JBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAK
aW5kZXggNDljN2ZjMWE2ZDcwMjU4MDVkZWE5MjMzNDYwYzU1MzU4N2UwM2VjYi4uMDUwNTExOTMx
N2UzYTIxNGRiODg5MWU5OTI3Yjc2ZDE3NDI1N2FmZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xl
QWdlbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
aW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIKQEAgLTIyMyw1ICsyMjEsMyBAQCB2
b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkQ29uc29sZU1lc3NhZ2Uoc3RkOjp1bmlxdWVf
cHRyPENvbnNvbGVNZXNzYWdlPiBjbwogfQogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKLQot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCmlu
ZGV4IDc4MzNiZTI3YTYzNjY0YjU0NWRhNzcxZTgyYWNhNzJiZDYwN2U4YjQuLjcyNjJjMDc1YWQy
MDIxMjFiNTNjMGI1YjYzODJhYmY4YWMxNmZmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2Vu
dC5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIEluc3BlY3RvckNvbnNvbGVBZ2VudF9oCiAj
ZGVmaW5lIEluc3BlY3RvckNvbnNvbGVBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0
b3JBZ2VudEJhc2UuaCIKQEAgLTk1LDYgKzkzLDQgQEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAv
LyAhZGVmaW5lZChJbnNwZWN0b3JDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5jcHAKaW5kZXggM2ZkYzBlYzk2MmU4OTU0MWZjNTEyZGJhNmVmNGM1YzY2YzY0Y2Jl
Yy4uM2FlNzYwOWNhZTIwYjdhZjBhZjM2MzczNjliN2Y0MmM3NDgyZmQyMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTMwLDggKzMwLDYgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29udGVudFNlYXJjaFV0aWxpdGllcy5oIgogI2luY2x1
ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgi
CkBAIC04MjksNSArODI3LDMgQEAgdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpjbGVhckV4
Y2VwdGlvblZhbHVlKCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IGFi
OTYxOTg5ZWNlNzViZmRhN2EyOGE5ZGVlODdjY2U4ODUzY2M0OGIuLjliZTMyMzMxNTEwOTQ1NTg3
OGIwMWMzNGIwNjE4YzU2MzgxNDQ1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgK
QEAgLTMwLDggKzMwLDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yRGVidWdnZXJBZ2VudF9oCiAjZGVm
aW5lIEluc3BlY3RvckRlYnVnZ2VyQWdlbnRfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJiaW5kaW5ncy9TY3JpcHRWYWx1
ZS5oIgpAQCAtMTc4LDYgKzE3Niw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVk
KEluc3BlY3RvckRlYnVnZ2VyQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3Bw
CmluZGV4IDE1YWQ3NDY4YjYxNjExMzI5NTAxM2Q1NTM5MGIzNDg0NjQ1ODlmZGEuLjVlZDIyNzc5
ZjdjNWMxODdjYjA3YzdiMGQ3YTAwMGU1YzJmOTRkMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmNwcApAQCAtMzIsOCArMzIsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclJ1bnRpbWVBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgIkNvbXBsZXRpb24uaCIKICNpbmNsdWRlICJIZWFwSXRlcmF0aW9uU2NvcGUuaCIK
ICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgpAQCAtMzQ0LDUgKzM0MiwzIEBAIHZvaWQgSW5z
cGVjdG9yUnVudGltZUFnZW50OjpnZXRCYXNpY0Jsb2NrcyhFcnJvclN0cmluZyYgZXJyb3JTdHJp
bmcsIGNvbnN0IFN0cmluCiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKaW5kZXggMmUw
MjhhMTlhOTg5Mjg2MGFkZmQxODIxNzMyOThlOGY3NDQ3MjlmNi4uOWQ3ZmNmMGViNDlkNGJmZWNj
NTAwY2VkN2NhZWI2OTUxZjVlMmJjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKQEAg
LTMyLDggKzMyLDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yUnVudGltZUFnZW50X2gKICNkZWZpbmUg
SW5zcGVjdG9yUnVudGltZUFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JG
cm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSAiaW5zcGVjdG9yL0luc3BlY3RvckFnZW50
QmFzZS5oIgpAQCAtOTksNSArOTcsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNw
ZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiAjZW5kaWYgLy8gSW5zcGVjdG9y
UnVudGltZUFnZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmNwcApp
bmRleCA3ZDQ4ZDAzN2YyNTY5YTU2MWRjNmJkZGQwMTE2YjFjZWMyY2UxZGNhLi5mZTExMmRkMWVh
ZThjYWVjZTIzY2FiOGMwMzFiMDZlNjQzOTA5ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmpl
Y3RDb25zb2xlQWdlbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaCIKIAotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCi0KIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudDo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
KiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCkBAIC00Niw1ICs0NCwzIEBAIHZvaWQgSlNHbG9iYWxP
YmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5vZGUoRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW5nLCBpbnQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oCmluZGV4
IGI3ZTFiMzBhYzRjZDdhYTYyMzNlNWFjOTk4YWQ1ZDFkZWQwOGMxMDcuLjBkNzljNWQxYmYxYmJl
ZTc2YjlhYmI4NTNmOTkzYzFhYWMwNjVhNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25z
b2xlQWdlbnQuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudF9oCiAjZGVmaW5lIEpTR2xvYmFsT2JqZWN0Q29uc29sZUFnZW50X2gKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKICNp
bmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmgiCiAKQEAgLTQ5LDYgKzQ3
LDQgQEAgcHVibGljOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdENvbnNv
bGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5k
ZXggMzY3NGFiZmM2ODVmNzZmMDFjNGU0ODAxNmM5YTcwZmRiNTgwYjhiZi4uOWFlNzZjNjJhNmM5
YzVhYjAzYzcwOTE1ZDJkMjMxZDhmZjY3M2RlOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVj
dERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmgiCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCIK
QEAgLTc0LDUgKzcyLDMgQEAgdm9pZCBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQ6OmJyZWFr
cG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnMKIH0KIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RE
ZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9K
U0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaAppbmRleCA4YzFmNjUxMTQzMTQ0YTQ5MTA2MzA4
MmIxNDg1YjJmYzY4NjRlMjg3Li5hYzZiODcxNjlmNDc1YTI4MmI2MDEwZWNiZDAxOWIzNTJkNzU1
ODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9K
U0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaApAQCAtMjYsOCAr
MjYsNiBAQAogI2lmbmRlZiBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnRfaAogI2RlZmluZSBK
U0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnRfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9i
amVjdFNjcmlwdERlYnVnU2VydmVyLmgiCiAKQEAgLTYyLDYgKzYwLDQgQEAgcHJpdmF0ZToKIAog
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjZW5kaWYgLy8gIWRlZmluZWQoSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50X2gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9i
amVjdFJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggNzQwNjFjNTk3MTlhMjM1
OTBiMzRhZTc1OThmNzdhNDUxMmUwZmU0YS4uZGM0NGNjN2ZmNjEyMTFiNjc3MjZiMzBjYmI0ZjRh
MGNiMzg4MTdmMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmNwcApA
QCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTR2xvYmFs
T2JqZWN0UnVudGltZUFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAtNzQsNSArNzIsMyBAQCBJbmplY3RlZFNj
cmlwdCBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudDo6aW5qZWN0ZWRTY3JpcHRGb3JFdmFsKEVy
cm9yU3RyaW5nJiBlcgogfQogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKLQotI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuaApp
bmRleCA4ZmI4MTFlMjI2Mjg5YzczYzNjZmEwYzcwN2EwYzRlNjAzMDdkNjM5Li5jNjUwNjhlNjg5
ZWM0NTNhM2MyNTQzYTZmOGQ0ODU3ZWUwOGNmNzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0
UnVudGltZUFnZW50LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgSlNHbG9iYWxPYmplY3RS
dW50aW1lQWdlbnRfaAogI2RlZmluZSBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudF9oCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUnVudGltZUFnZW50Lmgi
CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNTksNiArNTcsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5h
bWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVy
YXRvcl90ZW1wbGF0ZXMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQppbmRleCA0NWM1NDE3YTI3MzUx
ZDM5ZDc3ZGM4NmY3MmViYmNlZTg2MWVjYTJlLi4wMDI4NmFhOGUzZWQyNjg0MzAwZjhlYTdjNjBj
NjQyOTdmYTlkZGJmIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3Rl
bXBsYXRlcy5weQpAQCAtMzMsOCArMzMsNiBAQCBjbGFzcyBDcHBHZW5lcmF0b3JUZW1wbGF0ZXM6
CiAgICAgIiIiI2lmbmRlZiAke2hlYWRlckd1YXJkU3RyaW5nfQogI2RlZmluZSAke2hlYWRlckd1
YXJkU3RyaW5nfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogJHtpbmNsdWRlc30KIAogbmFt
ZXNwYWNlIEluc3BlY3RvciB7CkBAIC00NCwyNCArNDIsMTggQEAgJHt0eXBlZGVmc30iIiIpCiAg
ICAgSGVhZGVyUG9zdGx1ZGUgPSAoCiAgICAgIiIifSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAK
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoJHtoZWFk
ZXJHdWFyZFN0cmluZ30pIiIiKQogCiAgICAgSW1wbGVtZW50YXRpb25QcmVsdWRlID0gKAogICAg
ICIiIiNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICR7cHJpbWFyeUluY2x1ZGV9CiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAke3NlY29uZGFyeUluY2x1ZGVzfQogCiBuYW1lc3BhY2Ug
SW5zcGVjdG9yIHsiIiIpCiAKICAgICBJbXBsZW1lbnRhdGlvblBvc3RsdWRlID0gKAogICAgICIi
In0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ICIiIikKIAogICAgIEFsdGVybmF0ZURpc3BhdGNoZXJzSGVhZGVyUHJlbHVkZSA9ICgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13
aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAppbmRleCBjNWU3NDJjNzUwY2E2MzQ3MWNj
MmEzYzZhNWIzMWZjYjU4MmExM2YzLi5jZmY5ODllMTYxODhhYTQ0MDczYjliNWI5YTNmYjM2NGQ2
NWIzNGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1
bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4
cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0CkBAIC0xMzks
OCArMTM5LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJhc2UiKTsK
ICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
QEAgLTIwOCw4ICsyMDYsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
IAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzLmgKIApAQCAtMjQ3LDggKzI0Myw2IEBAIHByaXZhdGU6CiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC01MTIsOCArNTA2LDYgQEAgdm9pZCBJbnNw
ZWN0b3JEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyOjpleGVjdXRlU1FMQXN5bmMobG9uZyBjYWxs
SWQsIGNvbnN0IEluc3AKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMu
aApAQCAtNTUwLDggKzU0Miw2IEBAIHZvaWQgSW5zcGVjdG9yRGF0YWJhc2VCYWNrZW5kRGlzcGF0
Y2hlcjo6ZXhlY3V0ZVNRTEFzeW5jKGxvbmcgY2FsbElkLCBjb25zdCBJbnNwCiAjaWZuZGVmIElu
c3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERp
c3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgpAQCAt
NTYzLDggKzU1Myw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVm
aW5lZChJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC02MDIsMTYgKzU5MCwxMiBAQCBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JG
cm9udGVuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBu
YW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMg
RW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBG
aWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaApAQCAtNjQ4LDggKzYzMiw2IEBAIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogI2Rl
ZmluZSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg+CiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtNzYyLDggKzc0NCw2IEBAIHB1YmxpYzoKIAogfSAv
LyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
ZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gpCiAjIyMgRW5kIEZp
bGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCiAKQEAgLTgwMSw4ICs3ODEsNiBAQCBwdWJs
aWM6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTgyOSw4ICs4MDcsNiBAQCBTdHJp
bmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5z
cGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IElu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IFJXSVByb3RvY29s
QmFja2VuZERpc3BhdGNoZXJzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNh
bGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1j
YWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CmluZGV4IGEzZTM1MTY1MjZmZThkOWU4
MTdhYTBkODgwMTc2YTVlN2Y4ODM0YzAuLjkwNTg3MTA5OGU0NzVhMzljYTZmOTA2ZDU1NTYwZjgw
OTk0ZDcxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBh
cmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1
cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAtMTM0LDggKzEzNCw2IEBAIEluc3BlY3RvckJh
Y2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7CiAjaWZuZGVmIEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVyc19oCiAjZGVmaW5lIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oCiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0xODksOCArMTg3LDYgQEAgcHJp
dmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJz
X2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oCiAKQEAgLTIy
OCw4ICsyMjQsNiBAQCBwcml2YXRlOgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgpAQCAtNDA1LDggKzM5OSw2IEBAIHZvaWQgSW5zcGVjdG9yRGF0YWJhc2VCYWNrZW5kRGlz
cGF0Y2hlcjo6ZXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzKGxvbmcgY2FsbElkCiAKIH0gLy8g
bmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMj
IEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBG
aWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKQEAgLTQ0Myw4ICs0MzUsNiBAQCB2
b2lkIEluc3BlY3RvckRhdGFiYXNlQmFja2VuZERpc3BhdGNoZXI6OmV4ZWN1dGVOb09wdGlvbmFs
UGFyYW1ldGVycyhsb25nIGNhbGxJZAogI2lmbmRlZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUg
PGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KQEAgLTQ1Niw4ICs0NDYsNiBAQCBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmRE
aXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
LmgKIApAQCAtNDk1LDE2ICs0ODMsMTIgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9u
dGVuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmgKQEAgLTU0MSw4ICs1MjUsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5k
ZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3Iv
SW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAK
QEAgLTY1NSw4ICs2MzcsNiBAQCBwdWJsaWM6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rvcgog
Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3Bl
Y3RvclByb3RvY29sT2JqZWN0c19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9i
amVjdHMuaAogCkBAIC02OTQsOCArNjc0LDYgQEAgcHVibGljOgogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CkBAIC03MjIsOCArNzAwLDYgQEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVl
KGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMu
Y3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9k
b21haW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0CmluZGV4IDAwMDAy
NzU2NTliODYzMThjODQzMjhmYzRkNTgyZTMyNjhhOTcxZGYuLmFlZDAzYTFhZmE1NGI4MjNhZDg1
YWE5OTBmZjU3NTdjN2VmY2M5YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW5zLXdpdGgtdmFyeWluZy1jb21t
YW5kLXNpemVzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNp
emVzLmpzb24tcmVzdWx0CkBAIC0xNTIsOCArMTUyLDYgQEAgSW5zcGVjdG9yQmFja2VuZC5hY3Rp
dmF0ZURvbWFpbigiTmV0d29yazMiKTsKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTIyOSw4ICsyMjcsNiBAQCBwcml2YXRlOgogCiB9
IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBF
bmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKIApAQCAtMjY4LDggKzI2NCw2
IEBAIHByaXZhdGU6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC00
ODcsOCArNDgxLDYgQEAgdm9pZCBJbnNwZWN0b3JOZXR3b3JrM0JhY2tlbmREaXNwYXRjaGVyOjps
b2FkUmVzb3VyY2U3KGxvbmcgY2FsbElkLCBjb25zdCBJbnNwZWMKIAogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtNTI1LDggKzUxNyw2IEBAIHZvaWQgSW5zcGVj
dG9yTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcjo6bG9hZFJlc291cmNlNyhsb25nIGNhbGxJZCwg
Y29uc3QgSW5zcGVjCiAjaWZuZGVmIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogI2Rl
ZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luc3BlY3RvclZhbHVlcy5oPgpAQCAtNTM4LDggKzUyOCw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
X2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC01
NzcsMTYgKzU2NSwxMiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0
Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaApA
QCAtNjIzLDggKzYwNyw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHNfaAogI2RlZmluZSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQ
cm90b2NvbFR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtNjU2LDgg
KzYzOCw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFN0cmluZyBnZXRFbnVtQ29uc3RhbnRWYWx1
ZShUIGVudW1WYWx1ZSkKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCiAKQEAg
LTY5NSw4ICs2NzUsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBTdHJpbmcgZ2V0RW51bUNvbnN0
YW50VmFsdWUoVCBlbnVtVmFsdWUpCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTcx
Niw4ICs2OTQsNiBAQCBTdHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKIAog
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKIAogIyMjIEJlZ2lu
IEZpbGU6IFJXSVByb3RvY29sQmFja2VuZERpc3BhdGNoZXJzLmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZh
bHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdAppbmRleCA5MGJmNGVjMDdi
M2UxYjdhOTIzZDQ4YmE1ZTczOTRlMmZmNTVlNWY5Li4xZmFiMjM2M2Y5NzBlYTg2N2IyMTdiYTJh
NGFlYjJkODAyMGMxZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2Vu
dW0tdmFsdWVzLmpzb24tcmVzdWx0CkBAIC0xNDAsOCArMTQwLDYgQEAgSW5zcGVjdG9yQmFja2Vu
ZC5hY3RpdmF0ZURvbWFpbigiRXZlbnREb21haW4iKTsKICNpZm5kZWYgSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVj
dHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE4Nyw4ICsxODUsNiBAQCBwcml2
YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNf
aCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKIApAQCAtMjI2
LDggKzIyMiw2IEBAIHByaXZhdGU6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUg
PGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CkBAIC0yODcsOCArMjgxLDYgQEAgdm9pZCBJbnNwZWN0b3JDb21tYW5kRG9tYWluQmFja2Vu
ZERpc3BhdGNoZXI6OmNvbW1hbmRXaXRoRW51bVJldHVyblZhbHVlKGxvbmcgY2EKIAogfSAvLyBu
YW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMg
RW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZp
bGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtMzI1LDggKzMxNyw2IEBAIHZv
aWQgSW5zcGVjdG9yQ29tbWFuZERvbWFpbkJhY2tlbmREaXNwYXRjaGVyOjpjb21tYW5kV2l0aEVu
dW1SZXR1cm5WYWx1ZShsb25nIGNhCiAjaWZuZGVmIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hl
cnNfaAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgpAQCAtMzUyLDggKzM0Miw2IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaCkK
ICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCiAKQEAgLTM5MSw4
ICszNzksNiBAQCBwcml2YXRlOgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAt
NDEwLDggKzM5Niw2IEBAIHZvaWQgSW5zcGVjdG9yRXZlbnREb21haW5Gcm9udGVuZERpc3BhdGNo
ZXI6OmV2ZW50V2l0aEVudW1QYXJhbWV0ZXIoUGFyYW1ldGVyIHBhCiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxl
OiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKQEAgLTQ0OCw4ICs0MzIsNiBAQCB2b2lkIEluc3BlY3Rv
ckV2ZW50RG9tYWluRnJvbnRlbmREaXNwYXRjaGVyOjpldmVudFdpdGhFbnVtUGFyYW1ldGVyKFBh
cmFtZXRlciBwYQogI2lmbmRlZiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogI2RlZmluZSBJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KIApAQCAtNDkxLDggKzQ3Myw2IEBAIGVudW0gY2xhc3MgVHlwZURvbWFp
bkVudW0gewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNf
aCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKIApAQCAtNTMwLDgg
KzUxMCw2IEBAIGVudW0gY2xhc3MgVHlwZURvbWFpbkVudW0gewogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CkBAIC01NjAsOCArNTM4LDYgQEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVl
KGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMu
Y3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVu
dHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CmluZGV4IDZlZjkwY2I0MGY5
Mzk1MTgzOGQ0NzEyZDk1ODE0NjhjMjAxNDNlMzQuLmNiMTAzMzRiOWM4MjE1ZDdkN2Q4NWIyYWZi
NGQ0Zjg1ODI0YjMxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJz
Lmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVz
dWx0CkBAIC0xMjksOCArMTI5LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigi
RGF0YWJhc2UiKTsKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZp
bmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
Ci0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KQEAgLTE0Myw4ICsxNDEsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmlu
ZzsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gp
CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oCiAKQEAgLTE4Miw4
ICsxNzgsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTE5OCw4ICsxOTIsNiBAQCBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAK
IAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtMjM2
LDggKzIyOCw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JGcm9u
dGVuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19o
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5o
PgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KQEAgLTI1OCw4ICsyNDgs
NiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGcm9udGVuZERp
c3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMu
aAogCkBAIC0yOTcsOCArMjg1LDYgQEAgcHJpdmF0ZToKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKQEAgLTM1Miw4ICszMzgsNiBAQCB2b2lkIEluc3BlY3RvckRhdGFiYXNlRnJvbnRl
bmREaXNwYXRjaGVyOjpkaWRFeGVjdXRlTm9PcHRpb25hbFBhcmFtZXRlcnMoUmVmUHRyPAogCiB9
IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJl
Z2luIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCkBAIC0zOTAsOCArMzc0LDYgQEAg
dm9pZCBJbnNwZWN0b3JEYXRhYmFzZUZyb250ZW5kRGlzcGF0Y2hlcjo6ZGlkRXhlY3V0ZU5vT3B0
aW9uYWxQYXJhbWV0ZXJzKFJlZlB0cjwKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
X2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTQ5OCw4ICs0ODAsNiBAQCBwdWJsaWM6
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oKQogIyMj
IEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAogCkBAIC01MzcsOCArNTE3LDYg
QEAgcHVibGljOgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3Rv
Y29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC01NTgsOCArNTM2LDYg
QEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQ
cm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13
aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0
dXJlLWd1YXJkcy5qc29uLXJlc3VsdAppbmRleCBhYmI3MDE5MDNmYzE2YTZhNzQ3ODFmOThkZGM0
NjA2YjM3MjI0ZDY2Li5kOWEyYjFlYjg5ZmM4OGIyMTk1NDdlMmYyNjVjZTZkODlmNTg4MjA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24tcmVzdWx0
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQKQEAg
LTEzOCw4ICsxMzgsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3Jr
MyIpOwogI2lmbmRlZiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaAogI2RlZmluZSBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9J
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgpAQCAtMTg0LDggKzE4Miw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVk
KEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC0yMjMsOCArMjE5LDYgQEAgcHJpdmF0ZToKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTI4NCw4ICsyNzgsNiBAQCB2b2lk
IEluc3BlY3Rvck5ldHdvcmsxQmFja2VuZERpc3BhdGNoZXI6OmxvYWRSZXNvdXJjZShsb25nIGNh
bGxJZCwgY29uc3QgSW5zcGVjdAogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVycy5oCkBAIC0zMjIsOCArMzE0LDYgQEAgdm9pZCBJbnNwZWN0b3JOZXR3b3JrMUJhY2tlbmRE
aXNwYXRjaGVyOjpsb2FkUmVzb3VyY2UobG9uZyBjYWxsSWQsIGNvbnN0IEluc3BlY3QKICNpZm5k
ZWYgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAjZGVmaW5lIEluc3BlY3RvckZyb250
ZW5kRGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIklu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+
CkBAIC0zNDUsOCArMzM1LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9u
dGVuZERpc3BhdGNoZXJzLmgKIApAQCAtMzg0LDggKzM3Miw2IEBAIHByaXZhdGU6CiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC00MDIsOCArMzg4LDYgQEAgdm9pZCBJbnNwZWN0
b3JOZXR3b3JrM0Zyb250ZW5kRGlzcGF0Y2hlcjo6cmVzb3VyY2VMb2FkZWQoKQogCiB9IC8vIG5h
bWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBF
bmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZp
bGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCkBAIC00NDAsOCArNDI0LDYgQEAgdm9pZCBJ
bnNwZWN0b3JOZXR3b3JrM0Zyb250ZW5kRGlzcGF0Y2hlcjo6cmVzb3VyY2VMb2FkZWQoKQogI2lm
bmRlZiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogI2RlZmluZSBJbnNwZWN0b3JQcm90b2Nv
bE9iamVjdHNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
IApAQCAtNTQ0LDggKzUyNiw2IEBAIHB1YmxpYzoKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29s
T2JqZWN0cy5oCiAKQEAgLTU4Myw4ICs1NjMsNiBAQCBwdWJsaWM6CiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2Ug
SW5zcGVjdG9yIHsKQEAgLTYwNCw4ICs1ODIsNiBAQCBTdHJpbmcgZ2V0RW51bUNvbnN0YW50VmFs
dWUoaW50IGNvZGUpIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0
cy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IFJXSVByb3RvY29sQmFja2VuZERpc3BhdGNoZXJzLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zYW1l
LXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdAppbmRleCAzNTk5N2UzNjZjMGVj
NjE1YWU2MjYxMzI4MmJjMmNlZDNjOTk0YzM2Li45YjNhZjI4MTQ3Y2ZmOTAwODQ1NTViNDAyNGVm
MDI3ZDc2OWMwM2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21haW4uanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0CkBA
IC0xMjMsOCArMTIzLDYgQEAgcHJpdmF0ZToKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIK
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTEzNyw4ICsxMzUsNiBAQCB0eXBlZGVmIFN0
cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
cy5oCiAKQEAgLTE3Niw4ICsxNzIsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
aCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVl
cy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTE5Miw4ICsxODYsNiBAQCBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0
Y2hlcnMuaApAQCAtMjMwLDggKzIyMiw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRl
ZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRl
bmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
QEAgLTI0Myw4ICsyMzMsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8g
IWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJ
bnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApAQCAtMjgyLDE2ICsyNzAsMTIgQEAgbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQog
IyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVn
aW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKQEAgLTMyOCw4ICszMTIsNiBAQCBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gK
ICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTM2Niw4ICszNDgsNiBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBTdHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoVCBlbnVtVmFsdWUpCiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQog
I2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oKQogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAogCkBAIC00MDUsOCArMzg1LDYgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKFQgZW51bVZhbHVl
KQogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0
cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC00MjYsOCArNDA0LDYgQEAgU3RyaW5n
IGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNw
ZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJh
Y2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0
ZXJzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVycy5qc29uLXJlc3Vs
dAppbmRleCBlNTJhMzdkYTk3YTQwMDM0MWM2ZjQxMDMxZDExNDBiOGI4YWIyMjEzLi4zOGFkNzk5
M2ViOGVhZDAzNmZiNGQwMzMyODQ2ZjMyMzM2YTNjNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0
aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBl
LXNldHRlcnMuanNvbi1yZXN1bHQKQEAgLTEyMyw4ICsxMjMsNiBAQCBwcml2YXRlOgogI2lmbmRl
ZiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaAogI2RlZmluZSBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3Bl
Y3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTM3
LDggKzEzNSw2IEBAIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogCiB9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAh
ZGVmaW5lZChJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKIApAQCAtMTc2LDggKzE3Miw2IEBAIHR5cGVkZWYg
U3RyaW5nIEVycm9yU3RyaW5nOwogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgpAQCAtMTkyLDggKzE4Niw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQg
RmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTog
SW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCkBAIC0yMzAsOCArMjIyLDYgQEAgbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAjaWZuZGVmIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAog
I2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVj
dG9yL0luc3BlY3RvclZhbHVlcy5oPgpAQCAtMjQzLDggKzIzMyw2IEBAIG5hbWVzcGFjZSBJbnNw
ZWN0b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaAogCkBA
IC0yODIsMTYgKzI3MCwxMiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlz
cGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMu
aApAQCAtMzI4LDggKzMxMiw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNw
ZWN0b3JQcm90b2NvbE9iamVjdHNfaAogI2RlZmluZSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNf
aAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0
b3JQcm90b2NvbFR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtNDM2
LDggKzQxOCw2IEBAIHB1YmxpYzoKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUHJv
dG9jb2xPYmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5o
CiAKQEAgLTQ3NSw4ICs0NTUsNiBAQCBwdWJsaWM6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9y
IHsKQEAgLTQ5OSw4ICs0NzcsNiBAQCBTdHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNv
ZGUpIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKIAog
IyMjIEJlZ2luIEZpbGU6IFJXSVByb3RvY29sQmFja2VuZERpc3BhdGNoZXJzLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlw
ZS1kZWNsYXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0CmluZGV4IDNj
YzY0MGM0M2JlN2I0MjM0ODZhYWE3YzRjYTVlNmMzZjQ4ZWUzOTIuLmFmMWQ1MzA5N2NhNjdhYTBh
MjhmNGIwNGI2MDlmM2E5M2I2MGIxOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFz
ZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNl
ZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdApAQCAtMTIzLDggKzEyMyw2IEBAIHByaXZhdGU6
CiAjaWZuZGVmIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oCiAjZGVmaW5lIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CkBAIC0xMzcsOCArMTM1LDYgQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAKIH0gLy8g
bmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2Vu
ZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC0xNzYsOCArMTcyLDYgQEAg
dHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CkBAIC0xOTIsOCArMTg2LDYgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQog
IyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdp
biBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKQEAgLTIzMCw4ICsyMjIsNiBA
QCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVyc19oCiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CkBAIC0yNDMsOCArMjMzLDYgQEAgbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVy
cy5oCiAKQEAgLTI4MiwxNiArMjcwLDEyIEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJv
bnRlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvclByb3RvY29s
T2JqZWN0cy5oCkBAIC0zMjgsOCArMzEyLDYgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaWZu
ZGVmIEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oCiAjZGVmaW5lIEluc3BlY3RvclByb3RvY29s
T2JqZWN0c19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luc3BlY3RvclByb3RvY29sVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgog
CkBAIC0zNjEsOCArMzQzLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gU3RyaW5nIGdldEVudW1D
b25zdGFudFZhbHVlKFQgZW51bVZhbHVlKQogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzLmgKIApAQCAtNDAwLDggKzM4MCw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFN0cmluZyBn
ZXRFbnVtQ29uc3RhbnRWYWx1ZShUIGVudW1WYWx1ZSkKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewpAQCAtNDIxLDggKzM5OSw2IEBAIFN0cmluZyBnZXRFbnVtQ29uc3RhbnRWYWx1ZShpbnQg
Y29kZSkgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcAog
CiAjIyMgQmVnaW4gRmlsZTogUldJUHJvdG9jb2xCYWNrZW5kRGlzcGF0Y2hlcnMuaApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVj
dGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggMDBlZGFhZWIwZTJkN2VhMjkxMzlkMGM2
ZjBiZGQ0ZTg1YmYyODk1MC4uNGRhOTdmNDg0ZmY2MzVmYzYzYzM0NmNhMThkZTMyMThhNjkyMGI0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
dHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CkBAIC0xMjYsOCArMTI2LDYg
QEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkRlYnVnZ2VyLlJlYXNvbiIsIHtEaWVk
OiAiRGllZCIsIEZhaW50ZWQ6ICJGYWludGUKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIK
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE0MCw4ICsxMzgsNiBAQCB0eXBlZGVmIFN0
cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
cy5oCiAKQEAgLTE3OSw4ICsxNzUsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
aCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVl
cy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTE5NSw4ICsxODksNiBAQCBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0
Y2hlcnMuaApAQCAtMjMzLDggKzIyNSw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRl
ZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRl
bmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
QEAgLTI0Niw4ICsyMzYsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8g
IWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJ
bnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApAQCAtMjg1LDE2ICsyNzMsMTIgQEAgbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQog
IyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVn
aW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKQEAgLTMzMSw4ICszMTUsNiBAQCBu
YW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gK
ICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTM4Niw4ICszNjgsNiBAQCBlbnVtIGNsYXNz
IFJlYXNvbiB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclByb3RvY29sT2JqZWN0
c19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAogCkBAIC00MjUs
OCArNDA1LDYgQEAgZW51bSBjbGFzcyBSZWFzb24gewogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3Rv
ciB7CkBAIC00NDksOCArNDI3LDYgQEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBj
b2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAK
ICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0
ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1lbnVtLXR5cGUuanNvbi1yZXN1bHQKaW5kZXggYjA0ODc2ZThkYmQ5NmMzYjY0ODc5ZDVmNzg4
MTQ1ZDllMGNlNjE3Zi4uZmI0YWVkMjAxNzBkYjlkNTNmMjgyMzRhNTc5Y2Y0MDU2MTFiYjMyYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3Rz
L2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0CisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdApAQCAtMTI3LDggKzEyNyw2IEBAIElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJSdW50aW1lLlR3b0xlZ2dlZEFuaW1hbHMiLCB7
RHVja3M6ICJEdWNrcyIsIEhlbnM6CiAjaWZuZGVmIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
c19oCiAjZGVmaW5lIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0xNDEsOCArMTM5LDYgQEAgdHlwZWRlZiBTdHJpbmcg
RXJyb3JTdHJpbmc7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaAog
CkBAIC0xODAsOCArMTc2LDYgQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xOTYsOCArMTkwLDYgQEAgbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
LmgKQEAgLTIzNCw4ICsyMjYsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5kRGlz
cGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CkBAIC0y
NDcsOCArMjM3LDYgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIElu
c3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZp
bmVkKEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVj
dG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCiAKQEAgLTI4NiwxNiArMjc0LDEyIEBAIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB9IC8vIG5h
bWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBF
bmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZp
bGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCkBAIC0zMzIsOCArMzE2LDYgQEAgbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAjaWZuZGVmIEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oCiAjZGVm
aW5lIEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclByb3RvY29sVHlwZXMuaD4KICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgogCkBAIC0zODMsOCArMzY1LDYgQEAgZW51bSBjbGFzcyBUd29M
ZWdnZWRBbmltYWxzIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCiAKQEAg
LTQyMiw4ICs0MDIsNiBAQCBlbnVtIGNsYXNzIFR3b0xlZ2dlZEFuaW1hbHMgewogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEluc3BlY3RvciB7CkBAIC00NTAsOCArNDI4LDYgQEAgU3RyaW5nIGdldEVudW1Db25z
dGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2Nv
bE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tlbmREaXNwYXRj
aGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3Vs
dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0CmluZGV4IDNhNWJmMDgz
NGVkZDAxZmQ4NjQ1OWMwOTEwMmZlNGJmYzc1Yzk0YTguLjlmYmI1ZjUzMzQ5ZmUxMjNmMDA5ZGM2
MzBkYmFkNDg0N2E1OWQxZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBl
Lmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0
CkBAIC0xMjMsOCArMTIzLDYgQEAgcHJpdmF0ZToKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMu
aCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTEzNyw4ICsxMzUsNiBAQCB0eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVycy5oCiAKQEAgLTE3Niw4ICsxNzIsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
cnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZh
bHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTE5Miw4ICsxODYsNiBA
QCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlz
cGF0Y2hlcnMuaApAQCAtMjMwLDggKzIyMiw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lm
bmRlZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yRnJv
bnRlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAi
SW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMu
aD4KQEAgLTI0Myw4ICsyMzMsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYg
Ly8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxl
OiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApAQCAtMjgyLDE2ICsyNzAsMTIgQEAg
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAK
IH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
LQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMg
QmVnaW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKQEAgLTMyOCw4ICszMTIsNiBA
QCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
X2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTgyNiw4ICs4MDgsNiBAQCBwdWJsaWM6
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oKQogIyMj
IEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAogCkBAIC04NjUsOCArODQ1LDYg
QEAgcHVibGljOgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3Rv
Y29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC04ODYsOCArODY0LDYg
QEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQ
cm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVu
dGltZS1jYXN0cy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24t
cmVzdWx0CmluZGV4IGViZDNlMmM5MTU0YjUxZWRlY2RkZWE5YTYyNjhiN2MzYTUzMmNjZGEuLjA0
NWNjYjhmMjBjZjU4MzA4NzQxOGYwNjhmYjVhMDA1MTg5YjM3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJl
cXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50
aW1lLWNhc3RzLmpzb24tcmVzdWx0CkBAIC0xMjcsOCArMTI3LDYgQEAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckVudW0oIlRlc3QuQ2FzdGVkQW5pbWFscyIsIHtEdWNrczogIkR1Y2tzIiwgSGVu
czogIkhlbnMKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUg
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0
b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KQEAgLTE0MSw4ICsxMzksNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsK
IAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gpCiAj
IyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oCiAKQEAgLTE4MCw4ICsx
NzYsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTE5Niw4ICsxOTAsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9y
IHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAog
IyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtMjM0LDgg
KzIyNiw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JGcm9udGVu
ZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KQEAgLTI0Nyw4ICsyMzcsNiBA
QCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9y
RnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERp
c3BhdGNoZXJzLmgKIApAQCAtMjg2LDE2ICsyNzQsMTIgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNw
ZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9y
UHJvdG9jb2xPYmplY3RzLmgKQEAgLTMzMiw4ICszMTYsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9y
IHsKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKICNkZWZpbmUgSW5zcGVjdG9y
UHJvdG9jb2xPYmplY3RzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CiAKQEAgLTYwNSw4ICs1ODcsNiBAQCBzdGF0aWMgdm9pZCBhc3NlcnRWYWx1ZUhhc0V4
cGVjdGVkVHlwZShJbnNwZWN0b3I6Okluc3BlY3RvclZhbHVlKik7CiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFk
ZWZpbmVkKEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuaAogCkBAIC02NDQsOCArNjI0LDYgQEAgc3RhdGljIHZvaWQgYXNz
ZXJ0VmFsdWVIYXNFeHBlY3RlZFR5cGUoSW5zcGVjdG9yOjpJbnNwZWN0b3JWYWx1ZSopOwogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC03NzcsOCArNzU1LDYgQEAgdm9pZCBCaW5kaW5n
VHJhaXRzPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6OlJlY3Vyc2l2ZU9iamVjdDI+Ojphc3Nl
cnRWYWx1ZUhhc0UKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5j
cHAKIAogIyMjIEJlZ2luIEZpbGU6IFJXSVByb3RvY29sQmFja2VuZERpc3BhdGNoZXJzLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKaW5kZXggMmE1NTJmOGZhMjBh
ZWI0OTA1OGVkNWNlYmFjYjNhODllNjQxNzEwMi4uZmY5MjE4ZmY1NzE5Y2ViMmI1YTY3ZjU0ZjAz
YzYxNTYzODEzZjIyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZVNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5j
cHAKQEAgLTIzNiw3ICsyMzYsNiBAQCBTdHJpbmcgVHlwZVNldDo6bGVhc3RDb21tb25BbmNlc3Rv
cigpIGNvbnN0CiAgICAgcmV0dXJuIFN0cnVjdHVyZVNoYXBlOjpsZWFzdENvbW1vbkFuY2VzdG9y
KG1fc3RydWN0dXJlSGlzdG9yeSk7CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogUmVmPElu
c3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlN0
cnVjdHVyZURlc2NyaXB0aW9uPj4gVHlwZVNldDo6YWxsU3RydWN0dXJlUmVwcmVzZW50YXRpb25z
KCkgY29uc3QKIHsKICAgICBhdXRvIGRlc2NyaXB0aW9uID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6
QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6U3RydWN0dXJlRGVzY3JpcHRpb24+
OjpjcmVhdGUoKTsKQEAgLTI2MCw3ICsyNTksNiBAQCBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6
UnVudGltZTo6VHlwZVNldD4gVHlwZVNldDo6aW5zcGVjdG9yVHlwZVNldCgpIGNvbnN0CiAgICAg
ICAgIC5zZXRJc09iamVjdCgobV9zZWVuVHlwZXMgJiBUeXBlT2JqZWN0KSAhPSBUeXBlTm90aGlu
ZykKICAgICAgICAgLnJlbGVhc2UoKTsKIH0KLSNlbmRpZgogCiBTdHJpbmcgVHlwZVNldDo6dG9K
U09OU3RyaW5nKCkgY29uc3QKIHsKQEAgLTUxMCw3ICs1MDgsNiBAQCBTdHJpbmcgU3RydWN0dXJl
U2hhcGU6OnRvSlNPTlN0cmluZygpIGNvbnN0CiAgICAgcmV0dXJuIGpzb24udG9TdHJpbmcoKTsK
IH0KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVu
dGltZTo6U3RydWN0dXJlRGVzY3JpcHRpb24+IFN0cnVjdHVyZVNoYXBlOjppbnNwZWN0b3JSZXBy
ZXNlbnRhdGlvbigpCiB7CiAgICAgYXV0byBiYXNlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6UnVu
dGltZTo6U3RydWN0dXJlRGVzY3JpcHRpb246OmNyZWF0ZSgpLnJlbGVhc2UoKTsKQEAgLTU0MSw3
ICs1MzgsNiBAQCBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6U3RydWN0dXJlRGVz
Y3JpcHRpb24+IFN0cnVjdHVyZVNoYXBlOjppbnNwZWN0bwogCiAgICAgcmV0dXJuIFdURjo6bW92
ZShiYXNlKTsKIH0KLSNlbmRpZgogCiBib29sIFN0cnVjdHVyZVNoYXBlOjpoYXNTYW1lUHJvdG90
eXBlQ2hhaW4oUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gcHJwT3RoZXIpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvUGxhdGZvcm1FZmwuY21ha2UK
aW5kZXggMWYwNTAxNDMzZjhhNTg5NDcyMzRhYTAzZDE0NGE3NDgyN2NhYThlYS4uN2UwYjNkMmZm
YmJjNzMzNDc1NGE5YTNkODUyZjg3ZTUwMzk4YmExYyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRm
b3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMSw0NyArMSw0
NSBAQAogYWRkX3N1YmRpcmVjdG9yeSgke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9lZmwvRGVmYXVs
dFRoZW1lKQogCi1pZiAoRU5BQkxFX0lOU1BFQ1RPUikKLSAgICBhZGRfY3VzdG9tX3RhcmdldCgK
LSAgICAgICAgd2ViLWluc3BlY3Rvci1yZXNvdXJjZXMgQUxMCi0gICAgICAgIENPTU1BTkQgJHtD
TUFLRV9DT01NQU5EfSAtRSBjb3B5X2RpcmVjdG9yeSAke1dFQklOU1BFQ1RPUlVJX0RJUn0vVXNl
ckludGVyZmFjZSAke1dFQl9JTlNQRUNUT1JfRElSfQotICAgICAgICBDT01NQU5EICR7Q01BS0Vf
Q09NTUFORH0gLUUgY29weSAke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9L1Vz
ZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzICR7V0VCX0lO
U1BFQ1RPUl9ESVJ9L1Byb3RvY29sCi0gICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAt
RSBjb3B5ICR7V0VCSU5TUEVDVE9SVUlfRElSfS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMgJHtXRUJfSU5TUEVDVE9SX0RJUn0KLSAgICAgICAgQ09NTUFORCAke0NN
QUtFX0NPTU1BTkR9IC1FIGNvcHkgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0luc3BlY3RvclNl
cnZlci9mcm9udC1lbmQvaW5zcGVjdG9yUGFnZUluZGV4Lmh0bWwgJHtXRUJfSU5TUEVDVE9SX0RJ
Un0KLSAgICAgICAgREVQRU5EUyBKYXZhU2NyaXB0Q29yZSBXZWJDb3JlCi0gICAgICAgIFdPUktJ
TkdfRElSRUNUT1JZICR7Q01BS0VfQklOQVJZX0RJUn0KLSAgICApCi0gICAgaW5zdGFsbChESVJF
Q1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtXRUJfSU5TUEVDVE9SX0RJUn0iCi0gICAgICAg
IERFU1RJTkFUSU9OICR7REFUQV9JTlNUQUxMX0RJUn0KLSAgICAgICAgRklMRVNfTUFUQ0hJTkcg
UEFUVEVSTiAiKi5qcyIKLSAgICAgICAgICAgICAgICAgICAgICAgUEFUVEVSTiAiKi5odG1sIgot
ICAgICAgICAgICAgICAgICAgICAgICBQQVRURVJOICIqLmNzcyIKLSAgICAgICAgICAgICAgICAg
ICAgICAgUEFUVEVSTiAiKi5naWYiCi0gICAgICAgICAgICAgICAgICAgICAgIFBBVFRFUk4gIiou
cG5nIgotICAgICAgICAgICAgICAgICAgICAgICBQQVRURVJOICIqLnN2ZyIpCithZGRfY3VzdG9t
X3RhcmdldCgKKyAgICB3ZWItaW5zcGVjdG9yLXJlc291cmNlcyBBTEwKKyAgICBDT01NQU5EICR7
Q01BS0VfQ09NTUFORH0gLUUgY29weV9kaXJlY3RvcnkgJHtXRUJJTlNQRUNUT1JVSV9ESVJ9L1Vz
ZXJJbnRlcmZhY2UgJHtXRUJfSU5TUEVDVE9SX0RJUn0KKyAgICBDT01NQU5EICR7Q01BS0VfQ09N
TUFORH0gLUUgY29weSAke0RFUklWRURfU09VUkNFU19XRUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJ
bnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzICR7V0VCX0lOU1BF
Q1RPUl9ESVJ9L1Byb3RvY29sCisgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNvcHkg
JHtXRUJJTlNQRUNUT1JVSV9ESVJ9L0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyAke1dFQl9JTlNQRUNUT1JfRElSfQorICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5E
fSAtRSBjb3B5ICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvZnJvbnQt
ZW5kL2luc3BlY3RvclBhZ2VJbmRleC5odG1sICR7V0VCX0lOU1BFQ1RPUl9ESVJ9CisgICAgREVQ
RU5EUyBKYXZhU2NyaXB0Q29yZSBXZWJDb3JlCisgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFL
RV9CSU5BUllfRElSfQorKQoraW5zdGFsbChESVJFQ1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0v
JHtXRUJfSU5TUEVDVE9SX0RJUn0iCisgICAgREVTVElOQVRJT04gJHtEQVRBX0lOU1RBTExfRElS
fQorICAgIEZJTEVTX01BVENISU5HIFBBVFRFUk4gIiouanMiCisgICAgICAgICAgICAgICAgICAg
UEFUVEVSTiAiKi5odG1sIgorICAgICAgICAgICAgICAgICAgIFBBVFRFUk4gIiouY3NzIgorICAg
ICAgICAgICAgICAgICAgIFBBVFRFUk4gIiouZ2lmIgorICAgICAgICAgICAgICAgICAgIFBBVFRF
Uk4gIioucG5nIgorICAgICAgICAgICAgICAgICAgIFBBVFRFUk4gIiouc3ZnIikKIAotICAgIGZp
bmRfcHJvZ3JhbShVR0xJRllKU19FWEVDVVRBQkxFIHVnbGlmeWpzKQotICAgIGlmIChVR0xJRllK
U19FWEVDVVRBQkxFIEFORCAoTk9UICR7Q01BS0VfQlVJTERfVFlQRX0gU1RSRVFVQUwgIkRlYnVn
IikpCi0gICAgICAgIGZpbGUoR0xPQiBmcm9udGVuZF9qc19maWxlcyAiJHtXRUJJTlNQRUNUT1JV
SV9ESVJ9L1VzZXJJbnRlcmZhY2UvKi5qcyIpCi0gICAgICAgIHNldChhbGxfanNfZmlsZXMKLSAg
ICAgICAgICAgICR7ZnJvbnRlbmRfanNfZmlsZXN9Ci0gICAgICAgICAgICAiJHtXRUJJTlNQRUNU
T1JVSV9ESVJ9L0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyIKLSAg
ICAgICAgKQorZmluZF9wcm9ncmFtKFVHTElGWUpTX0VYRUNVVEFCTEUgdWdsaWZ5anMpCitpZiAo
VUdMSUZZSlNfRVhFQ1VUQUJMRSBBTkQgKE5PVCAke0NNQUtFX0JVSUxEX1RZUEV9IFNUUkVRVUFM
ICJEZWJ1ZyIpKQorICAgIGZpbGUoR0xPQiBmcm9udGVuZF9qc19maWxlcyAiJHtXRUJJTlNQRUNU
T1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UvKi5qcyIpCisgICAgc2V0KGFsbF9qc19maWxlcworICAg
ICAgICAke2Zyb250ZW5kX2pzX2ZpbGVzfQorICAgICAgICAiJHtXRUJJTlNQRUNUT1JVSV9ESVJ9
L0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyIKKyAgICApCiAKLSAg
ICAgICAgZm9yZWFjaCAoanNfZmlsZSAke2FsbF9qc19maWxlc30pCi0gICAgICAgICAgICBnZXRf
ZmlsZW5hbWVfY29tcG9uZW50KGZpbGVuYW1lICR7anNfZmlsZX0gTkFNRSkKLSAgICAgICAgICAg
IGluc3RhbGwoQ09ERQotICAgICAgICAgICAgICAgICJleGVjdXRlX3Byb2Nlc3MoCi0gICAgICAg
ICAgICAgICAgICAgIENPTU1BTkQgJHtVR0xJRllKU19FWEVDVVRBQkxFfSAtLW92ZXJ3cml0ZSAk
e2ZpbGVuYW1lfQotICAgICAgICAgICAgICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtF
X0lOU1RBTExfUFJFRklYfS8ke1dFQl9JTlNQRUNUT1JfRElSfSkiKQotICAgICAgICBlbmRmb3Jl
YWNoICgpCisgICAgZm9yZWFjaCAoanNfZmlsZSAke2FsbF9qc19maWxlc30pCisgICAgICAgIGdl
dF9maWxlbmFtZV9jb21wb25lbnQoZmlsZW5hbWUgJHtqc19maWxlfSBOQU1FKQorICAgICAgICBp
bnN0YWxsKENPREUKKyAgICAgICAgICAgICJleGVjdXRlX3Byb2Nlc3MoCisgICAgICAgICAgICAg
ICAgQ09NTUFORCAke1VHTElGWUpTX0VYRUNVVEFCTEV9IC0tb3ZlcndyaXRlICR7ZmlsZW5hbWV9
CisgICAgICAgICAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9JTlNUQUxMX1BSRUZJ
WH0vJHtXRUJfSU5TUEVDVE9SX0RJUn0pIikKKyAgICBlbmRmb3JlYWNoICgpCiAKLSAgICAgICAg
ZmlsZShHTE9CIGNvZGVtaXJyb3JfanNfZmlsZXMgIiR7V0VCSU5TUEVDVE9SVUlfRElSfS9Vc2Vy
SW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvKi5qcyIpCi0gICAgICAgIGZvcmVhY2ggKGpz
X2ZpbGUgJHtjb2RlbWlycm9yX2pzX2ZpbGVzfSkKLSAgICAgICAgICAgIGdldF9maWxlbmFtZV9j
b21wb25lbnQoZmlsZW5hbWUgJHtqc19maWxlfSBOQU1FKQotICAgICAgICAgICAgaW5zdGFsbChD
T0RFCi0gICAgICAgICAgICAgICAgImV4ZWN1dGVfcHJvY2VzcygKLSAgICAgICAgICAgICAgICAg
ICAgQ09NTUFORCAke1VHTElGWUpTX0VYRUNVVEFCTEV9IC0tb3ZlcndyaXRlICR7ZmlsZW5hbWV9
Ci0gICAgICAgICAgICAgICAgICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfSU5TVEFMTF9Q
UkVGSVh9LyR7V0VCX0lOU1BFQ1RPUl9ESVJ9L0V4dGVybmFsL0NvZGVNaXJyb3IvKSIpCi0gICAg
ICAgIGVuZGZvcmVhY2ggKCkKLSAgICBlbmRpZiAoKQorICAgIGZpbGUoR0xPQiBjb2RlbWlycm9y
X2pzX2ZpbGVzICIke1dFQklOU1BFQ1RPUlVJX0RJUn0vVXNlckludGVyZmFjZS9FeHRlcm5hbC9D
b2RlTWlycm9yLyouanMiKQorICAgIGZvcmVhY2ggKGpzX2ZpbGUgJHtjb2RlbWlycm9yX2pzX2Zp
bGVzfSkKKyAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChmaWxlbmFtZSAke2pzX2ZpbGV9
IE5BTUUpCisgICAgICAgIGluc3RhbGwoQ09ERQorICAgICAgICAgICAgImV4ZWN1dGVfcHJvY2Vz
cygKKyAgICAgICAgICAgICAgICBDT01NQU5EICR7VUdMSUZZSlNfRVhFQ1VUQUJMRX0gLS1vdmVy
d3JpdGUgJHtmaWxlbmFtZX0KKyAgICAgICAgICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAke0NN
QUtFX0lOU1RBTExfUFJFRklYfS8ke1dFQl9JTlNQRUNUT1JfRElSfS9FeHRlcm5hbC9Db2RlTWly
cm9yLykiKQorICAgIGVuZGZvcmVhY2ggKCkKIGVuZGlmICgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMu
aAppbmRleCA0YjA1YTQwYzU4ZmU0NmI3ODE1MTIyYTNjNmRmNzNhMTg5NWIxNjdmLi4zMjE2ZmM1
NWJlZTg0NWNlZWQ0NDc4YjYyNjZlNTNlNGM4ODE0ZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVz
LmgKQEAgLTc3MSwxMCArNzcxLDYgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBXZSB3aWxsIGFsc28g
bmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGZpbGUKICNlcnJvciAi
RU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkgcmVxdWlyZXMgRU5BQkxFKFZJREVPKSIKICNl
bmRpZgogCi0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmICFFTkFCTEUoSU5TUEVDVE9S
KQotI2Vycm9yICJFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgcmVxdWlyZXMgRU5BQkxFKElOU1BF
Q1RPUikiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENI
RVJTKSAmJiAhRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAjZXJyb3IgIkVOQUJMRShJTlNQRUNU
T1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSByZXF1aXJlcyBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMWFjZTQ4YzdhOTBlOTI2MmNiM2MwYjU4NDQ4ODRk
YTA0NjEwNDY1YS4uNmM0YmY1ZDBjMjYzYmYwODRlMGU1YjM2ZmE5ODc2NDA4OTQ4OGNkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTEwNCw3ICsxMDQsNiBAQCBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUw7CiBFTkFC
TEVfSU5QVVRfVFlQRV9NT05USFtzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SDsKIEVOQUJMRV9JTlBVVF9UWVBFX1RJTUVbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRTsKIEVOQUJMRV9JTlBVVF9UWVBFX1dFRUtbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSzsKLUVOQUJMRV9JTlNQRUNUT1IgPSBFTkFCTEVfSU5TUEVDVE9SOwogCiBF
TkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU1tzZGs9aXBob25lKl0gPSBFTkFC
TEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUzsKIEVOQUJMRV9JTlNQRUNUT1JfQUxU
RVJOQVRFX0RJU1BBVENIRVJTW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRF
Uk5BVEVfRElTUEFUQ0hFUlNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1Ip
KQpAQCAtMjI2LDQgKzIyNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1IpICQo
RU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYjA3
YTc3OWE0MmZkZWQ2ZGM4MmVhYmI2N2U2MDMxNWJiMWIwZDE4NC4uMDlkMDljYmFkNjAyNjYzZGQw
NmE0ODgxODUzZWExZGFkY2YwMmRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTQyOSw2ICs0
MjksNyBAQCBfX1pON1dlYkNvcmUxNFNRTGl0ZURhdGFiYXNlRDFFdgogX19aTjdXZWJDb3JlMTRT
Y2hlbWVSZWdpc3RyeTI0cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsRVJLTjNXVEY2U3RyaW5nRQog
X19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTI1cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZUVS
S04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkyN3JlZ2lzdGVyVVJM
U2NoZW1lQXNOb0FjY2Vzc0VSS04zV1RGNlN0cmluZ0UKK19fWk43V2ViQ29yZTE0U2NoZW1lUmVn
aXN0cnkyN3Nob3VsZFRyZWF0VVJMU2NoZW1lQXNMb2NhbEVSS04zV1RGNlN0cmluZ0UKIF9fWk43
V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkzMHJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZEVS
S04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkzMnJlZ2lzdGVyVVJM
U2NoZW1lQXNFbXB0eURvY3VtZW50RVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY2hl
bWVSZWdpc3RyeTM0cmVnaXN0ZXJVUkxTY2hlbWVBc0Rpc3BsYXlJc29sYXRlZEVSS04zV1RGNlN0
cmluZ0UKQEAgLTYyOCw2ICs2MjksNyBAQCBfX1pON1dlYkNvcmUxNUdyYXBoaWNzTGF5ZXJDQUQy
RXYKIF9fWk43V2ViQ29yZTE1SGl0VGVzdExvY2F0aW9uMTJyZWN0Rm9yUG9pbnRFUktOU18xMUxh
eW91dFBvaW50RWpqamoKIF9fWk43V2ViQ29yZTE1SGl0VGVzdExvY2F0aW9uQzFFUktOU18xMEZs
b2F0UG9pbnRFCiBfX1pON1dlYkNvcmUxNUhpdFRlc3RMb2NhdGlvbkQxRXYKK19fWk43V2ViQ29y
ZTE1SW5zcGVjdG9yQ2xpZW50MzFkb0Rpc3BhdGNoTWVzc2FnZU9uRnJvbnRlbmRQYWdlRVBOU180
UGFnZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE1SlNET01XaW5kb3dCYXNlOGNvbW1v
blZNRXYKIF9fWk43V2ViQ29yZTE1UGFzdGVib2FyZEltYWdlQzFFdgogX19aTjdXZWJDb3JlMTVQ
YXN0ZWJvYXJkSW1hZ2VEMUV2CkBAIC04MDUsNiArODA3LDcgQEAgX19aTjdXZWJDb3JlMTdzbmFw
c2hvdEZyYW1lUmVjdEVSTlNfNUZyYW1lRVJLTlNfN0ludFJlY3RFagogX19aTjdXZWJDb3JlMTdz
bmFwc2hvdFNlbGVjdGlvbkVSTlNfNUZyYW1lRWoKIF9fWk43V2ViQ29yZTE3dXNlclZpc2libGVT
dHJpbmdFUDVOU1VSTAogX19aTjdXZWJDb3JlMThET01XaW5kb3dFeHRlbnNpb25DMUVQTlNfNUZy
YW1lRVJOU18xNURPTVdyYXBwZXJXb3JsZEUKK19fWk43V2ViQ29yZTE4SW5zcGVjdG9yUGFnZUFn
ZW50N2ZyYW1lSWRFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTE4UGxhdGZvcm1DQUxheWVyTWFj
MThzZXRHZW9tZXRyeUZsaXBwZWRFYgogX19aTjdXZWJDb3JlMThQbGF0Zm9ybUNBTGF5ZXJNYWMy
MmZpbHRlcnNDYW5CZUNvbXBvc2l0ZWRFUktOU18xNkZpbHRlck9wZXJhdGlvbnNFCiBfX1pON1dl
YkNvcmUxOFBsYXRmb3JtQ0FMYXllck1hYzI1bGF5ZXJUeXBlRm9yUGxhdGZvcm1MYXllckVQN0NB
TGF5ZXIKQEAgLTgzNyw2ICs4NDAsMTQgQEAgX19aTjdXZWJDb3JlMTlBbmltYXRpb25Db250cm9s
bGVyMjBwYXVzZUFuaW1hdGlvbkF0VGltZUVQTlNfMTNSZW5kZXJFbGVtZW50RVJLTjMKIF9fWk43
V2ViQ29yZTE5QW5pbWF0aW9uQ29udHJvbGxlcjIxcGF1c2VUcmFuc2l0aW9uQXRUaW1lRVBOU18x
M1JlbmRlckVsZW1lbnRFUktOM1dURjZTdHJpbmdFZAogX19aTjdXZWJDb3JlMTlBbmltYXRpb25D
b250cm9sbGVyMzZzZXRBbGxvd3NOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWRFYgogX19aTjdX
ZWJDb3JlMTlIVE1MVGV4dEFyZWFFbGVtZW50OHNldFZhbHVlRVJLTjNXVEY2U3RyaW5nRQorX19a
TjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTVjb25uZWN0RnJvbnRlbmRFUE45SW5zcGVj
dG9yMjRJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxFYgorX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JD
b250cm9sbGVyMThkaXNjb25uZWN0RnJvbnRlbmRFTjlJbnNwZWN0b3IyNUluc3BlY3RvckRpc2Nv
bm5lY3RSZWFzb25FCitfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxOHNldFByb2Zp
bGVyRW5hYmxlZEViCitfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNWV2YWx1YXRl
Rm9yVGVzdEluRnJvbnRlbmRFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxOUluc3BlY3Rv
ckNvbnRyb2xsZXIyNnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50RVBOU18yM0luc3BlY3RvckZy
b250ZW5kQ2xpZW50RQorX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMjdkaXNwYXRj
aE1lc3NhZ2VGcm9tRnJvbnRlbmRFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxOUluc3Bl
Y3RvckNvbnRyb2xsZXI0c2hvd0V2CitfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI1
Y2xvc2VFdgogX19aTjdXZWJDb3JlMTlMYXllckZsdXNoU2NoZWR1bGVyMTBpbnZhbGlkYXRlRXYK
IF9fWk43V2ViQ29yZTE5TGF5ZXJGbHVzaFNjaGVkdWxlcjE4bGF5ZXJGbHVzaENhbGxiYWNrRXYK
IF9fWk43V2ViQ29yZTE5TGF5ZXJGbHVzaFNjaGVkdWxlcjZyZXN1bWVFdgpAQCAtOTM1LDYgKzk0
Niw5IEBAIF9fWk43V2ViQ29yZTIxQ3Jvc3NUaHJlYWRDb3BpZXJCYXNlSUxiMEVMYjBFTlNfMTlJ
REJEYXRhYmFzZU1ldGFkYXRhRUU0Y29weUVSS1MxCiBfX1pON1dlYkNvcmUyMURpc3BsYXlSZWZy
ZXNoTW9uaXRvcjQ2aGFuZGxlRGlzcGxheVJlZnJlc2hlZE5vdGlmaWNhdGlvbk9uTWFpblRocmVh
ZEVQdgogX19aTjdXZWJDb3JlMjFEaXNwbGF5UmVmcmVzaE1vbml0b3JDMkVqCiBfX1pON1dlYkNv
cmUyMURpc3BsYXlSZWZyZXNoTW9uaXRvckQyRXYKK19fWk43V2ViQ29yZTIxSW5zcGVjdG9yRnJv
bnRlbmRIb3N0MTZkaXNjb25uZWN0Q2xpZW50RXYKK19fWk43V2ViQ29yZTIxSW5zcGVjdG9yRnJv
bnRlbmRIb3N0QzFFUE5TXzIzSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRFUE5TXzRQYWdlRQorX19a
TjdXZWJDb3JlMjFJbnNwZWN0b3JGcm9udGVuZEhvc3REMUV2CiBfX1pON1dlYkNvcmUyMU1lbW9y
eVByZXNzdXJlSGFuZGxlcjEyUmVsaWVmTG9nZ2VyMTZzX2xvZ2dpbmdFbmFibGVkRQogX19aTjdX
ZWJDb3JlMjFNZW1vcnlQcmVzc3VyZUhhbmRsZXIxM3JlbGVhc2VNZW1vcnlFYgogX19aTjdXZWJD
b3JlMjFNZW1vcnlQcmVzc3VyZUhhbmRsZXI3aW5zdGFsbEV2CkBAIC0xMDYxLDYgKzEwNzUsOCBA
QCBfX1pON1dlYkNvcmUyNEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcjE0d2lsbERldGFjaFBhZ2VF
dgogX19aTjdXZWJDb3JlMjRGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXJDMkVQTlNfNUZyYW1lRQog
X19aTjdXZWJDb3JlMjRGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXJEMkV2CiBfX1pON1dlYkNvcmUy
NEltbXV0YWJsZVN0eWxlUHJvcGVydGllc0QxRXYKK19fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uMTdzX2Zyb250ZW5kQ291bnRlckUKK19fWk43V2ViQ29yZTI0SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uMjZpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZUVQTlNfNFBhZ2VFCiBf
X1pON1dlYkNvcmUyNFN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlckMyRXYKIF9fWk43V2ViQ29yZTI0
U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyRDJFdgogX19aTjdXZWJDb3JlMjRjcmVhdGVGcmFnbWVu
dEZyb21NYXJrdXBFUk5TXzhEb2N1bWVudEVSS04zV1RGNlN0cmluZ0VTNV9OU18xOVBhcnNlckNv
bnRlbnRQb2xpY3lFCkBAIC0xMTAwLDYgKzExMTYsMzMgQEAgX19aTjdXZWJDb3JlMjdyZXBvcnRE
ZXByZWNhdGVkU2V0dGVyRXJyb3JFUk4zSlNDOUV4ZWNTdGF0ZUVQS2NTNF8KIF9fWk43V2ViQ29y
ZTI3c3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzRVBGdnZFCiBfX1pON1dlYkNvcmUyOERvY3Vt
ZW50U3R5bGVTaGVldENvbGxlY3Rpb24xMmFkZFVzZXJTaGVldEVPTjNXVEYzUmVmSU5TXzE4U3R5
bGVTaGVldENvbnRlbnRzRUVFCiBfX1pON1dlYkNvcmUyOERvY3VtZW50U3R5bGVTaGVldENvbGxl
Y3Rpb24xNGFkZEF1dGhvclNoZWV0RU9OM1dURjNSZWZJTlNfMThTdHlsZVNoZWV0Q29udGVudHNF
RUUKK19fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDExaXNVbmRlclRl
c3RFdgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTFzaG93Q29u
c29sZUV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxMm1vdmVX
aW5kb3dCeUVmZgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTJv
cGVuSW5OZXdUYWJFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwxM3Nob3dSZXNvdXJjZXNFdgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsMTRmcm9udGVuZExvYWRlZEV2CitfX1pON1dlYkNvcmUyOEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwxNWNhbkF0dGFjaFdpbmRvd0V2CitfX1pON1dlYkNvcmUy
OEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxN3NldEF0dGFjaGVkV2luZG93RU5TXzIzSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ4RG9ja1NpZGVFCitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwxOGlzRGVidWdnaW5nRW5hYmxlZEV2CitfX1pON1dlYkNvcmUyOElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxOHJlcXVlc3RTZXREb2NrU2lkZUVOU18yM0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50OERvY2tTaWRlRQorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsMTlzZXREZWJ1Z2dpbmdFbmFibGVkRWIKK19fWk43V2ViQ29yZTI4SW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE5d2luZG93T2JqZWN0Q2xlYXJlZEV2CitfX1pON1dl
YkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwyMHNlbmRNZXNzYWdlVG9CYWNrZW5k
RVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsMjFpc1Byb2ZpbGluZ0phdmFTY3JpcHRFdgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsMjFzZXREb2NraW5nVW5hdmFpbGFibGVFYgorX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjNzdG9wUHJvZmlsaW5nSmF2YVNjcmlwdEV2Citf
X1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwyNHNob3dNYWluUmVzb3Vy
Y2VGb3JGcmFtZUVQTlNfNUZyYW1lRQorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsMjRzdGFydFByb2ZpbGluZ0phdmFTY3JpcHRFdgorX19aTjdXZWJDb3JlMjhJbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjVjaGFuZ2VBdHRhY2hlZFdpbmRvd1dpZHRoRWoKK19f
Wk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDI2Y2hhbmdlQXR0YWNoZWRX
aW5kb3dIZWlnaHRFagorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
MjZpc1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZEV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwyN3Jlc3RvcmVBdHRhY2hlZFdpbmRvd0hlaWdodEV2CitfX1pON1dl
YkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwyN3NldFRpbWVsaW5lUHJvZmlsaW5n
RW5hYmxlZEViCitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwzMGNv
bnN0cmFpbmVkQXR0YWNoZWRXaW5kb3dXaWR0aEVqagorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsMzFjb25zdHJhaW5lZEF0dGFjaGVkV2luZG93SGVpZ2h0RWpqCitf
X1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWxDMkVQTlNfMTlJbnNwZWN0
b3JDb250cm9sbGVyRVBOU180UGFnZUVOU3QzX18xMTB1bmlxdWVfcHRySU5TMF84U2V0dGluZ3NF
TlM1XzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVFRQorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsRDJFdgogX19aTjdXZWJDb3JlMjhVc2VyTWVzc2FnZUhhbmRsZXJEZXNj
cmlwdG9yQzFFUktOM1dURjEyQXRvbWljU3RyaW5nRVJOU18xNURPTVdyYXBwZXJXb3JsZEVSTlMw
XzZDbGllbnRFCiBfX1pON1dlYkNvcmUyOFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3JEMUV2
CiBfX1pON1dlYkNvcmUyOGVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXNFUktOM1dURjZTdHJp
bmdFCkBAIC0xMjEwLDYgKzEyNTMsNyBAQCBfX1pON1dlYkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0
YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOU18xM0RPTVN0cmluZ0xpc3RFCiBfX1pON1dl
YkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOU18x
NENsaWVudFJlY3RMaXN0RQogX19aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNf
MTdKU0RPTUdsb2JhbE9iamVjdEVQTlNfMTlDU1NTdHlsZURlY2xhcmF0aW9uRQogX19aTjdXZWJD
b3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTlNfNVJh
bmdlRQorX19aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2Jh
bE9iamVjdEVQTlNfOURPTVdpbmRvd0UKIF9fWk43V2ViQ29yZTUwcmVzdHJpY3RTY2FsZUZhY3Rv
clRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGVFUk5TXzE4Vmlld3BvcnRBdHRyaWJ1dGVz
RQogX19aTjdXZWJDb3JlNUNvbG9yMTF0cmFuc3BhcmVudEUKIF9fWk43V2ViQ29yZTVDb2xvcjV3
aGl0ZUUKQEAgLTE0MzcsNiArMTQ4MSw4IEBAIF9fWk43V2ViQ29yZTlBbmltYXRpb25DMUV2CiBf
X1pON1dlYkNvcmU5QW5pbWF0aW9uRDFFdgogX19aTjdXZWJDb3JlOURPTVdpbmRvdzMwZGlzcGF0
Y2hBbGxQZW5kaW5nVW5sb2FkRXZlbnRzRXYKIF9fWk43V2ViQ29yZTlET01XaW5kb3czNmRpc3Bh
dGNoQWxsUGVuZGluZ0JlZm9yZVVubG9hZEV2ZW50c0V2CitfX1pON1dlYkNvcmU5RE9NV2luZG93
NG9wZW5FUktOM1dURjZTdHJpbmdFUktOUzFfMTJBdG9taWNTdHJpbmdFUzRfUlMwX1M4XworX19a
TjdXZWJDb3JlOURPTVdpbmRvdzVjbG9zZUVQTlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0RQog
X19aTjdXZWJDb3JlOUZsb2F0UmVjdDVzY2FsZUVmZgogX19aTjdXZWJDb3JlOUZsb2F0UmVjdDV1
bml0ZUVSS1MwXwogX19aTjdXZWJDb3JlOUZsb2F0UmVjdDlpbnRlcnNlY3RFUktTMF8KQEAgLTE4
NjAsNiArMTkwNiw4IEBAIF9fWk5LN1dlYkNvcmUxOUhUTUxPcHRHcm91cEVsZW1lbnQxNGdyb3Vw
TGFiZWxUZXh0RXYKIF9fWk5LN1dlYkNvcmUxOUhUTUxUZXh0QXJlYUVsZW1lbnQ1dmFsdWVFdgog
X19aTks3V2ViQ29yZTE5SURCRGF0YWJhc2VNZXRhZGF0YTEyaXNvbGF0ZWRDb3B5RXYKIF9fWk5L
N1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxMmdldEhpZ2hsaWdodEVSTlNfOUhpZ2hsaWdo
dEVOU18xNkluc3BlY3Rvck92ZXJsYXkxNkNvb3JkaW5hdGVTeXN0ZW1FCitfX1pOSzdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyMTNkcmF3SGlnaGxpZ2h0RVJOU18xNUdyYXBoaWNzQ29udGV4
dEUKK19fWk5LN1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNXByb2ZpbGVyRW5hYmxlZEV2
CiBfX1pOSzdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMjlidWlsZE9iamVjdEZvckhpZ2hs
aWdodGVkTm9kZUV2CiBfX1pOSzdXZWJDb3JlMTlNZWRpYVNlc3Npb25NYW5hZ2VyMzBhcHBsaWNh
dGlvbldpbGxFbnRlckJhY2tncm91bmRFdgogX19aTks3V2ViQ29yZTE5TWVkaWFTZXNzaW9uTWFu
YWdlcjMwYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kRXYKQEAgLTIwNzUsNiArMjEyMyw3
IEBAIF9fWk5LN1dlYkNvcmU4U2V0dGluZ3MxOHN0YW5kYXJkRm9udEZhbWlseUUxMVVTY3JpcHRD
b2RlCiBfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTlzYW5zU2VyaWZGb250RmFtaWx5RTExVVNjcmlw
dENvZGUKIF9fWk5LN1dlYkNvcmU4U2V0dGluZ3MyMHBpY3RvZ3JhcGhGb250RmFtaWx5RTExVVNj
cmlwdENvZGUKIF9fWk5LN1dlYkNvcmU5RE9NV2luZG93MjdwZW5kaW5nVW5sb2FkRXZlbnRMaXN0
ZW5lcnNFdgorX19aTks3V2ViQ29yZTlET01XaW5kb3c4ZG9jdW1lbnRFdgogX19aTks3V2ViQ29y
ZTlGbG9hdFF1YWQxMWJvdW5kaW5nQm94RXYKIF9fWk5LN1dlYkNvcmU5RmxvYXRSZWN0MTBpbnRl
cnNlY3RzRVJLUzBfCiBfX1pOSzdXZWJDb3JlOUZsb2F0UmVjdDhjb250YWluc0VSS05TXzEwRmxv
YXRQb2ludEVOUzBfMTJDb250YWluc01vZGVFCkBAIC0yNjY3LDYgKzI3MTYsNyBAQCBfX1pON1dl
YkNvcmUxNlRocmVhZEdsb2JhbERhdGEyNnNoYXJlZE1haW5UaHJlYWRTdGF0aWNEYXRhRQogX19a
TjdXZWJDb3JlMTZWaXNpYmxlU2VsZWN0aW9uMjdzZWxlY3Rpb25Gcm9tQ29udGVudHNPZk5vZGVF
UE5TXzROb2RlRQogX19aTjdXZWJDb3JlMTZWaXNpYmxlU2VsZWN0aW9uQzFFdgogX19aTjdXZWJD
b3JlMTZkZWxldGVBbGxDb29raWVzRVJLTlNfMjFOZXR3b3JrU3RvcmFnZVNlc3Npb25FCitfX1pO
N1dlYkNvcmUxNmZpbmRJbnRlcnNlY3Rpb25FUktOU18xMEZsb2F0UG9pbnRFUzJfUzJfUzJfUlMw
XwogX19aTjdXZWJDb3JlMTZuZXh0V29yZFBvc2l0aW9uRVJLTlNfMTVWaXNpYmxlUG9zaXRpb25F
CiBfX1pON1dlYkNvcmUxN0NyZWRlbnRpYWxTdG9yYWdlMTZjbGVhckNyZWRlbnRpYWxzRXYKIF9f
Wk43V2ViQ29yZTE3SGlzdG9yeUNvbnRyb2xsZXIxOHJlcGxhY2VDdXJyZW50SXRlbUVQTlNfMTFI
aXN0b3J5SXRlbUUKQEAgLTI3NDIsNiArMjc5Miw3IEBAIF9fWk43V2ViQ29yZTQxaW5pdGlhbGl6
ZUhUVFBDb25uZWN0aW9uU2V0dGluZ3NPblN0YXJ0dXBFdgogX19aTjdXZWJDb3JlNEljb24xOGNy
ZWF0ZUljb25Gb3JJbWFnZUVQN0NHSW1hZ2UKIF9fWk43V2ViQ29yZTROb2RlMTdpc0NvbnRlbnRF
ZGl0YWJsZUVOUzBfMjJVc2VyU2VsZWN0QWxsVHJlYXRtZW50RQogX19aTjdXZWJDb3JlNE5vZGUy
M2NvbXBhcmVEb2N1bWVudFBvc2l0aW9uRVBTMF8KK19fWk43V2ViQ29yZTROb2RlN2luc3BlY3RF
dgogX19aTjdXZWJDb3JlNFBhZ2U1MnVwZGF0ZVN0eWxlRm9yQWxsUGFnZXNBZnRlckdsb2JhbENo
YW5nZUluRW52aXJvbm1lbnRFdgogX19aTjdXZWJDb3JlNUNvbG9yQzFFUDdDR0NvbG9yCiBfX1pO
N1dlYkNvcmU1RXZlbnRDMUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmIKQEAgLTI4NDcsNiArMjg5
OCw4IEBAIF9fWk5LN1dlYkNvcmU3SW50U2l6ZWN2NkNHU2l6ZUV2CiBfX1pOSzdXZWJDb3JlOERv
Y3VtZW50MzFpc1RlbGVwaG9uZU51bWJlclBhcnNpbmdBbGxvd2VkRXYKIF9fWk5LN1dlYkNvcmU4
RG9jdW1lbnQzMWlzVGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJsZWRFdgogX19aTks3V2ViQ29y
ZThQb3NpdGlvbjhwcmV2aW91c0VOU18xNlBvc2l0aW9uTW92ZVR5cGVFCitfX1pOSzdXZWJDb3Jl
OUZsb2F0UXVhZDEyY29udGFpbnNRdWFkRVJLUzBfCitfX1pOSzdXZWJDb3JlOUZsb2F0UXVhZDEz
Y29udGFpbnNQb2ludEVSS05TXzEwRmxvYXRQb2ludEUKIF9fWk5LN1dlYkNvcmU5RmxvYXRRdWFk
MTNpc1JlY3RpbGluZWFyRXYKIF9fWk5LN1dlYkNvcmU5RmxvYXRSZWN0Y3Y2Q0dSZWN0RXYKIF9f
Wk5LN1dlYkNvcmU5RmxvYXRTaXplY3Y2Q0dTaXplRXYKQEAgLTMxODMsNjUgKzMyMzYsNiBAQCBf
X1pON1dlYkNvcmU1Q29sb3JDMUVQN0NHQ29sb3IKIF9fWk43V2ViQ29yZTVDb2xvckMxRVJLTjNX
VEY2U3RyaW5nRQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotX19aTjdXZWJDb3Jl
MTRTY2hlbWVSZWdpc3RyeTI3c2hvdWxkVHJlYXRVUkxTY2hlbWVBc0xvY2FsRVJLTjNXVEY2U3Ry
aW5nRQotX19aTjdXZWJDb3JlMTVJbnNwZWN0b3JDbGllbnQzMWRvRGlzcGF0Y2hNZXNzYWdlT25G
cm9udGVuZFBhZ2VFUE5TXzRQYWdlRVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMThJbnNw
ZWN0b3JQYWdlQWdlbnQ3ZnJhbWVJZEVQTlNfNUZyYW1lRQotX19aTjdXZWJDb3JlMTlJbnNwZWN0
b3JDb250cm9sbGVyMTVjb25uZWN0RnJvbnRlbmRFUE45SW5zcGVjdG9yMjRJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWxFYgotX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMThkaXNjb25u
ZWN0RnJvbnRlbmRFTjlJbnNwZWN0b3IyNUluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb25FCi1fX1pO
N1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxOHNldFByb2ZpbGVyRW5hYmxlZEViCi1fX1pO
N1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNWV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmRF
UktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNnNldElu
c3BlY3RvckZyb250ZW5kQ2xpZW50RVBOU18yM0luc3BlY3RvckZyb250ZW5kQ2xpZW50RQotX19a
TjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMjdkaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRl
bmRFUktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI0c2hv
d0V2Ci1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI1Y2xvc2VFdgotX19aTjdXZWJD
b3JlMjFJbnNwZWN0b3JGcm9udGVuZEhvc3QxNmRpc2Nvbm5lY3RDbGllbnRFdgotX19aTjdXZWJD
b3JlMjFJbnNwZWN0b3JGcm9udGVuZEhvc3RDMUVQTlNfMjNJbnNwZWN0b3JGcm9udGVuZENsaWVu
dEVQTlNfNFBhZ2VFCi1fX1pON1dlYkNvcmUyMUluc3BlY3RvckZyb250ZW5kSG9zdEQxRXYKLV9f
Wk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMTdzX2Zyb250ZW5kQ291bnRlckUK
LV9fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMjZpbnN0cnVtZW50aW5nQWdl
bnRzRm9yUGFnZUVQTlNfNFBhZ2VFCi1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwxMWlzVW5kZXJUZXN0RXYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbDExc2hvd0NvbnNvbGVFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsMTJtb3ZlV2luZG93QnlFZmYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbDEyb3BlbkluTmV3VGFiRVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJD
b3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTNzaG93UmVzb3VyY2VzRXYKLV9fWk43
V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE0ZnJvbnRlbmRMb2FkZWRFdgot
X19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTVjYW5BdHRhY2hXaW5k
b3dFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTdzZXRBdHRh
Y2hlZFdpbmRvd0VOU18yM0luc3BlY3RvckZyb250ZW5kQ2xpZW50OERvY2tTaWRlRQotX19aTjdX
ZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMThpc0RlYnVnZ2luZ0VuYWJsZWRF
dgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMThyZXF1ZXN0U2V0
RG9ja1NpZGVFTlNfMjNJbnNwZWN0b3JGcm9udGVuZENsaWVudDhEb2NrU2lkZUUKLV9fWk43V2Vi
Q29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE5c2V0RGVidWdnaW5nRW5hYmxlZEVi
Ci1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxOXdpbmRvd09iamVj
dENsZWFyZWRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjBz
ZW5kTWVzc2FnZVRvQmFja2VuZEVSS04zV1RGNlN0cmluZ0UKLV9fWk43V2ViQ29yZTI4SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbDIxaXNQcm9maWxpbmdKYXZhU2NyaXB0RXYKLV9fWk43V2Vi
Q29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDIxc2V0RG9ja2luZ1VuYXZhaWxhYmxl
RWIKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDIzc3RvcFByb2Zp
bGluZ0phdmFTY3JpcHRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsMjRzaG93TWFpblJlc291cmNlRm9yRnJhbWVFUE5TXzVGcmFtZUUKLV9fWk43V2ViQ29yZTI4
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDI0c3RhcnRQcm9maWxpbmdKYXZhU2NyaXB0RXYK
LV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDI1Y2hhbmdlQXR0YWNo
ZWRXaW5kb3dXaWR0aEVqCi1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwyNmNoYW5nZUF0dGFjaGVkV2luZG93SGVpZ2h0RWoKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbDI2aXNUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWRFdgotX19aTjdX
ZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjdyZXN0b3JlQXR0YWNoZWRXaW5k
b3dIZWlnaHRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjdz
ZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWRFYgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsMzBjb25zdHJhaW5lZEF0dGFjaGVkV2luZG93V2lkdGhFamoKLV9fWk43
V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDMxY29uc3RyYWluZWRBdHRhY2hl
ZFdpbmRvd0hlaWdodEVqagotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsQzJFUE5TXzE5SW5zcGVjdG9yQ29udHJvbGxlckVQTlNfNFBhZ2VFTlN0M19fMTEwdW5pcXVl
X3B0cklOUzBfOFNldHRpbmdzRU5TNV8xNGRlZmF1bHRfZGVsZXRlSVM3X0VFRUUKLV9fWk43V2Vi
Q29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbEQyRXYKLV9fWk43V2ViQ29yZTR0b0pT
RVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzlET01XaW5kb3dF
Ci1fX1pON1dlYkNvcmU5RE9NV2luZG93NG9wZW5FUktOM1dURjZTdHJpbmdFUktOUzFfMTJBdG9t
aWNTdHJpbmdFUzRfUlMwX1M4XwotX19aTjdXZWJDb3JlOURPTVdpbmRvdzVjbG9zZUVQTlNfMjJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0RQotX19aTks3V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxl
cjEzZHJhd0hpZ2hsaWdodEVSTlNfMTVHcmFwaGljc0NvbnRleHRFCi1fX1pOSzdXZWJDb3JlMTlJ
bnNwZWN0b3JDb250cm9sbGVyMTVwcm9maWxlckVuYWJsZWRFdgotX19aTks3V2ViQ29yZTlET01X
aW5kb3c4ZG9jdW1lbnRFdgotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBQTEFU
Rk9STShJT1MpCi1fX1pON1dlYkNvcmUxNmZpbmRJbnRlcnNlY3Rpb25FUktOU18xMEZsb2F0UG9p
bnRFUzJfUzJfUzJfUlMwXwotX19aTjdXZWJDb3JlNE5vZGU3aW5zcGVjdEV2Ci1fX1pOSzdXZWJD
b3JlOUZsb2F0UXVhZDEyY29udGFpbnNRdWFkRVJLUzBfCi1fX1pOSzdXZWJDb3JlOUZsb2F0UXVh
ZDEzY29udGFpbnNQb2ludEVSS05TXzEwRmxvYXRQb2ludEUKLSNlbmRpZgotCiAjaWYgVVNFKElP
U1VSRkFDRSkKIF9fWk43V2ViQ29yZTEzSU9TdXJmYWNlUG9vbDEwYWRkU3VyZmFjZUVQTlNfOUlP
U3VyZmFjZUUKIF9fWk43V2ViQ29yZTEzSU9TdXJmYWNlUG9vbDEwc2hhcmVkUG9vbEV2CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NvbW1hbmRMaW5lQVBJSG9zdEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NvbW1hbmRMaW5lQVBJSG9z
dEN1c3RvbS5jcHAKaW5kZXggZmQ0OTMyOWQ5Y2I1ZmRjMDgwMjZiZDNiZmY4MDgxNjgxZWQ1MjFi
ZC4uNzQxNjIyZjQzY2NhOTNlMmM4M2QxYTAwY2FlOWYzOWFmYmQ4OGVjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDb21tYW5kTGluZUFQSUhvc3RDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ29tbWFuZExpbmVBUElIb3N0Q3Vz
dG9tLmNwcApAQCAtMzEsOSArMzEsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJKU0NvbW1hbmRMaW5lQVBJSG9zdC5o
IgogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCkBAIC0xNjYsNSArMTYzLDMgQEAg
SlNWYWx1ZSBKU0NvbW1hbmRMaW5lQVBJSG9zdDo6c3RvcmFnZUlkKEV4ZWNTdGF0ZSogZXhlYykK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCmlu
ZGV4IDA0OGQ5MWY3YjU3NmMxNmM5MDU4ZGZhOTgyZDE2NDJiNDJhYmM1NGMuLmEyMjAzZGJkOWFl
ZTRmYTI1ZmMxNjQxNzI4YTk3Njk1NGM2NTRkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAtMTAzLDEwICsxMDMsNiBAQCB2b2lkIEpT
RE9NV2luZG93QmFzZTo6cHJpbnRFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBj
b25zdAogCiBib29sIEpTRE9NV2luZG93QmFzZTo6c3VwcG9ydHNQcm9maWxpbmcoY29uc3QgSlNH
bG9iYWxPYmplY3QqIG9iamVjdCkKIHsKLSNpZiAhRU5BQkxFKElOU1BFQ1RPUikKLSAgICBVTlVT
RURfUEFSQU0ob2JqZWN0KTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZWxzZQogICAgIGNvbnN0IEpT
RE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PGNvbnN0IEpTRE9NV2luZG93
QmFzZSo+KG9iamVjdCk7CiAgICAgRnJhbWUqIGZyYW1lID0gdGhpc09iamVjdC0+aW1wbCgpLmZy
YW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKQEAgLTExNywxNSArMTEzLDEwIEBAIGJvb2wgSlNET01X
aW5kb3dCYXNlOjpzdXBwb3J0c1Byb2ZpbGluZyhjb25zdCBKU0dsb2JhbE9iamVjdCogb2JqZWN0
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gcGFnZS0+aW5zcGVjdG9yQ29u
dHJvbGxlcigpLnByb2ZpbGVyRW5hYmxlZCgpOwotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
CiB9CiAKIGJvb2wgSlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c1JpY2hTb3VyY2VJbmZvKGNvbnN0
IEpTR2xvYmFsT2JqZWN0KiBvYmplY3QpCiB7Ci0jaWYgIUVOQUJMRShJTlNQRUNUT1IpCi0gICAg
VU5VU0VEX1BBUkFNKG9iamVjdCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotI2Vsc2UKICAgICBjb25z
dCBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBzdGF0aWNfY2FzdDxjb25zdCBKU0RPTVdp
bmRvd0Jhc2UqPihvYmplY3QpOwogICAgIEZyYW1lKiBmcmFtZSA9IHRoaXNPYmplY3QtPmltcGwo
KS5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCkBAIC0xMzksNyArMTMwLDYgQEAgYm9vbCBKU0RP
TVdpbmRvd0Jhc2U6OnN1cHBvcnRzUmljaFNvdXJjZUluZm8oY29uc3QgSlNHbG9iYWxPYmplY3Qq
IG9iamVjdCkKICAgICBBU1NFUlQoZW5hYmxlZCB8fCAhdGhpc09iamVjdC0+ZGVidWdnZXIoKSk7
CiAgICAgQVNTRVJUKGVuYWJsZWQgfHwgIXN1cHBvcnRzUHJvZmlsaW5nKHRoaXNPYmplY3QpKTsK
ICAgICByZXR1cm4gZW5hYmxlZDsKLSNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wgc2hv
dWxkSW50ZXJydXB0U2NyaXB0VG9QcmV2ZW50SW5maW5pdGVSZWN1cnNpb25XaGVuQ2xvc2luZ1Bh
Z2UoUGFnZSogcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcAppbmRleCBjMjUwYjVmMTMxYmJj
Y2E3ODA0MTg2ZmFiMTc5NTdkZTBhMzg1MjNlLi5kODZhNDgwYjBjMzgwNmJkZTY3ZTlkYjRhNjY3
NDI4MjY2OWFmZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lu
c3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwCkBAIC0zMSw5ICszMSw2IEBA
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgiCiAKICNpbmNsdWRlICJDb250ZXh0
TWVudUl0ZW0uaCIKQEAgLTE1MCw1ICsxNDcsMyBAQCBKU1ZhbHVlIEpTSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjpzaG93Q29udGV4dE1lbnUoRXhlY1N0YXRlKiBleGVjKQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA4NTg2N2Y5Yjll
OWU2MDFiYzVlZTYyNGU1OTBiODllODYwZTI5YWU5Li42NWQzOTA4NWMwYmE0Yzc4MjJmZjBlZWE4
MTA2OTI3M2U4MWNjZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcApAQCAtMzU4LDcgKzM1OCw2IEBAIFBhc3NSZWZQdHI8QmluZGluZ3M6
OlJvb3RPYmplY3Q+IFNjcmlwdENvbnRyb2xsZXI6OmNyZWF0ZVJvb3RPYmplY3Qodm9pZCogbmF0
aXZlCiAgICAgcmV0dXJuIHJvb3RPYmplY3QucmVsZWFzZSgpOwogfQogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Y29sbGVjdElzb2xhdGVkQ29udGV4dHMo
VmVjdG9yPHN0ZDo6cGFpcjxKU0M6OkV4ZWNTdGF0ZSosIFNlY3VyaXR5T3JpZ2luKj4+JiByZXN1
bHQpCiB7CiAgICAgZm9yIChTaGVsbE1hcDo6aXRlcmF0b3IgaXRlciA9IG1fd2luZG93U2hlbGxz
LmJlZ2luKCk7IGl0ZXIgIT0gbV93aW5kb3dTaGVsbHMuZW5kKCk7ICsraXRlcikgewpAQCAtMzY3
LDcgKzM2Niw2IEBAIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Y29sbGVjdElzb2xhdGVkQ29udGV4
dHMoVmVjdG9yPHN0ZDo6cGFpcjxKU0M6OkV4ZWNTdGF0ZSosCiAgICAgICAgIHJlc3VsdC5hcHBl
bmQoc3RkOjpwYWlyPEpTQzo6RXhlY1N0YXRlKiwgU2VjdXJpdHlPcmlnaW4qPihleGVjLCBvcmln
aW4pKTsKICAgICB9CiB9Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKaW5k
ZXggNjQ2ZTVjYTI4MWJiOGM3MTQxYzY4M2QwODI4ZWRjNDU4NGZmNjM5YS4uYzg4YThlYWY5YzUx
ZGE0YTAwOTE2MmM0M2ZiMDg0MTQ1YmFhOWQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaApAQCAtMTUxLDkgKzE1MSw3IEBAIHB1YmxpYzoKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIFBhc3NSZWZQdHI8SlNDOjpCaW5kaW5nczo6Um9vdE9iamVjdD4g
Y3JlYXRlUm9vdE9iamVjdCh2b2lkKiBuYXRpdmVIYW5kbGUpOwogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICB2b2lkIGNvbGxlY3RJc29sYXRlZENvbnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8
SlNDOjpFeGVjU3RhdGUqLCBTZWN1cml0eU9yaWdpbio+PiYpOwotI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBXRUJDT1JFX0VYUE9SVCBXZWJTY3JpcHRPYmplY3QqIHdpbmRvd1Nj
cmlwdE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEds
b2JhbE9iamVjdC5jcHAKaW5kZXggOTE5NzU5Mzg5NjdmOGNjYjViYWFmNjFmMGQ0MGQ5MDljOWY2
ZGNmMS4uY2I0OTMxZGQ1NmE3NmViMzI0YmE2ZjNkZTk1MTY0NzM0ZTgwZTQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuY3BwCkBAIC0z
MiwxNCArMzIsMTEgQEAKICNpbmNsdWRlICJTY3JpcHRHbG9iYWxPYmplY3QuaCIKIAogI2luY2x1
ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmgi
CiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0T2JqZWN0Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9J
ZGVudGlmaWVySW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgiCi0j
ZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NjAsNyArNTcsNiBAQCBib29sIFNjcmlwdEdsb2JhbE9iamVjdDo6c2V0KEpTQzo6RXhlY1N0YXRl
KiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSwgY29ucwogICAgIHJldHVybiBoYW5kbGVF
eGNlcHRpb24oc2NyaXB0U3RhdGUpOwogfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKIGJvb2wg
U2NyaXB0R2xvYmFsT2JqZWN0OjpzZXQoSlNDOjpFeGVjU3RhdGUqIHNjcmlwdFN0YXRlLCBjb25z
dCBjaGFyKiBuYW1lLCBJbnNwZWN0b3JGcm9udGVuZEhvc3QqIHZhbHVlKQogewogICAgIEpTTG9j
a0hvbGRlciBsb2NrKHNjcmlwdFN0YXRlKTsKQEAgLTY4LDcgKzY0LDYgQEAgYm9vbCBTY3JpcHRH
bG9iYWxPYmplY3Q6OnNldChKU0M6OkV4ZWNTdGF0ZSogc2NyaXB0U3RhdGUsIGNvbnN0IGNoYXIq
IG5hbWUsIEluc3AKICAgICBnbG9iYWxPYmplY3QtPnB1dERpcmVjdChzY3JpcHRTdGF0ZS0+dm0o
KSwgSWRlbnRpZmllcihzY3JpcHRTdGF0ZSwgbmFtZSksIHRvSlMoc2NyaXB0U3RhdGUsIGdsb2Jh
bE9iamVjdCwgdmFsdWUpKTsKICAgICByZXR1cm4gaGFuZGxlRXhjZXB0aW9uKHNjcmlwdFN0YXRl
KTsKIH0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogCiBib29sIFNjcmlwdEdsb2JhbE9i
amVjdDo6Z2V0KEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSwg
RGVwcmVjYXRlZDo6U2NyaXB0T2JqZWN0JiB2YWx1ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmgKaW5kZXggOTJiZjIwNmRmNTA5OWE2NGFm
ZTMxZDc1NjBmNjhmZTY5OTdkMWRmMy4uN2FhNTBiYTJmMWZiYmJjNGI2ODVmODgwNDA4MjZjZTVk
NmUxZTM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R2xv
YmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R2xvYmFs
T2JqZWN0LmgKQEAgLTQ2LDkgKzQ2LDcgQEAgY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Owog
Y2xhc3MgU2NyaXB0R2xvYmFsT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBzZXQo
SlNDOjpFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBEZXByZWNhdGVkOjpTY3Jp
cHRPYmplY3QmKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBib29sIHNldChKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IGNoYXIqIG5hbWUsIEluc3BlY3Rv
ckZyb250ZW5kSG9zdCopOwotI2VuZGlmCiAKICAgICBzdGF0aWMgYm9vbCBnZXQoSlNDOjpFeGVj
U3RhdGUqLCBjb25zdCBjaGFyKiBuYW1lLCBEZXByZWNhdGVkOjpTY3JpcHRPYmplY3QmKTsKICAg
ICBzdGF0aWMgYm9vbCByZW1vdmUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBuYW1lKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVn
U2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVn
U2VydmVyLmNwcAppbmRleCAyMmNkYzE5OTRlZmVlNGNjOWVkZTdmZjk4YmI4ZTFjZDRkZDMzMzY4
Li42YzAwYzY5YTRhZGQ4ZmM0NTA1N2VhMGM4YWM0N2ZmNGVlN2ZjYmNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3Bw
CkBAIC0zMiw4ICszMiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29ya2Vy
U2NyaXB0RGVidWdTZXJ2ZXIuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldvcmtlckRl
YnVnZ2VyQWdlbnQuaCIKQEAgLTExMSw1ICsxMDksMyBAQCB2b2lkIFdvcmtlclNjcmlwdERlYnVn
U2VydmVyOjppbnRlcnJ1cHRBbmRSdW5UYXNrKHN0ZDo6dW5pcXVlX3B0cjxTY3JpcHREZWJ1Z1Nl
cgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggMDRjOWIwMzkyNTU4NTRlMTE5NDI5YTU2MjA3NDU0YmVlOGUxOTc2
OS4uZWQ4OTU4Y2QwN2ZlNzk1NjljNjJmMjA4OTYyNWYxZTU1YmQzNWE2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5oCkBA
IC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIFdvcmtlclNjcmlwdERlYnVnU2VydmVyX2gKICNkZWZp
bmUgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXJfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC02Nyw2ICs2NSw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBXb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggMjk5ZTY5M2JmZWUxODZmM2U2ZGU0
Y2YyZWViNjZmZjhlMjNiY2Q3My4uYjBhMzdlMDBiZGIwNDA4NjBjY2QxYTM2MTI3YzRjOWJmNTVi
YTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIkhUTUxJ
bWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3R5bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SW5zZXJ0aW9uUG9pbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJN
dXRhdGlvbkV2ZW50LmgiCkBAIC04NywxMCArODgsNiBAQAogI2luY2x1ZGUgIlVJUmVxdWVzdEV2
ZW50LmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0jaW5jbHVkZSAiSW5zcGVj
dG9yQ29udHJvbGxlci5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTU1NCwxMCArNTUxLDggQEAgYm9vbCBOb2RlOjppc0Nv
bnRlbnRSaWNobHlFZGl0YWJsZSgpCiAKIHZvaWQgTm9kZTo6aW5zcGVjdCgpCiB7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBpZiAoZG9jdW1lbnQoKS5wYWdlKCkpCiAgICAgICAgIGRvY3Vt
ZW50KCkucGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCkuaW5zcGVjdCh0aGlzKTsKLSNlbmRp
ZgogfQogCiBib29sIE5vZGU6Omhhc0VkaXRhYmxlU3R5bGUoRWRpdGFibGVMZXZlbCBlZGl0YWJs
ZUxldmVsLCBVc2VyU2VsZWN0QWxsVHJlYXRtZW50IHRyZWF0bWVudCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKaW5kZXggZjIzNGE4
NzY1OTU4OTZhODhkYzA0YzdjNDMwMjg5ODc0NzcwNzVlNS4uODg3MDg4NWIzODc4NDIxZGQ3OWY0
ZWNiOWZiNDVhMDhhZGExMzNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
bW1hbmRMaW5lQVBJSG9zdC5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNs
dWRlICJGcmFtZS5oIgpAQCAtMTU3LDUgKzE1NSwzIEBAIFN0cmluZyBDb21tYW5kTGluZUFQSUhv
c3Q6OnN0b3JhZ2VJZEltcGwoU3RvcmFnZSogc3RvcmFnZSkKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5pZGwKaW5kZXggMjI4NDI2YzE2YWJjMmJi
YTkzNDk1YWUyOWZiYWViNDRiYzY3OTExYi4uMjYyYmI0MzZkYzU4MDNkYzNjNTk1MjkyZWY3M2Ez
Yjc2YzM2YmNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRM
aW5lQVBJSG9zdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5l
QVBJSG9zdC5pZGwKQEAgLTMyLDcgKzMyLDYgQEAKIAogWwogICAgIE5vSW50ZXJmYWNlT2JqZWN0
LAotICAgIENvbmRpdGlvbmFsPUlOU1BFQ1RPUiwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRh
YmxlCiBdIGludGVyZmFjZSBDb21tYW5kTGluZUFQSUhvc3QgewogICAgIHZvaWQgY2xlYXJDb25z
b2xlTWVzc2FnZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21t
YW5kTGluZUFQSU1vZHVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExp
bmVBUElNb2R1bGUuY3BwCmluZGV4IDVmMmZiZTk5NmY5OGM3ZDY4M2YwMDk5YWQ0YjcyZmNiNmNi
OGEwNzIuLjcwY2EzZTk4OWVmZmI4NWNhZThhODlkNTFkYjhlYWQwMDVhNTk5OGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSU1vZHVsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmNwcApAQCAt
MjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNvbW1hbmRMaW5l
QVBJTW9kdWxlLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29tbWFu
ZExpbmVBUElNb2R1bGVTb3VyY2UuaCIKICNpbmNsdWRlICJKU0NvbW1hbmRMaW5lQVBJSG9zdC5o
IgogI2luY2x1ZGUgIldlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgpAQCAtNjQsNSArNjIsMyBA
QCBKU0M6OkpTVmFsdWUgQ29tbWFuZExpbmVBUElNb2R1bGU6Omhvc3QoSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuaAppbmRleCAxZjY0MGUwMmU4NWNlMGU0MGRjZjA1NGVm
Zjg5N2ZjNzU4ODQxZDIzLi42NWM5MjA5YzIxMDQ3NTE1OWJmOTVlOThhMmRkNDNhYWY4NDQzNjlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUu
aApAQCAtMjgsOCArMjgsNiBAQAogCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
TW9kdWxlLmg+CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIENvbW1hbmRMaW5lQVBJTW9kdWxlIGZpbmFsIDogcHVibGljIEluc3BlY3Rvcjo6
SW5qZWN0ZWRTY3JpcHRNb2R1bGUgewpAQCAtNDUsNiArNDMsNCBAQCBwdWJsaWM6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyAhZGVmaW5lZChDb21tYW5kTGluZUFQSU1vZHVsZV9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvRE9NRWRpdG9yLmNwcAppbmRleCAwYmE2Njg5ZDE2ZjUzOTBmZGIwOTFhOWRlYmU0YWNlM2Nj
NjYzOWEyLi4wOGI4NTQ1MmZhMmUyNzlhZTlkNDUwNjNkMzQ0YjNiZWExOGI5NjJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcApAQCAtMjksOSArMjksNiBAQAogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJET01FZGl0b3IuaCIKIAogI2luY2x1ZGUgIkRPTVBhdGNoU3VwcG9ydC5oIgpAQCAtNDUzLDUg
KzQ1MCwzIEBAIGJvb2wgRE9NRWRpdG9yOjpyZXBsYWNlV2hvbGVUZXh0KFRleHQqIHRleHROb2Rl
LCBjb25zdCBTdHJpbmcmIHRleHQsIEVycm9yU3RyaW5nCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
RE9NRWRpdG9yLmgKaW5kZXggMjk0ZDE5MDA4MGFhNWJhMDEyMjQxNmRlZDFlZjdmNzUxOTJlNmQy
Ny4uNTZlMTE0Yjg1ZjA4OGM3OWIyNzRiMjJiM2ZiMDg2NzM5NTZkYTYwYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9ET01FZGl0b3IuaApAQCAtNDIsOCArNDIsNiBAQCBjbGFzcyBJbnNwZWN0b3JI
aXN0b3J5OwogY2xhc3MgTm9kZTsKIGNsYXNzIFRleHQ7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAogY2xhc3MgRE9NRWRpdG9yIHsKQEAg
LTgyLDggKzgwLDYgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JIaXN0b3J5KiBtX2hpc3Rvcnk7
CiB9OwogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gIWRlZmluZWQoRE9NRWRpdG9yX2gpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwCmluZGV4IDAzZDNjMDZiYjViMGExNGJiMmZk
NzZlMDNhODc5ZmVjYTUxNGNlMjIuLmExOWVlODZhMjZmM2ZlN2E5ODZmMWQ0YmY4N2FjMGFmZDU3
MjdlMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBv
cnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3Bw
CkBAIC0yOSw5ICsyOSw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkRPTVBhdGNoU3VwcG9ydC5oIgogCiAjaW5jbHVk
ZSAiQXR0cmlidXRlLmgiCkBAIC01MTUsNSArNTEyLDMgQEAgdm9pZCBET01QYXRjaFN1cHBvcnQ6
OmR1bXBNYXAoY29uc3QgUmVzdWx0TWFwJiBtYXAsIGNvbnN0IFN0cmluZyYgbmFtZSkKICNlbmRp
ZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5oCmluZGV4IDc2Nzcz
YThiZWI1NDZlZjJlMWY1ZTNhZjllM2U2OWIyNzU5OTA1NDcuLmE4NzdiZjY5NmIzNDgyNmMyNGJk
OTFiYjYyOTQ1MDEwNTIzMTMyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9ET01QYXRjaFN1cHBvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NUGF0
Y2hTdXBwb3J0LmgKQEAgLTQ0LDggKzQ0LDYgQEAgY2xhc3MgRE9NRWRpdG9yOwogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBOb2RlOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogY2xhc3MgRE9N
UGF0Y2hTdXBwb3J0IGZpbmFsIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01QYXRjaFN1
cHBvcnQpOwogcHVibGljOgpAQCAtNzksOCArNzcsNiBAQCBwcml2YXRlOgogICAgIFVudXNlZE5v
ZGVzTWFwIG1fdW51c2VkTm9kZXNNYXA7CiB9OwogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gIWRlZmluZWQoRE9NUGF0
Y2hTdXBwb3J0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCmluZGV4IGNjYWY2MDg2YTIwZmRhZmVl
MGQyN2MzZGYyMmQ5MzJkYmZjYTUxN2UuLmE3MDRjZDk4NGVhOGQzOGVmMGYxYzVlZTI5MGRjNTM4
NmE4YjVmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCkBAIC0yNCw5ICsyNCw2IEBACiAgKi8K
IAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgIkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIgogCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZUhvc3QuaCIKQEAgLTE5OSw1ICsxOTYsMyBAQCBSZWY8SW5zcGVjdG9yOjpQcm90
b2NvbDo6QXBwbGljYXRpb25DYWNoZTo6QXBwbGljYXRpb25DYWNoZVJlc291cmNlPiBJbnNwZWN0
b3JBcAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IGM3MTI5ZDZmMzY3MTBiNzQ4Y2NjMDk2MWZh
NTc4MWM0YmFjM2RhNzAuLjBiODEzMzVmNTFjZTBhNmM4ZjUwYjZjZDM3NDRhZDY3ZTAzYzkzM2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI1LDggKzI1LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9y
QXBwbGljYXRpb25DYWNoZUFnZW50X2gKICNkZWZpbmUgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNo
ZUFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJBcHBsaWNhdGlv
bkNhY2hlSG9zdC5oIgogI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgogI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaD4KQEAgLTgwLDUgKzc4
LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKICNlbmRpZiAvLyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnRf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggZjQyMWI0NmNmOGFjZDk4MDM1NjdjZjFmMWIzNTBkYTkzNmI4MDZlNS4uZDVkYWQyZjk1ZWI1
NzNkNjk4Y2VkNjljYjAwNmIyMWE4Y2NhZWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0yMyw5ICsyMyw2IEBACiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIklu
c3BlY3RvckNTU0FnZW50LmgiCiAKICNpbmNsdWRlICJDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uaCIKQEAgLTEyMDEsNSArMTE5OCwzIEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OnJlc2V0
UHNldWRvU3RhdGVzKCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDU1NBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmgKaW5kZXggZDNhMDFmYzA1MmMwN2Y4NDBkYTkzNDVhNWY5ODI3YjdlNWE0YzQ5OC4u
ZWZiOWNiMTk1Y2Y3YmQzZjc2OTM5MTIyM2RiMmYwOTVkNzM0YTc0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKQEAgLTYxLDggKzYxLDYgQEAgY2xh
c3MgU3R5bGVSZXNvbHZlcjsKIGNsYXNzIFN0eWxlUnVsZTsKIGNsYXNzIENoYW5nZVJlZ2lvbk92
ZXJzZXRUYXNrOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogY2xhc3MgSW5zcGVjdG9yQ1NT
QWdlbnQgZmluYWwKICAgICA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UKICAgICAsIHB1Ymxp
YyBJbnNwZWN0b3JET01BZ2VudDo6RE9NTGlzdGVuZXIKQEAgLTE4NCw4ICsxODIsNiBAQCBwcml2
YXRlOgogICAgIGludCBtX2xhc3RTdHlsZVNoZWV0SWQ7CiB9OwogCi0jZW5kaWYKLQogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQ1NTQWdlbnRf
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5jcHAKaW5kZXgg
YzMzZTZhYzAxMmYzODVhYjJkNDBjNzE0MTRkZjNhOWM4YWE5ZGIxYy4uZDU1ZGFiMDc5NTQxM2E3
YWUxYzk3NjNmMDNjZWQ0MmVlN2Y5Yzk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNsaWVudC5jcHAKQEAgLTI5LDkgKzI5LDYgQEAKICAqLwogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9y
Q2xpZW50LmgiCiAKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKQEAgLTU3LDUgKzU0LDMgQEAgYm9v
bCBJbnNwZWN0b3JDbGllbnQ6OmRvRGlzcGF0Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2UoUGFnZSog
ZnJvbnRlbmRQYWdlLCBjb25zdAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggY2FmM2Y4MTAz
ODA1MTI1ZWYzMTdhY2FjZTBjNmUwZWRjZjUzNzRjOS4uYWE0ZjUzNWU3ODA1NTZiYmIxNzYzMWMz
NThlNzQzNWY2OWFlNjEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRhdGlvbi5oCkBAIC00MCw5NSArNDAsNTEg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSYgcGFnZSwgc3RkOjp1bmlxdWVfcHRyPElu
c3BlY3Rvcjo6Q29uc29sZU1lc3NhZ2U+IG1lc3NhZ2UpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBhZGRNZXNzYWdlVG9Db25z
b2xlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgV1RGOjptb3ZlKG1lc3NhZ2UpKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotICAgIFVOVVNFRF9QQVJBTShtZXNzYWdlKTsKLSNl
bmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3Nh
Z2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlLCBzdGQ6OnVu
aXF1ZV9wdHI8SW5zcGVjdG9yOjpDb25zb2xlTWVzc2FnZT4gbWVzc2FnZSkKIHsKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zvcldvcmtlckdsb2JhbFNjb3BlKHdvcmtlckds
b2JhbFNjb3BlKSkKICAgICAgICAgYWRkTWVzc2FnZVRvQ29uc29sZUltcGwoKmluc3RydW1lbnRp
bmdBZ2VudHMsIFdURjo6bW92ZShtZXNzYWdlKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTSh3
b3JrZXJHbG9iYWxTY29wZSk7Ci0gICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOwotI2VuZGlmCiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29uc29sZUNvdW50KFBh
Z2UmIHBhZ2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0
QXJndW1lbnRzPiYmIGFyZ3VtZW50cykKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlm
IChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGlu
Z0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIGNvbnNvbGVDb3VudEltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIHN0YXRlLCBXVEY6Om1vdmUoYXJndW1lbnRzKSk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0oc3RhdGUpOwotICAgIFVOVVNFRF9Q
QVJBTShhcmd1bWVudHMpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nKEZyYW1lJiBmcmFtZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1l
KGZyYW1lKSkKICAgICAgICAgc3RhcnRDb25zb2xlVGltaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0Fn
ZW50cywgZnJhbWUsIHRpdGxlKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSAg
ICBVTlVTRURfUEFSQU0odGl0bGUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1pbmcoRnJhbWUmIGZyYW1lLCBjb25zdCBT
dHJpbmcmIHRpdGxlLCBSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYgc3RhY2sp
CiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkp
CiAgICAgICAgIHN0b3BDb25zb2xlVGltaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJh
bWUsIHRpdGxlLCBXVEY6Om1vdmUoc3RhY2spKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZy
YW1lKTsKLSAgICBVTlVTRURfUEFSQU0odGl0bGUpOwotICAgIFVOVVNFRF9QQVJBTShzdGFjayk7
Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb25z
b2xlVGltZVN0YW1wKEZyYW1lJiBmcmFtZSwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1l
bnRzPiYmIGFyZ3VtZW50cykKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1l
KSkKICAgICAgICAgY29uc29sZVRpbWVTdGFtcEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZy
YW1lLCBXVEY6Om1vdmUoYXJndW1lbnRzKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFt
ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGFyZ3VtZW50cyk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFydFByb2ZpbGluZyhQYWdlJiBwYWdlLCBK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nICZ0aXRsZSkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHN0YXJ0UHJv
ZmlsaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZXhlYywgdGl0bGUpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwotICAgIFVOVVNF
RF9QQVJBTSh0aXRsZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIFJlZlB0cjxKU0M6OlByb2ZpbGU+
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcFByb2ZpbGluZyhQYWdlJiBwYWdlLCBKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nICZ0aXRsZSkKIHsKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHJldHVybiBzdG9w
UHJvZmlsaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZXhlYywgdGl0bGUpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwotICAgIFVO
VVNFRF9QQVJBTSh0aXRsZSk7Ci0jZW5kaWYKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4
IDIwOTFmMWM3NmU5NmRmMTFjY2U5NDZkZTFkZjRlODNhNjRjNDg4YTMuLjcyZjI5NDY4Y2VhZGI0
ZWQ3NWYzZGQ2YWUzMzg3OGI5NDNjNGVhMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTMyLDggKzMyLDYgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCiAjaW5jbHVk
ZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCkBAIC00
NTYsNSArNDU0LDMgQEAgUmVmPFN0b3B3YXRjaD4gSW5zcGVjdG9yQ29udHJvbGxlcjo6ZXhlY3V0
aW9uU3RvcHdhdGNoKCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5oCmluZGV4IDNkMzRhZGY0YzhiYTMzODIxZmFkZWY2MjQzZWY5ZTFmNjI1YTI3
YTguLmIyNjQyMmI3NzUzZTBjNDI2ZjUwOTk1MTU2Y2RmMDNkNTQ5ZjNlMjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMzEsOCArMzEs
NiBAQAogI2lmbmRlZiBJbnNwZWN0b3JDb250cm9sbGVyX2gKICNkZWZpbmUgSW5zcGVjdG9yQ29u
dHJvbGxlcl9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5Lmg+CkBAIC0xNzIsNiAr
MTcwLDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQog
I2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckNvbnRyb2xsZXJfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IGRhYTBkZjA3NTRiN2Y5
YjAxZDI5ZTdjMTJkMjJkMDUwMjM4NzllN2EuLjE3ZWI2ODE4MTkxMDMzODRmNTBmMWZlMjI1OWUw
MDJkYzYzMjljOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmNwcApAQCAtMjksOSArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
LQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JET01BZ2VudC5o
IgogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgpAQCAtMjAyMCw1ICsyMDE3LDMgQEAgRGVw
cmVjYXRlZDo6U2NyaXB0VmFsdWUgSW5zcGVjdG9yRE9NQWdlbnQ6Om5vZGVBc1NjcmlwdFZhbHVl
KEpTQzo6RXhlY1N0YXRlKiBzdGEKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmgKaW5kZXggNDEyYjdjMGQ0NDEzZmMwMzY2NjcxYzE4ODZlZDI4OTY3YTc5
MmM2My4uZjgzOTc5MmJiMjVjOWE1YjM3ZjcwNTQ3MmZjNDY4YTM3MTYxNjAxOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTc4LDggKzc4LDYg
QEAgc3RydWN0IEhpZ2hsaWdodENvbmZpZzsKIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwog
dHlwZWRlZiBpbnQgQmFja2VuZE5vZGVJZDsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KIHN0
cnVjdCBFdmVudExpc3RlbmVySW5mbyB7CiAgICAgRXZlbnRMaXN0ZW5lckluZm8oTm9kZSogbm9k
ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEV2ZW50TGlzdGVuZXJWZWN0
b3ImIGV2ZW50TGlzdGVuZXJWZWN0b3IpCiAgICAgICAgIDogbm9kZShub2RlKQpAQCAtMjc1LDgg
KzI3Myw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2RvY3VtZW50UmVxdWVzdGVkOwogfTsKIAot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckRPTUFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKaW5kZXgg
ZGQ4ZjUyMzdiZWY2NDE5OGNiZmMwYjY1NGY3Mzc4ODEzZTZmYjhkZS4uM2QwYmJhYzU2MWI4ZWIx
NDQ3NDcyODJlMDg4NGQ3MDRhNWJjY2IyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcApAQCAtMzEsOCArMzEsNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJIVE1MRWxlbWVudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCkBAIC00MjQsNSArNDIyLDMgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1
Z2dlckFnZW50OjpjbGVhcigpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAppbmRleCBjNjliM2I4NDUxMjZkYjI2NTdmZjY5
ZjJmMmQ1ZTgyMjJlMDc1MzY0Li40NjZmMDNlNTcxY2Y4NjcwNDNkYmNiNWJlODRiNjVmYWM3ZGFk
MzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmgKQEAgLTMxLDggKzMxLDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudF9oCiAjZGVmaW5lIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnRfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNs
dWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaD4KQEAgLTExMyw2
ICsxMTEsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50LmNwcAppbmRleCA4MTEzYzU0MTgyZTIwM2MxODBjYzBkYjRmOGVj
MjU1ZWI1ZmFmYjQ4Li5mYjA4OWEzOGY4MzIyNmQ1OWNlNTI4NmZiZTBhNTI4OGI5MDU3OTE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50LmNwcApAQCAtMjgsOSArMjgsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
LQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQuaCIKIAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtMjA1LDUgKzIwMiwzIEBAIFJl
ZlB0cjxTdG9yYWdlQXJlYT4gSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OjpmaW5kU3RvcmFnZUFy
ZWEoRXJyb3JTdHJpbmcmIGVycm9yCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKaW5kZXggNzNkYWExNmYyOTAxZmFiYjNmYTZj
M2ZlMDNkZTM3YWRjN2E1MjdiMy4uNDRkYWE4NjU3NjdlM2NiNzI0ZGE5NzRhMDI4Y2I5ZGUyNmRm
ODI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFi
YXNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRh
YmFzZUFnZW50LmNwcApAQCAtMjcsOSArMjcsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmgiCiAKICNpbmNsdWRlICJEYXRhYmFzZS5oIgpAQCAtMzIyLDUgKzMxOSwzIEBAIERh
dGFiYXNlKiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpkYXRhYmFzZUZvcklkKGNvbnN0IFN0cmlu
ZyYgZGF0YWJhc2VJZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JEYXRhYmFzZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudC5oCmluZGV4IDQ0M2ZjZDliMWQxYzQ4YmY1MTVkZTUzNzkwOTE2MzZi
MTA1ZTcxZWUuLjJlODY4OTc1ZjE2ZmNiMTY3OGRiZGIzZGFjZjIxZTE3Y2VkMThjY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaApA
QCAtMjksOCArMjksNiBAQAogI2lmbmRlZiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50X2gKICNkZWZp
bmUgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
aW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+CkBAIC04Myw2ICs4MSw0IEBAIHByaXZhdGU6CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNl
bmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JEYXRhYmFzZUFnZW50X2gpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUluc3RydW1lbnRh
dGlvbi5oCmluZGV4IGJjZDJhMmQ4NjA5OTFhNzE1Y2ZmNDY0ZWJhOTgwZjYwOWQ3NDhjY2YuLjFm
MTAwNTI3YjVkNTVhOTliMmVhNGYzZGI5ZGRlM2QxNWM1NmMwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUluc3RydW1lbnRh
dGlvbi5oCkBAIC0zOSwxNiArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0cjxEYXRhYmFzZT4mJiBkYXRhYmFzZSwgY29uc3Qg
U3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9u
KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250
ZXh0KSkKICAgICAgICAgZGlkT3BlbkRhdGFiYXNlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywg
V1RGOjptb3ZlKGRhdGFiYXNlKSwgZG9tYWluLCBuYW1lLCB2ZXJzaW9uKTsKLSNlbHNlCi0gICAg
VU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShkYXRhYmFzZSk7Ci0gICAg
VU5VU0VEX1BBUkFNKGRvbWFpbik7Ci0gICAgVU5VU0VEX1BBUkFNKG5hbWUpOwotICAgIFVOVVNF
RF9QQVJBTSh2ZXJzaW9uKTsKLSNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNv
dXJjZS5jcHAKaW5kZXggODU4MjUxODkwNTkzZWJlYjkwMzZiZmJhNjdjNjEyZGFjN2VhNDA0Zi4u
NDZlZGYzMTNjNjg2M2U2Y2FmMjdhZGIyZGY0YjYyM2Q4YTc2OGNlZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmNwcApA
QCAtMjksOSArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgiCiAK
ICNpbmNsdWRlICJEYXRhYmFzZS5oIgpAQCAtNjksNSArNjYsMyBAQCB2b2lkIEluc3BlY3RvckRh
dGFiYXNlUmVzb3VyY2U6OmJpbmQoSW5zcGVjdG9yRGF0YWJhc2VGcm9udGVuZERpc3BhdGNoZXIq
IGRhdGFiYQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRhdGFiYXNlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmgKaW5kZXggMWRiODQ0NDZkYTk0MDAxMDEyOWQ4YTMxOGZhMTZkM2Yw
MDM3OGY4NC4uMjk1NjcyYzE3YTk5YjM1ZThiNDc4ODdiYTJiY2ZkYzc4MDg4MTUyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJj
ZS5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Vf
aAogI2RlZmluZSBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlX2gKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVy
cy5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgpAQCAtNjMsNiArNjEsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gSW5zcGVjdG9yRGF0YWJh
c2VSZXNvdXJjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggM2U3MDgxOWFlZTFiM2JkMWU1ZDRk
NWFlMTU5ODk3MmI3ZjdiZmZiZi4uMzQ1YTczMjAxZjhkZWRhNWU0NTdlODQ2YWYyNjRjODcxNWEy
MjhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtMjksOSArMjksNiBAQAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgiCiAKICNpbmNsdWRlICJDaHJvbWUuaCIKQEAgLTM1
Nyw1ICszNTQsMyBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6OmV2YWx1YXRl
T25Mb2FkKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbikKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKaW5kZXggMWMwNWJiZmFkZWI2NGJjM2E1NTc4YzQ4ZDIzYzM3NjVl
YTBiMWUyNy4uMzljNTljNTgwMDk3YjM0MWJlMzNhYjU4M2VmZTgzNjlmZGNkZDM5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
QEAgLTI4LDkgKzI4LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgiCiAKICNp
bmNsdWRlICJDb250ZXh0TWVudS5oIgpAQCAtMzI0LDUgKzMyMSwzIEBAIGJvb2wgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OjpjYW5JbnNwZWN0V29ya2VycygpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCmluZGV4IDM1OTEyMWNjOTM3
NjgwYTE2MTAyZDExMTg1NzViMDMyYTI3N2VhYTguLjdkZTE4OTUxMmVkYjlhYTJhOWU4ODIwNGVj
NWY0ZTU3ZTJkMWVmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsCkBAIC0zMiw3ICszMiw2IEBACiAKIFsKICAgICBOb0ludGVy
ZmFjZU9iamVjdCwKLSAgICBDb25kaXRpb25hbD1JTlNQRUNUT1IsCiAgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IHsKICAgICB2
b2lkIGxvYWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckhpc3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3Rv
cnkuY3BwCmluZGV4IGUzOGQ4OTJjNTQ2YzgyZjg2OWMzYWYzYTkwNjhmZjYyN2IyNDVmOTUuLjhk
Y2Y0ZWU3Zjg4MjJkY2JlM2MxYWE4YjY1YWRmYzdmZGRkNDBmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5jcHAKQEAgLTI5LDkgKzI5LDYgQEAKICAq
LwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5j
bHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5oIgogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZVBsYWNl
aG9sZGVyLmgiCkBAIC0xNTEsNSArMTQ4LDMgQEAgdm9pZCBJbnNwZWN0b3JIaXN0b3J5OjpyZXNl
dCgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlz
dG9yeS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuaAppbmRl
eCAwNDk3NmRhNWQzZDZiYTZlOTk0YTUyYWEyZjBhYzYxMzdiZjUzMTBkLi41ZmI5YzhhYWZmMjk4
ODUyNzk4MDRkNWE3ODJhOGZjYjY2OTgwMmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JIaXN0b3J5LmgKQEAgLTQyLDggKzQyLDYgQEAgY2xhc3MgQ29udGFpbmVyTm9k
ZTsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBOb2RlOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogY2xhc3MgSW5zcGVjdG9ySGlzdG9yeSBmaW5hbCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW5zcGVjdG9ySGlzdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpA
QCAtODIsOCArODAsNiBAQCBwcml2YXRlOgogICAgIHNpemVfdCBtX2FmdGVyTGFzdEFjdGlvbklu
ZGV4OwogfTsKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rvckhpc3RvcnlfaCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3Bw
CmluZGV4IGY3OWMwMmU3ODdlNjQ5NWU2NWE1NDg3YzhiOGIwYjFjMWQxZThkNzIuLjdhNjQ5NWYx
MzQ0MTc2ZjQxMTQ4MTExYWE0YTA2ZWE2Zjg0M2JkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcApAQCAtMzAsNyArMzAs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAog
I2luY2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50LmgiCiAKQEAgLTc3Niw0ICs3NzYsNCBA
QCB2b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpjbGVhck9iamVjdFN0b3JlKEVycm9yU3Ry
aW5nJiBlcnJvclN0cmluZywgY29uc3QgUwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNl
bmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgKaW5kZXggM2IwZTlmYTEwYjU3MWMz
NDBkYWFhY2I5OGVmNGFjOGE0OWM1MzlkYS4uNzcyMGIzYTlhYWVjOTlkYjIwN2U5YzkzNDQ5NWM2
OWY1NzdmMTMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluZGV4ZWREQkFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluZGV4ZWREQkFnZW50LmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgSW5zcGVjdG9ySW5k
ZXhlZERCQWdlbnRfaAogI2RlZmluZSBJbnNwZWN0b3JJbmRleGVkREJBZ2VudF9oCiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgog
I2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaD4KQEAgLTcx
LDUgKzcxLDUgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYg
Ly8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9y
SW5kZXhlZERCQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggMDg4OGFmYjY1ZjVkN2VkYWRkZGNkZWNh
MmRlMGVhYjE5YTkzYTAzMC4uOWMwMWE0M2Q2YzhjZjliMzMxY2I4YzJiZDJmNjdjNjMzNmFkNWUx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAKQEAgLTMyLDggKzMyLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJDU1NSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCiAj
aW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC0xMjg5LDUgKzEyODcsMyBAQCB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6cHNldWRvRWxlbWVudERlc3Ryb3llZEltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyYgaQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyAhRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYmVkMGUwZWE3NTZmZTZiMDdmNjgwZGViNjAzMjY4
NjNmY2YwM2ZjLi42MTBjNGNkZTQ4OTc0YjNmYmM4NTIxYjkzZjc3ZWU2OTY1MDJmNmU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCkBAIC0yNzgsMjAgKzI3OCwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVuZGVy
TGF5ZXJEZXN0cm95ZWQoUGFnZSosIGNvbnN0IFJlbmRlckxheWVyJik7CiAgICAgc3RhdGljIHZv
aWQgcHNldWRvRWxlbWVudERlc3Ryb3llZChQYWdlKiwgUHNldWRvRWxlbWVudCYpOwogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBzdGF0aWMgdm9pZCBmcm9udGVuZENyZWF0ZWQoKSB7IHNf
ZnJvbnRlbmRDb3VudGVyICs9IDE7IH0KICAgICBzdGF0aWMgdm9pZCBmcm9udGVuZERlbGV0ZWQo
KSB7IHNfZnJvbnRlbmRDb3VudGVyIC09IDE7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVu
ZHMoKSB7IHJldHVybiBzX2Zyb250ZW5kQ291bnRlcjsgfQogICAgIHN0YXRpYyBib29sIGNvbnNv
bGVBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHN0YXRpYyBib29s
IHRpbWVsaW5lQWdlbnRFbmFibGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0
aWMgYm9vbCByZXBsYXlBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotI2Vs
c2UKLSAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMoKSB7IHJldHVybiBmYWxzZTsgfQotICAg
IHN0YXRpYyBib29sIGNvbnNvbGVBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJvb2wgcnVudGltZUFnZW50RW5hYmxlZChG
cmFtZSopIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJvb2wgdGltZWxpbmVBZ2VudEVu
YWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3Rh
dGljIGJvb2wgcmVwbGF5QWdlbnRFbmFibGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSB7IHJl
dHVybiBmYWxzZTsgfQotI2VuZGlmCiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UoUGFnZSopOwogCkBAIC0y
OTksNyArMjkxLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJJbnN0cnVt
ZW50aW5nQWdlbnRzKEluc3RydW1lbnRpbmdBZ2VudHMmKTsKIAogcHJpdmF0ZToKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIHN0YXRpYyB2b2lkIGRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3Js
ZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJiwgRE9NV3JhcHBlcldvcmxkJik7CiAg
ICAgc3RhdGljIGJvb2wgaXNEZWJ1Z2dlclBhdXNlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYp
OwogCkBAIC00NzcsMTUyMSArNDY4LDg2NyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGNh
bmNlbFBhdXNlT25OYXRpdmVFdmVudChJbnN0cnVtZW50aW5nQWdlbnRzJik7CiAKICAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgaW50IHNfZnJvbnRlbmRDb3VudGVyOwotI2VuZGlmCiB9OwogCiBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsZWFyV2luZG93T2JqZWN0
SW5Xb3JsZChGcmFtZSYgZnJhbWUsIERPTVdyYXBwZXJXb3JsZCYgd29ybGQpCiB7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGRp
ZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1l
LCB3b3JsZCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BB
UkFNKHdvcmxkKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmlzRGVidWdnZXJQYXVzZWQoRnJhbWUqIGZyYW1lKQogewotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKGZhbHNlKTsKICAgICBpZiAo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdB
Z2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIHJldHVybiBpc0RlYnVnZ2VyUGF1c2VkSW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7
Ci0jZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUoRG9jdW1lbnQmIGRvY3VtZW50LCBOb2Rl
JiBwYXJlbnQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkp
CiAgICAgICAgIHdpbGxJbnNlcnRET01Ob2RlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgcGFy
ZW50KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKLSAgICBVTlVTRURfUEFS
QU0ocGFyZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEluc2VydERPTU5vZGUoRG9jdW1lbnQmIGRvY3VtZW50LCBOb2RlJiBub2RlKQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBk
aWRJbnNlcnRET01Ob2RlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgbm9kZSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKG5vZGUpOwotI2Vu
ZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlbW92
ZURPTU5vZGUoRG9jdW1lbnQmIGRvY3VtZW50LCBOb2RlJiBub2RlKQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICB3aWxsUmVtb3ZlRE9NTm9k
ZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIG5vZGUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShub2RlKTsKLSNlbmRpZgogfQogCiBpbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlbW92ZURPTU5vZGUoRG9jdW1l
bnQmIGRvY3VtZW50LCBOb2RlJiBub2RlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
RkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9j
dW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRSZW1vdmVET01Ob2RlSW1wbCgqaW5zdHJ1bWVu
dGluZ0FnZW50cywgbm9kZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKG5vZGUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbE1vZGlmeURPTUF0dHIoRG9jdW1lbnQmIGRvY3VtZW50LCBF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG5ld1ZhbHVlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9S
RVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQo
ZG9jdW1lbnQpKQogICAgICAgICB3aWxsTW9kaWZ5RE9NQXR0ckltcGwoKmluc3RydW1lbnRpbmdB
Z2VudHMsIGVsZW1lbnQsIG9sZFZhbHVlLCBuZXdWYWx1ZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGVsZW1lbnQpOwotICAgIFVOVVNFRF9Q
QVJBTShvbGRWYWx1ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKG5ld1ZhbHVlKTsKLSNlbmRpZgogfQog
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURPTUF0dHIo
RG9jdW1lbnQmIGRvY3VtZW50LCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIGRpZE1vZGlmeURPTUF0dHJJbXBsKCpp
bnN0cnVtZW50aW5nQWdlbnRzLCBlbGVtZW50LCBuYW1lLCB2YWx1ZSk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGVsZW1lbnQpOwotICAgIFVO
VVNFRF9QQVJBTShuYW1lKTsKLSAgICBVTlVTRURfUEFSQU0odmFsdWUpOwotI2VuZGlmCiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVtb3ZlRE9NQXR0cihE
b2N1bWVudCYgZG9jdW1lbnQsIEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZS
T05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAg
ICAgICAgZGlkUmVtb3ZlRE9NQXR0ckltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGVsZW1lbnQs
IG5hbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9Q
QVJBTShlbGVtZW50KTsKLSAgICBVTlVTRURfUEFSQU0obmFtZSk7Ci0jZW5kaWYKIH0KIAogaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlkYXRlU3R5bGVBdHRy
KERvY3VtZW50JiBkb2N1bWVudCwgTm9kZSYgbm9kZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkSW52YWxpZGF0ZVN0eWxlQXR0cklt
cGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIG5vZGUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShub2RlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lV2luZG93RGlzY2FyZGVkKEZyYW1l
KiBmcmFtZSwgRE9NV2luZG93KiBkb21XaW5kb3cpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGZyYW1lV2luZG93RGlzY2Fy
ZGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZG9tV2luZG93KTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGZyYW1lKTsKLSAgICBVTlVTRURfUEFSQU0oZG9tV2luZG93KTsKLSNlbmRpZgog
fQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1lZGlhUXVlcnlSZXN1
bHRDaGFuZ2VkKERvY3VtZW50JiBkb2N1bWVudCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgbWVkaWFRdWVyeVJlc3VsdENoYW5nZWRJbXBs
KCppbnN0cnVtZW50aW5nQWdlbnRzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50
KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFB1c2hTaGFkb3dSb290KEVsZW1lbnQmIGhvc3QsIFNoYWRvd1Jvb3QmIHJvb3QpCiB7Ci0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgp
KTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChob3N0LmRvY3VtZW50KCkpKQogICAgICAgICBk
aWRQdXNoU2hhZG93Um9vdEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGhvc3QsIHJvb3QpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaG9zdCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJvb3QpOwot
I2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBv
cFNoYWRvd1Jvb3QoRWxlbWVudCYgaG9zdCwgU2hhZG93Um9vdCYgcm9vdCkKIHsKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwog
ICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1
bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGhvc3QuZG9jdW1lbnQoKSkpCiAgICAgICAgIHdpbGxQ
b3BTaGFkb3dSb290SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgaG9zdCwgcm9vdCk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShob3N0KTsKLSAgICBVTlVTRURfUEFSQU0ocm9vdCk7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVO
YW1lZEZsb3coRG9jdW1lbnQqIGRvY3VtZW50LCBXZWJLaXROYW1lZEZsb3cmIG5hbWVkRmxvdykK
IHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAg
ZGlkQ3JlYXRlTmFtZWRGbG93SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZG9jdW1lbnQsIG5h
bWVkRmxvdyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VE
X1BBUkFNKG5hbWVkRmxvdyk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsUmVtb3ZlTmFtZWRGbG93KERvY3VtZW50KiBkb2N1bWVudCwgV2Vi
S2l0TmFtZWRGbG93JiBuYW1lZEZsb3cpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBG
QVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1
bWVudChkb2N1bWVudCkpCiAgICAgICAgIHdpbGxSZW1vdmVOYW1lZEZsb3dJbXBsKCppbnN0cnVt
ZW50aW5nQWdlbnRzLCBkb2N1bWVudCwgbmFtZWRGbG93KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKGRvY3VtZW50KTsKLSAgICBVTlVTRURfUEFSQU0obmFtZWRGbG93KTsKLSNlbmRpZgogfQog
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENoYW5nZVJlZ2lvbk92
ZXJzZXQoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJLaXROYW1lZEZsb3cmIG5hbWVkRmxvdykKIHsK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2
b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlk
Q2hhbmdlUmVnaW9uT3ZlcnNldEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGRvY3VtZW50LCBu
YW1lZEZsb3cpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNF
RF9QQVJBTShuYW1lZEZsb3cpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkUmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50RWxlbWVudChEb2N1bWVu
dCYgZG9jdW1lbnQsIFdlYktpdE5hbWVkRmxvdyYgbmFtZWRGbG93LCBOb2RlJiBjb250ZW50RWxl
bWVudCwgTm9kZSogbmV4dENvbnRlbnRFbGVtZW50KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRSZWdpc3Rlck5hbWVkRmxvd0NvbnRl
bnRFbGVtZW50SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZG9jdW1lbnQsIG5hbWVkRmxvdywg
Y29udGVudEVsZW1lbnQsIG5leHRDb250ZW50RWxlbWVudCk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKG5hbWVkRmxvdyk7Ci0gICAgVU5VU0VE
X1BBUkFNKGNvbnRlbnRFbGVtZW50KTsKLSAgICBVTlVTRURfUEFSQU0obmV4dENvbnRlbnRFbGVt
ZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFVucmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50RWxlbWVudChEb2N1bWVudCYgZG9jdW1lbnQs
IFdlYktpdE5hbWVkRmxvdyYgbmFtZWRGbG93LCBOb2RlJiBjb250ZW50RWxlbWVudCkKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lk
KCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkVW5y
ZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVtZW50SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywg
ZG9jdW1lbnQsIG5hbWVkRmxvdywgY29udGVudEVsZW1lbnQpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShuYW1lZEZsb3cpOwotICAgIFVOVVNF
RF9QQVJBTShjb250ZW50RWxlbWVudCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjptb3VzZURpZE1vdmVPdmVyRWxlbWVudChQYWdlJiBwYWdlLCBj
b25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIHVuc2lnbmVkIG1vZGlmaWVyRmxhZ3MpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9p
ZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBtb3VzZURpZE1vdmVP
dmVyRWxlbWVudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIHJlc3VsdCwgbW9kaWZpZXJGbGFn
cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0ocmVz
dWx0KTsKLSAgICBVTlVTRURfUEFSQU0obW9kaWZpZXJGbGFncyk7Ci0jZW5kaWYKIH0KIAogaW5s
aW5lIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYW5kbGVUb3VjaEV2ZW50KEZyYW1l
JiBmcmFtZSwgTm9kZSYgbm9kZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJh
bWUpKQogICAgICAgICByZXR1cm4gaGFuZGxlVG91Y2hFdmVudEltcGwoKmluc3RydW1lbnRpbmdB
Z2VudHMsIG5vZGUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNF
RF9QQVJBTShub2RlKTsKLSNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KIAogaW5saW5lIGJv
b2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYW5kbGVNb3VzZVByZXNzKEZyYW1lJiBmcmFt
ZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05U
RU5EUyhmYWxzZSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICByZXR1
cm4gaGFuZGxlTW91c2VQcmVzc0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBp
bmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZvcmNlUHNldWRvU3RhdGUoRWxl
bWVudCYgZWxlbWVudCwgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVHlwZSBwc2V1ZG9TdGF0ZSkK
IHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
UyhmYWxzZSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZWxlbWVudC5kb2N1bWVudCgpKSkK
ICAgICAgICAgcmV0dXJuIGZvcmNlUHNldWRvU3RhdGVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRz
LCBlbGVtZW50LCBwc2V1ZG9TdGF0ZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShlbGVtZW50
KTsKLSAgICBVTlVTRURfUEFSQU0ocHNldWRvU3RhdGUpOwotI2VuZGlmCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNoYXJhY3Rl
ckRhdGFNb2RpZmllZChEb2N1bWVudCYgZG9jdW1lbnQsIENoYXJhY3RlckRhdGEmIGNoYXJhY3Rl
ckRhdGEpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAg
ICAgICAgIGNoYXJhY3RlckRhdGFNb2RpZmllZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGNo
YXJhY3RlckRhdGEpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVO
VVNFRF9QQVJBTShjaGFyYWN0ZXJEYXRhKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kWE1MSHR0cFJlcXVlc3QoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB1cmwpCiB7Ci0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICB3aWxsU2VuZFhNTEh0dHBSZXF1
ZXN0SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgdXJsKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTSh1cmwpOwotI2VuZGlmCiB9CiAKIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBz
aW5nbGVTaG90KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkK
ICAgICAgICAgZGlkSW5zdGFsbFRpbWVySW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgdGltZXJJ
ZCwgdGltZW91dCwgc2luZ2xlU2hvdCwgY29udGV4dCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0odGltZXJJZCk7Ci0gICAgVU5VU0VEX1BBUkFN
KHRpbWVvdXQpOwotICAgIFVOVVNFRF9QQVJBTShzaW5nbGVTaG90KTsKLSNlbmRpZgogfQogCiBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlbW92ZVRpbWVyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludCB0aW1lcklkKQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgZGlkUmVtb3ZlVGltZXJJbXBs
KCppbnN0cnVtZW50aW5nQWdlbnRzLCB0aW1lcklkLCBjb250ZXh0KTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTSh0aW1lcklkKTsKLSNlbmRpZgog
fQogCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbENhbGxGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpcHRMaW5lKQogewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbkNvb2tpZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRl
eHQpKQogICAgICAgICByZXR1cm4gd2lsbENhbGxGdW5jdGlvbkltcGwoKmluc3RydW1lbnRpbmdB
Z2VudHMsIHNjcmlwdE5hbWUsIHNjcmlwdExpbmUsIGNvbnRleHQpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKHNjcmlwdE5hbWUpOwotICAgIFVO
VVNFRF9QQVJBTShzY3JpcHRMaW5lKTsKLSNlbmRpZgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUoKTsKIH0KIAogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENhbGxGdW5jdGlvbihjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmIGNvb2tpZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkp
OwogICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQogICAgICAgICBkaWRDYWxsRnVuY3Rpb25JbXBs
KGNvb2tpZSwgY29udGV4dCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb29raWUpOwotICAg
IFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNo
WEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IFhNTEh0dHBSZXF1ZXN0JiByZXF1ZXN0KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
RkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICByZXR1cm4g
d2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50SW1wbCgqaW5zdHJ1bWVudGluZ0Fn
ZW50cywgcmVxdWVzdCwgY29udGV4dCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKLSAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJSZWFkeVN0YXRlQ2hhbmdlRXZlbnQoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCiB7Ci0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBp
ZiAoY29va2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlkRGlzcGF0Y2hYSFJSZWFkeVN0YXRlQ2hh
bmdlRXZlbnRJbXBsKGNvb2tpZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb29raWUpOwot
I2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVudChEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IEV2ZW50JiBldmVudCwgYm9vbCBoYXNFdmVudExpc3RlbmVycykKIHsKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1l
bnQpKQogICAgICAgICByZXR1cm4gd2lsbERpc3BhdGNoRXZlbnRJbXBsKCppbnN0cnVtZW50aW5n
QWdlbnRzLCBkb2N1bWVudCwgZXZlbnQsIGhhc0V2ZW50TGlzdGVuZXJzKTsKLSNlbHNlCi0gICAg
VU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKLSAgICBVTlVTRURfUEFSQU0oZXZlbnQpOwotICAgIFVO
VVNFRF9QQVJBTShoYXNFdmVudExpc3RlbmVycyk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUmIGNvb2tpZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuaXNWYWxpZCgp
KQogICAgICAgICBkaWREaXNwYXRjaEV2ZW50SW1wbChjb29raWUpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oY29va2llKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEhhbmRsZUV2ZW50KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IEV2ZW50JiBldmVudCkKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChj
b250ZXh0KSkKICAgICAgICAgcmV0dXJuIHdpbGxIYW5kbGVFdmVudEltcGwoKmluc3RydW1lbnRp
bmdBZ2VudHMsIGV2ZW50KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAg
IFVOVVNFRF9QQVJBTShldmVudCk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkSGFuZGxlRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
JiBjb29raWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKICAgICAgICAg
ZGlkSGFuZGxlRXZlbnRJbXBsKGNvb2tpZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb29r
aWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVudE9uV2luZG93KEZyYW1l
KiBmcmFtZSwgY29uc3QgRXZlbnQmIGV2ZW50LCBET01XaW5kb3cmIHdpbmRvdykKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUp
KQogICAgICAgICByZXR1cm4gd2lsbERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGV2ZW50LCB3aW5kb3cpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJh
bWUpOwotICAgIFVOVVNFRF9QQVJBTShldmVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKHdpbmRvdyk7
Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVu
dE9uV2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCiAgICAgICAgIGRpZERpc3BhdGNo
RXZlbnRPbldpbmRvd0ltcGwoY29va2llKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvb2tp
ZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxFdmFsdWF0ZVNjcmlwdChGcmFtZSYgZnJhbWUs
IGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBy
ZXR1cm4gd2lsbEV2YWx1YXRlU2NyaXB0SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUs
IHVybCwgbGluZU51bWJlcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0gICAg
VU5VU0VEX1BBUkFNKHVybCk7Ci0gICAgVU5VU0VEX1BBUkFNKGxpbmVOdW1iZXIpOwotI2VuZGlm
CiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQogCiBpbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEV2YWx1YXRlU2NyaXB0KGNvbnN0
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCBGcmFtZSYgZnJhbWUpCiB7
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMo
dm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlkRXZhbHVhdGVT
Y3JpcHRJbXBsKGNvb2tpZSwgZnJhbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29va2ll
KTsKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0c0VuYWJsZWQoUGFnZSYgcGFnZSwgYm9vbCBp
c0VuYWJsZWQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAg
ICByZXR1cm4gc2NyaXB0c0VuYWJsZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpc0VuYWJs
ZWQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGlz
RW5hYmxlZCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlVGltZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgaW50IHRpbWVySWQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAg
IHJldHVybiB3aWxsRmlyZVRpbWVySW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgdGltZXJJZCwg
Y29udGV4dCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBVTlVTRURf
UEFSQU0odGltZXJJZCk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRmlyZVRpbWVyKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2ll
KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRF
TkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCiAgICAgICAgIGRpZEZpcmVU
aW1lckltcGwoY29va2llKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlk
YXRlTGF5b3V0KEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1l
KGZyYW1lKSkKICAgICAgICAgZGlkSW52YWxpZGF0ZUxheW91dEltcGwoKmluc3RydW1lbnRpbmdB
Z2VudHMsIGZyYW1lKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSNlbmRpZgog
fQogCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbExheW91dChGcmFtZSYgZnJhbWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAg
cmV0dXJuIHdpbGxMYXlvdXRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkTGF5b3V0KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSYgY29va2llLCBSZW5kZXJPYmplY3QqIHJvb3QpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2ll
LmlzVmFsaWQoKSkKICAgICAgICAgZGlkTGF5b3V0SW1wbChjb29raWUsIHJvb3QpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0oY29va2llKTsKLSAgICBVTlVTRURfUEFSQU0ocm9vdCk7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3JvbGwo
UGFnZSYgcGFnZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAg
ICAgIGRpZFNjcm9sbEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0ocGFnZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaFhIUkxvYWRF
dmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBYTUxIdHRwUmVxdWVzdCYgcmVx
dWVzdCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZS
T05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIHdpbGxEaXNwYXRjaFhIUkxvYWRF
dmVudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIHJlcXVlc3QsIGNvbnRleHQpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJlcXVlc3QpOwot
I2VuZGlmCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQog
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoWEhSTG9h
ZEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQogewot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZv
aWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCiAgICAgICAgIGRpZERpc3BhdGNoWEhS
TG9hZEV2ZW50SW1wbChjb29raWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29va2llKTsK
LSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQ
YWludChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9y
UmVuZGVyZXIocmVuZGVyZXIpKQogICAgICAgICByZXR1cm4gd2lsbFBhaW50SW1wbCgqaW5zdHJ1
bWVudGluZ0FnZW50cywgcmVuZGVyZXIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocmVuZGVy
ZXIpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUGFpbnQoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkK
IHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclJlbmRlcmVyKHJlbmRlcmVyKSkKICAgICAgICAg
ZGlkUGFpbnRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCByZW5kZXJlciwgcmVjdCk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShyZW5kZXJlcik7Ci0gICAgVU5VU0VEX1BBUkFNKHJlY3QpOwot
I2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNj
cm9sbExheWVyKEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1l
KGZyYW1lKSkKICAgICAgICAgd2lsbFNjcm9sbExheWVySW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50
cywgZnJhbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2Nyb2xsTGF5ZXIoRnJh
bWUmIGZyYW1lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBkaWRTY3JvbGxMYXllckltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjYWxjdWxh
dGVTdHlsZShEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgcmV0
dXJuIHdpbGxSZWNhbGN1bGF0ZVN0eWxlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZG9jdW1l
bnQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotI2VuZGlmCiAgICAgcmV0
dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwogfQogCiBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2FsY3VsYXRlU3R5bGUoY29uc3QgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29v
a2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlkUmVjYWxjdWxhdGVTdHlsZUltcGwoY29va2llKTsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlv
bihEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNU
X1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVu
dChkb2N1bWVudCkpCiAgICAgICAgIGRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uSW1wbCgq
aW5zdHJ1bWVudGluZ0FnZW50cywgZG9jdW1lbnQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZG9jdW1lbnQpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6YXBwbHlFbXVsYXRlZE1lZGlhKEZyYW1lJiBmcmFtZSwgU3RyaW5nJiBtZWRpYSkKIHsK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2
b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgYXBwbHlFbXVs
YXRlZE1lZGlhSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgbWVkaWEpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShtZWRpYSk7Ci0jZW5kaWYKIH0K
IAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFJlcXVlc3Qo
RnJhbWUqIGZyYW1lLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBs
b2FkZXIsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVkaXJlY3RSZXNwb25zZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgd2lsbFNlbmRSZXF1ZXN0SW1wbCgqaW5zdHJ1bWVu
dGluZ0FnZW50cywgaWRlbnRpZmllciwgbG9hZGVyLCByZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNl
KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSAgICBVTlVTRURfUEFSQU0oaWRl
bnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7Ci0gICAgVU5VU0VEX1BBUkFNKHJl
cXVlc3QpOwotICAgIFVOVVNFRF9QQVJBTShyZWRpcmVjdFJlc3BvbnNlKTsKLSNlbmRpZgogfQog
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlQWZ0ZXJQaW5n
TG9hZGVyKEZyYW1lJiBmcmFtZSwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExv
YWRlciogbG9hZGVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yRnJhbWUoJmZyYW1lKSkKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250
aW51ZUFmdGVyUGluZ0xvYWRlckltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIs
IGxvYWRlciwgcmVxdWVzdCwgcmVzcG9uc2UpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJh
bWUpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFSQU0obG9h
ZGVyKTsKLSAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJlc3Bv
bnNlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKFBhZ2UmIHBhZ2UsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
cikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkp
CiAgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywg
aWRlbnRpZmllcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURf
UEFSQU0oaWRlbnRpZmllcik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoUGFnZSYgcGFnZSwg
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAg
ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywg
bG9hZGVyLCByZXNvdXJjZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBV
TlVTRURfUEFSQU0obG9hZGVyKTsKLSAgICBVTlVTRURfUEFSQU0ocmVzb3VyY2UpOwotI2VuZGlm
CiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UoRnJhbWUqIGZyYW1lKQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQog
ICAgICAgICByZXR1cm4gd2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlSW1wbCgqaW5zdHJ1bWVu
dGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKICAg
ICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291cmNlUmVzcG9uc2Uo
Y29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUsIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIFJlc291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIC8vIENhbGwgdGhpcyB1bmNvbmRpdGlvbmFsbHkgc28gdGhh
dCB3ZSdyZSBhYmxlIHRvIGxvZyB0byBjb25zb2xlIHdpdGggbm8gZnJvbnQtZW5kIGF0dGFjaGVk
LgogICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQogICAgICAgICBkaWRSZWNlaXZlUmVzb3VyY2VS
ZXNwb25zZUltcGwoY29va2llLCBpZGVudGlmaWVyLCBsb2FkZXIsIHJlc3BvbnNlLCByZXNvdXJj
ZUxvYWRlcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb29raWUpOwotICAgIFVOVVNFRF9Q
QVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFSQU0obG9hZGVyKTsKLSAgICBVTlVTRURf
UEFSQU0ocmVzcG9uc2UpOwotICAgIFVOVVNFRF9QQVJBTShyZXNvdXJjZUxvYWRlcik7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFm
dGVyWEZyYW1lT3B0aW9uc0RlbmllZChGcmFtZSogZnJhbWUsIERvY3VtZW50TG9hZGVyJiBsb2Fk
ZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikK
IHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclhG
cmFtZU9wdGlvbnNEZW5pZWRJbXBsKGZyYW1lLCBsb2FkZXIsIGlkZW50aWZpZXIsIHIpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShsb2FkZXIpOwot
ICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFSQU0ocik7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZVdp
dGhQb2xpY3lEb3dubG9hZChGcmFtZSogZnJhbWUsIERvY3VtZW50TG9hZGVyJiBsb2FkZXIsIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lk
KCkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVXaXRoUG9saWN5RG93
bmxvYWRJbXBsKGZyYW1lLCBsb2FkZXIsIGlkZW50aWZpZXIsIHIpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShsb2FkZXIpOwotICAgIFVOVVNFRF9Q
QVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFSQU0ocik7Ci0jZW5kaWYKIH0KIAogaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZVdpdGhQb2xpY3lJZ25v
cmUoRnJhbWUqIGZyYW1lLCBEb2N1bWVudExvYWRlciYgbG9hZGVyLCB1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIpCiB7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlV2l0aFBvbGljeUlnbm9yZUltcGwoZnJhbWUs
IGxvYWRlciwgaWRlbnRpZmllciwgcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7
Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIp
OwotICAgIFVOVVNFRF9QQVJBTShyKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVEYXRhKEZyYW1lKiBmcmFtZSwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVu
Y29kZWREYXRhTGVuZ3RoKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkaWRSZWNlaXZlRGF0YUltcGwoKmluc3RydW1lbnRp
bmdBZ2VudHMsIGlkZW50aWZpZXIsIGRhdGEsIGRhdGFMZW5ndGgsIGVuY29kZWREYXRhTGVuZ3Ro
KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSAgICBVTlVTRURfUEFSQU0oaWRl
bnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGRhdGEpOwotICAgIFVOVVNFRF9QQVJBTShkYXRh
TGVuZ3RoKTsKLSAgICBVTlVTRURfUEFSQU0oZW5jb2RlZERhdGFMZW5ndGgpOwotI2VuZGlmCiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmluaXNoTG9hZGlu
ZyhGcmFtZSogZnJhbWUsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGRpZEZpbmlzaExvYWRpbmdJbXBs
KCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBsb2FkZXIsIGZpbmlzaFRpbWUpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShsb2FkZXIp
OwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFSQU0oZmluaXNo
VGltZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRGYWlsTG9hZGluZyhGcmFtZSogZnJhbWUsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAg
ICAgIGRpZEZhaWxMb2FkaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllciwg
bG9hZGVyLCBlcnJvcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0gICAgVU5V
U0VEX1BBUkFNKGxvYWRlcik7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVO
VVNFRF9QQVJBTShlcnJvcik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkb2N1bWVudFRocmVhZGFibGVMb2FkZXJTdGFydGVkTG9hZGluZ0ZvckNs
aWVudChEb2N1bWVudCYgZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgVGhyZWFk
YWJsZUxvYWRlckNsaWVudCogY2xpZW50KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkb2N1bWVudFRocmVhZGFi
bGVMb2FkZXJTdGFydGVkTG9hZGluZ0ZvckNsaWVudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMs
IGlkZW50aWZpZXIsIGNsaWVudCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7
Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShjbGllbnQp
OwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2ls
bExvYWRYSFIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgVVJMJiB1cmwsIGJv
b2wgYXN5bmMsIFJlZlB0cjxGb3JtRGF0YT4mJiBmb3JtRGF0YSwgY29uc3QgSFRUUEhlYWRlck1h
cCYgaGVhZGVycywgYm9vbCBpbmNsdWRlQ3JlZGVudGlhbHMpCiB7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICB3aWxsTG9h
ZFhIUkltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGNsaWVudCwgbWV0aG9kLCB1cmwsIGFzeW5j
LCBXVEY6Om1vdmUoZm9ybURhdGEpLCBoZWFkZXJzLCBpbmNsdWRlQ3JlZGVudGlhbHMpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNsaWVudCk7
Ci0gICAgVU5VU0VEX1BBUkFNKG1ldGhvZCk7Ci0gICAgVU5VU0VEX1BBUkFNKHVybCk7Ci0gICAg
VU5VU0VEX1BBUkFNKGFzeW5jKTsKLSAgICBVTlVTRURfUEFSQU0oZm9ybURhdGEpOwotICAgIFVO
VVNFRF9QQVJBTShoZWFkZXJzKTsKLSAgICBVTlVTRURfUEFSQU0oaW5jbHVkZUNyZWRlbnRpYWxz
KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZhaWxYSFJMb2FkaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQqIGNsaWVudCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlm
IChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGlu
Z0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRpZEZhaWxYSFJMb2FkaW5nSW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cywgY2xpZW50KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFN
KGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShjbGllbnQpOwotI2VuZGlmCiB9CiAKIAogaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5nKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNs
aWVudCwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmlu
ZywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgc2VuZFVSTCwgdW5zaWduZWQgc2Vu
ZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNlbmRDb2x1bW5OdW1iZXIpCiB7Ci0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICBkaWRG
aW5pc2hYSFJMb2FkaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgY2xpZW50LCBpZGVudGlm
aWVyLCBzb3VyY2VTdHJpbmcsIHVybCwgc2VuZFVSTCwgc2VuZExpbmVOdW1iZXIsIHNlbmRDb2x1
bW5OdW1iZXIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VE
X1BBUkFNKGNsaWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNF
RF9QQVJBTShzb3VyY2VTdHJpbmcpOwotICAgIFVOVVNFRF9QQVJBTSh1cmwpOwotICAgIFVOVVNF
RF9QQVJBTShzZW5kVVJMKTsKLSAgICBVTlVTRURfUEFSQU0oc2VuZExpbmVOdW1iZXIpOwotICAg
IFVOVVNFRF9QQVJBTShzZW5kQ29sdW1uTnVtYmVyKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVYSFJSZXNwb25zZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQog
ICAgICAgICBkaWRSZWNlaXZlWEhSUmVzcG9uc2VJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBp
ZGVudGlmaWVyKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNF
RF9QQVJBTShpZGVudGlmaWVyKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxMb2FkWEhSU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgd2lsbExvYWRYSFJTeW5jaHJvbm91c2x5SW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZExvYWRYSFJTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQp
KQogICAgICAgICBkaWRMb2FkWEhSU3luY2hyb25vdXNseUltcGwoKmluc3RydW1lbnRpbmdBZ2Vu
dHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0jZW5kaWYKIH0KIAogaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlU3RyaW5nKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgc2NyaXB0SW1wb3J0ZWRJbXBsKCpp
bnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwot
ICAgIFVOVVNFRF9QQVJBTShzb3VyY2VTdHJpbmcpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0RXhlY3V0aW9uQmxvY2tlZEJ5Q1NQKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4
dCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29u
dGV4dCkpCiAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkJsb2NrZWRCeUNTUEltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGRpcmVjdGl2ZVRleHQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29u
dGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGRpcmVjdGl2ZVRleHQpOwotI2VuZGlmCiB9CiAKIGlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVNjcmlwdFJlc3Bv
bnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQo
Y29udGV4dCkpCiAgICAgICAgIGRpZFJlY2VpdmVTY3JpcHRSZXNwb25zZUltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4
dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZG9tQ29udGVudExvYWRlZEV2ZW50RmlyZWQo
RnJhbWUmIGZyYW1lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9y
RnJhbWUoZnJhbWUpKQogICAgICAgICBkb21Db250ZW50TG9hZGVkRXZlbnRGaXJlZEltcGwoKmlu
c3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1l
KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omxv
YWRFdmVudEZpcmVkKEZyYW1lKiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgbG9hZEV2ZW50RmlyZWRJbXBsKCpp
bnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFt
ZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpm
cmFtZURldGFjaGVkRnJvbVBhcmVudChGcmFtZSYgZnJhbWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGZyYW1lRGV0YWNo
ZWRGcm9tUGFyZW50SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9hZChGcmFtZSYgZnJhbWUsIERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JG
cmFtZShmcmFtZSkpCiAgICAgICAgIGRpZENvbW1pdExvYWRJbXBsKCppbnN0cnVtZW50aW5nQWdl
bnRzLCBmcmFtZS5wYWdlKCksIGxvYWRlcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFt
ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZURvY3VtZW50VXBkYXRlZChGcmFtZSogZnJh
bWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9O
VEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGZy
YW1lRG9jdW1lbnRVcGRhdGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9hZGVyRGV0YWNoZWRGcm9tRnJhbWUoRnJhbWUmIGZy
YW1lLCBEb2N1bWVudExvYWRlciYgbG9hZGVyKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBsb2FkZXJEZXRhY2hlZEZyb21G
cmFtZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGxvYWRlcik7Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7Ci0jZW5kaWYKIH0KIAog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0YXJ0ZWRMb2FkaW5n
KEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckZyYW1lKCZmcmFtZSkpCiAgICAgICAgIGZyYW1lU3RhcnRlZExvYWRpbmdJbXBsKCppbnN0cnVt
ZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0j
ZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0
b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckZyYW1lKCZmcmFtZSkpCiAgICAgICAgIGZyYW1lU3RvcHBlZExvYWRpbmdJ
bXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShmcmFtZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24oRnJhbWUmIGZyYW1lLCBkb3VibGUgZGVsYXkp
CiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZSgmZnJhbWUp
KQogICAgICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdl
bnRzLCBmcmFtZSwgZGVsYXkpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAg
IFVOVVNFRF9QQVJBTShkZWxheSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZUNsZWFyZWRTY2hlZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBm
cmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKCZm
cmFtZSkpCiAgICAgICAgIGZyYW1lQ2xlYXJlZFNjaGVkdWxlZE5hdmlnYXRpb25JbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7
Ci0jZW5kaWYKIH0KIAogaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSdW5KYXZhU2NyaXB0RGlhbG9nKFBhZ2UmIHBhZ2Us
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUo
KSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgcmV0dXJuIHdpbGxSdW5K
YXZhU2NyaXB0RGlhbG9nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgbWVzc2FnZSk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0obWVzc2FnZSk7Ci0j
ZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUnVuSmF2YVNjcmlwdERp
YWxvZyhjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lk
KCkpOwogICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQogICAgICAgICBkaWRSdW5KYXZhU2NyaXB0
RGlhbG9nSW1wbChjb29raWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29va2llKTsKLSNl
bmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0
cm95Q2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UmIGNhY2hlZFJlc291cmNlKQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQo
KSk7CiAgICAgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZUltcGwoY2FjaGVkUmVzb3VyY2UpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY2FjaGVkUmVzb3VyY2UpOwotI2VuZGlmCiB9CiAKIGlu
bGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsV3JpdGVIVE1MKERvY3VtZW50KiBkb2N1bWVudCwgdW5zaWduZWQgc3RhcnRMaW5l
KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRF
TkRTKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JE
b2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIHJldHVybiB3aWxsV3JpdGVIVE1MSW1wbCgqaW5z
dHJ1bWVudGluZ0FnZW50cywgc3RhcnRMaW5lLCBkb2N1bWVudC0+ZnJhbWUoKSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKHN0YXJ0TGluZSk7
Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVIVE1MKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCB1bnNpZ25lZCBlbmRM
aW5lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJP
TlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCiAgICAgICAgIGRpZFdy
aXRlSFRNTEltcGwoY29va2llLCBlbmRMaW5lKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNv
b2tpZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGVuZExpbmUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hET01TdG9yYWdlRXZlbnQo
Y29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYg
bmV3VmFsdWUsIFN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlLCBTZWN1cml0eU9yaWdpbiogc2VjdXJp
dHlPcmlnaW4sIFBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNU
X1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBh
Z2UpKQogICAgICAgICBkaWREaXNwYXRjaERPTVN0b3JhZ2VFdmVudEltcGwoKmluc3RydW1lbnRp
bmdBZ2VudHMsIGtleSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCBzdG9yYWdlVHlwZSwgc2VjdXJpdHlP
cmlnaW4sIHBhZ2UpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oa2V5KTsKLSAgICBVTlVTRURf
UEFSQU0ob2xkVmFsdWUpOwotICAgIFVOVVNFRF9QQVJBTShuZXdWYWx1ZSk7Ci0gICAgVU5VU0VE
X1BBUkFNKHN0b3JhZ2VUeXBlKTsKLSAgICBVTlVTRURfUEFSQU0oc2VjdXJpdHlPcmlnaW4pOwot
ICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogfQog
CiBpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNob3VsZFBhdXNlRGVkaWNh
dGVkV29ya2VyT25TdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKGZhbHNl
KTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICByZXR1cm4gc2hv
dWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7
Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSNlbmRpZgogICAgIHJldHVybiBm
YWxzZTsKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFy
dFdvcmtlckdsb2JhbFNjb3BlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdvcmtl
ckdsb2JhbFNjb3BlUHJveHkqIHByb3h5LCBjb25zdCBVUkwmIHVybCkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRp
ZFN0YXJ0V29ya2VyR2xvYmFsU2NvcGVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBwcm94eSwg
dXJsKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJB
TShwcm94eSk7Ci0gICAgVU5VU0VEX1BBUkFNKHVybCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3b3JrZXJHbG9iYWxTY29wZVRlcm1pbmF0ZWQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV29ya2VyR2xvYmFsU2NvcGVQcm94eSog
cHJveHkpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0
KGNvbnRleHQpKQogICAgICAgICB3b3JrZXJHbG9iYWxTY29wZVRlcm1pbmF0ZWRJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBwcm94eSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKLSAgICBVTlVTRURfUEFSQU0ocHJveHkpOwotI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoV0VC
X1NPQ0tFVFMpCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0
ZVdlYlNvY2tldChEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgVVJMJiByZXF1ZXN0VVJMLCBjb25zdCBVUkwmIGRvY3VtZW50VVJMLCBjb25zdCBTdHJp
bmcmIHByb3RvY29sKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9y
RG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRDcmVhdGVXZWJTb2NrZXRJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCByZXF1ZXN0VVJMLCBkb2N1bWVudFVSTCwgcHJv
dG9jb2wsIGRvY3VtZW50KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKLSAg
ICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RVUkwp
OwotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudFVSTCk7Ci0gICAgVU5VU0VEX1BBUkFNKHByb3Rv
Y29sKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChEb2N1bWVudCogZG9jdW1lbnQsIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1l
bnQpKQogICAgICAgICB3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3RJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCByZXF1ZXN0LCBkb2N1bWVudCk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIp
OwotICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNw
b25zZShEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIGRpZFJlY2VpdmVXZWJT
b2NrZXRIYW5kc2hha2VSZXNwb25zZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZp
ZXIsIHJlc3BvbnNlLCBkb2N1bWVudCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVu
dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShyZXNw
b25zZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDbG9zZVdlYlNvY2tldChEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3Vt
ZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkQ2xvc2VXZWJTb2NrZXRJbXBsKCppbnN0cnVtZW50
aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBkb2N1bWVudCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotI2VuZGlmCiB9CisK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tl
dEZyYW1lKERvY3VtZW50KiBkb2N1bWVudCwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBXZWJTb2NrZXRGcmFtZSYgZnJhbWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIGRpZFJlY2VpdmVXZWJTb2Nr
ZXRGcmFtZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIsIGZyYW1lKTsKLSNl
bHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKLSAgICBVTlVTRURfUEFSQU0oaWRlbnRp
Zmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSNlbmRpZgogfQorCiBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9y
KERvY3VtZW50KiBkb2N1bWVudCwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1l
RXJyb3JJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBlcnJvck1lc3NhZ2Up
OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShp
ZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFSQU0oZXJyb3JNZXNzYWdlKTsKLSNlbmRpZgogfQor
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNlbmRXZWJTb2NrZXRG
cmFtZShEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
V2ViU29ja2V0RnJhbWUmIGZyYW1lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRTZW5kV2ViU29ja2V0RnJh
bWVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBmcmFtZSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIp
OwotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKIH0KLSNlbmRpZgorI2VuZGlmIC8v
IEVOQUJMRShXRUJfU09DS0VUUykKIAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXNzaW9uQ3JlYXRlZChQYWdlJiBwYWdlLCBS
ZWZQdHI8UmVwbGF5U2Vzc2lvbj4mJiBzZXNzaW9uKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yUGFnZShwYWdlKSkKICAgICAgICAgc2Vzc2lvbkNyZWF0ZWRJbXBsKCppbnN0cnVtZW50aW5n
QWdlbnRzLCBXVEY6Om1vdmUoc2Vzc2lvbikpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFn
ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHNlc3Npb24pOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2Vzc2lvbkxvYWRlZChQYWdlJiBwYWdlLCBSZWZQ
dHI8UmVwbGF5U2Vzc2lvbj4mJiBzZXNzaW9uKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9y
UGFnZShwYWdlKSkKICAgICAgICAgc2Vzc2lvbkxvYWRlZEltcGwoKmluc3RydW1lbnRpbmdBZ2Vu
dHMsIFdURjo6bW92ZShzZXNzaW9uKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsK
LSAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXNzaW9uTW9kaWZpZWQoUGFnZSYgcGFnZSwgUmVmUHRy
PFJlcGxheVNlc3Npb24+JiYgc2Vzc2lvbikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBh
Z2UocGFnZSkpCiAgICAgICAgIHNlc3Npb25Nb2RpZmllZEltcGwoKmluc3RydW1lbnRpbmdBZ2Vu
dHMsIFdURjo6bW92ZShzZXNzaW9uKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsK
LSAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZWdtZW50Q3JlYXRlZChQYWdlJiBwYWdlLCBSZWZQdHI8
UmVwbGF5U2Vzc2lvblNlZ21lbnQ+JiYgc2VnbWVudCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHNlZ21lbnRDcmVhdGVkSW1wbCgqaW5zdHJ1bWVudGlu
Z0FnZW50cywgV1RGOjptb3ZlKHNlZ21lbnQpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBh
Z2UpOwotICAgIFVOVVNFRF9QQVJBTShzZWdtZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNlZ21lbnRDb21wbGV0ZWQoUGFnZSYgcGFnZSwg
UmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNlZ21lbnQpCiB7Ci0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBzZWdtZW50Q29tcGxldGVkSW1wbCgqaW5z
dHJ1bWVudGluZ0FnZW50cywgV1RGOjptb3ZlKHNlZ21lbnQpKTsKLSNlbHNlCi0gICAgVU5VU0VE
X1BBUkFNKHBhZ2UpOwotICAgIFVOVVNFRF9QQVJBTShzZWdtZW50KTsKLSNlbmRpZgogfQogCiBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNlZ21lbnRMb2FkZWQoUGFnZSYg
cGFnZSwgUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNlZ21lbnQpCiB7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBzZWdtZW50TG9hZGVkSW1wbCgq
aW5zdHJ1bWVudGluZ0FnZW50cywgV1RGOjptb3ZlKHNlZ21lbnQpKTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKHBhZ2UpOwotICAgIFVOVVNFRF9QQVJBTShzZWdtZW50KTsKLSNlbmRpZgogfQog
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNlZ21lbnRVbmxvYWRlZChQ
YWdlJiBwYWdlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAg
ICAgc2VnbWVudFVubG9hZGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQotICAg
IFVOVVNFRF9QQVJBTShwYWdlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmNhcHR1cmVTdGFydGVkKFBhZ2UmIHBhZ2UpCiB7Ci0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBjYXB0dXJlU3RhcnRlZEltcGwoKmlu
c3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjYXB0dXJlU3Rv
cHBlZChQYWdlJiBwYWdlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRV
Uk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkK
ICAgICAgICAgY2FwdHVyZVN0b3BwZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6cGxheWJhY2tTdGFydGVkKFBhZ2UmIHBhZ2UpCiB7Ci0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgp
KTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBwbGF5YmFja1N0YXJ0ZWRJ
bXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2Up
OwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cGxh
eWJhY2tQYXVzZWQoUGFnZSYgcGFnZSwgY29uc3QgUmVwbGF5UG9zaXRpb24mIHBvc2l0aW9uKQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgcGxheWJhY2tQ
YXVzZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBwb3NpdGlvbik7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0ocG9zaXRpb24pOwotI2VuZGlmCiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cGxheWJhY2tGaW5pc2hl
ZChQYWdlJiBwYWdlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5f
SUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGlu
c3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAg
ICAgICAgcGxheWJhY2tGaW5pc2hlZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpwbGF5YmFja0hpdFBvc2l0aW9uKFBhZ2UmIHBhZ2UsIGNvbnN0
IFJlcGxheVBvc2l0aW9uJiBwb3NpdGlvbikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBh
Z2UocGFnZSkpCiAgICAgICAgIHBsYXliYWNrSGl0UG9zaXRpb25JbXBsKCppbnN0cnVtZW50aW5n
QWdlbnRzLCBwb3NpdGlvbik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBV
TlVTRURfUEFSQU0ocG9zaXRpb24pOwotI2VuZGlmCiB9CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9S
RVBMQVkpCiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bmV0d29ya1N0
YXRlQ2hhbmdlZChQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShw
YWdlKSkKICAgICAgICAgbmV0d29ya1N0YXRlQ2hhbmdlZEltcGwoKmluc3RydW1lbnRpbmdBZ2Vu
dHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp1cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3Rh
dHVzKEZyYW1lKiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1l
KSkKICAgICAgICAgdXBkYXRlQXBwbGljYXRpb25DYWNoZVN0YXR1c0ltcGwoKmluc3RydW1lbnRp
bmdBZ2VudHMsIGZyYW1lKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSNlbmRp
ZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlcXVlc3RB
bmltYXRpb25GcmFtZShEb2N1bWVudCogZG9jdW1lbnQsIGludCBjYWxsYmFja0lkKQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQog
ICAgICAgICBkaWRSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRz
LCBjYWxsYmFja0lkLCBkb2N1bWVudC0+ZnJhbWUoKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrSWQpOwotI2VuZGlmCiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FuY2VsQW5pbWF0aW9u
RnJhbWUoRG9jdW1lbnQqIGRvY3VtZW50LCBpbnQgY2FsbGJhY2tJZCkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAg
ZGlkQ2FuY2VsQW5pbWF0aW9uRnJhbWVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBjYWxsYmFj
a0lkLCBkb2N1bWVudC0+ZnJhbWUoKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVu
dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrSWQpOwotI2VuZGlmCiB9CiAKIGlubGluZSBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGNhbGxiYWNrSWQp
CiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1
bWVudCkpCiAgICAgICAgIHJldHVybiB3aWxsRmlyZUFuaW1hdGlvbkZyYW1lSW1wbCgqaW5zdHJ1
bWVudGluZ0FnZW50cywgY2FsbGJhY2tJZCwgZG9jdW1lbnQtPmZyYW1lKCkpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsYmFja0lkKTsK
LSNlbmRpZgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0K
IAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9u
RnJhbWUoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9p
ZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlkRmlyZUFuaW1hdGlv
bkZyYW1lSW1wbChjb29raWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29va2llKTsKLSNl
bmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmxheWVyVHJl
ZURpZENoYW5nZShQYWdlKiBwYWdlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgbGF5ZXJUcmVlRGlkQ2hhbmdlSW1wbCgqaW5z
dHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSNlbmRp
ZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnJlbmRlckxheWVy
RGVzdHJveWVkKFBhZ2UqIHBhZ2UsIGNvbnN0IFJlbmRlckxheWVyJiByZW5kZXJMYXllcikKIHsK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAg
ICAgIHJlbmRlckxheWVyRGVzdHJveWVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgcmVuZGVy
TGF5ZXIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0gICAgVU5VU0VEX1BBUkFN
KHJlbmRlckxheWVyKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OnBzZXVkb0VsZW1lbnREZXN0cm95ZWQoUGFnZSogcGFnZSwgUHNldWRvRWxlbWVu
dCYgcHNldWRvRWxlbWVudCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50
c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHBzZXVkb0VsZW1lbnREZXN0cm95ZWRJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBwc2V1ZG9FbGVtZW50KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFN
KHBhZ2UpOwotICAgIFVOVVNFRF9QQVJBTShwc2V1ZG9FbGVtZW50KTsKLSNlbmRpZgogfQogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKIGlubGluZSBJbnN0cnVtZW50aW5nQWdlbnRzKiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgaWYgKCFjb250ZXh0KQpAQCAtMjAyNSw3
ICsxMzYyLDYgQEAgaW5saW5lIEluc3RydW1lbnRpbmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3UKICNlbmRpZgogICAgIHJldHVybiBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKTsKIH0KLSNlbmRpZgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTGF5ZXJUcmVlQWdlbnQuY3BwCmluZGV4IDQ1NTVkYjIxMzUzYjZmMTY3YTc4MzE1OGVlNWVi
ZjNlNGNmNjljYzUuLmM1OTAyYmE3NzdiMDM2MGUxMDFiN2E1ZjAxZWJhMjgyODU1NmMzOWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFn
ZW50LmNwcApAQCAtMjksOSArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JMYXllclRyZWVBZ2Vu
dC5oIgogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKQEAgLTM2MSw1ICszNTgsMyBA
QCB2b2lkIEluc3BlY3RvckxheWVyVHJlZUFnZW50Ojp1bmJpbmRQc2V1ZG9FbGVtZW50KFBzZXVk
b0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCmluZGV4IDI3NGUyM2VmNGM4ODAzOWMzMzU2
ZjQwMmY5YmMxZDVjMDdiMmEyNTMuLjE2NmU5YTYxOGYxNWMzNTFhMDkyYTJmMGFjZmMzZDQwM2Ew
YjdjY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXll
clRyZWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXll
clRyZWVBZ2VudC5oCkBAIC0yOSw4ICsyOSw2IEBACiAjaWZuZGVmIEluc3BlY3RvckxheWVyVHJl
ZUFnZW50X2gKICNkZWZpbmUgSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnRfaAogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgogI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oPgpAQCAtOTUsNiArOTMsNCBA
QCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnRf
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRl
eCBmZDJmY2RkNjgyMmNhYmE2YTM2ZTMyNDkyYWFiODU3NzY3M2Y4YzIyLi4yODJhMTYwMzc4NmM2
Mzc4MDVkMjIzM2IwN2UxNzY5OTkzYzc5NTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICNpbmNsdWRlICJJbnNwZWN0
b3JPdmVybGF5LmgiCiAKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgpAQCAtOTAzLDUgKzkw
MSwzIEBAIHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6ZnJlZVBhZ2UoKQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCA0YmQzMDQzMjBh
NzNmNGRkNWVmMTIwN2RkMjFlNWZlNWVkZjc1M2I4Li5mZDczM2Q2NTY3Zjc3OGE2ZDBiNGExZGY2
M2E2ODBjMDJmZDc0N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDYWNoZWRGb250
LmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAgLTEwNzQsNSArMTA3MiwzIEBAIHZvaWQg
SW5zcGVjdG9yUGFnZUFnZW50OjphcmNoaXZlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgU3Ry
aW5nKiBkYXRhKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VB
Z2VudC5oCmluZGV4IGJmMjY0YTdkMjhmMzEzM2ZkOWQyMmE2ZGU4MGY2ZDFjYjJiNDM5ZjYuLmJm
ZDU3NzUxNzcwY2U3NjBiZDdjY2QzODlhYTJiY2RkNTQwNTdlMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKQEAgLTMxLDggKzMxLDYgQEAKICNp
Zm5kZWYgSW5zcGVjdG9yUGFnZUFnZW50X2gKICNkZWZpbmUgSW5zcGVjdG9yUGFnZUFnZW50X2gK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JXZWJBZ2VudEJh
c2UuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgpAQCAt
MTkxLDYgKzE4OSw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JQ
YWdlckFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUmVwbGF5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJl
cGxheUFnZW50LmNwcAppbmRleCAwNjEwNWQ1MGNjZjgyYzNiZWI5M2Q0ZDU1NGRmYTQ0NDU3MzBj
MTFmLi42ZWNkN2MwZmJlZmI1MmQ2MGJlYjEyZWQxYmMyMjliMDlmMGZmOWRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKQEAgLTI4
LDcgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JSZXBs
YXlBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQl9SRVBMQVkp
CisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgog
I2luY2x1ZGUgIkV2ZW50LmgiCkBAIC01MDksNCArNTA5LDQgQEAgdm9pZCBJbnNwZWN0b3JSZXBs
YXlBZ2VudDo6Z2V0U2VnbWVudERhdGEoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBJbnNwZWN0
b3I6OlAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikgJiYgRU5BQkxFKFdFQl9SRVBMQVkpCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oCmlu
ZGV4IDExZjJhOTQxOWUyNGRlZTM5ZDI2MTdmNWQxZGQ2NWU1Y2I5MDk5MWYuLjM2MzJjNGY0MTNl
NGNmMmQwYzM0OWUyZmMyZTIzN2I1MWQwYzEyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oCkBAIC0yOCw3ICsyOCw3IEBACiAjaWZuZGVm
IEluc3BlY3RvclJlcGxheUFnZW50X2gKICNkZWZpbmUgSW5zcGVjdG9yUmVwbGF5QWdlbnRfaAog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQl9SRVBMQVkpCisjaWYgRU5BQkxF
KFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIKICNpbmNs
dWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmg+CkBAIC0xMjQsNiAr
MTI0LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQl9SRVBMQVkpCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9SRVBMQVkpCiAKICNlbmRpZiAvLyBJbnNwZWN0b3JSZXBsYXlBZ2VudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5k
ZXggNGNlZmU0YWY3YTdhMWY3OTYwOTIwNmE3YWQyYjMxOTlhYmI2Zjg2NS4uNWUxNjZiY2E4ODk4
MDE5M2Y3MWQzYmY3YjUzMDEyYjc3YTczYzE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtMzEsOCArMzEsNiBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5o
IgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaCIKQEAgLTc5Niw1ICs3OTQsMyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6
Om1haW5GcmFtZU5hdmlnYXRlZChEb2N1bWVudExvYWRlciYgbG9hZGVyKQogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKaW5kZXggNzAw
Y2YzNTg2NDAxYWQ5YTIzOGZiYzM1ZWYzNDVhYzA4YzcxMTM2Zi4uZTg0NjU5MWIxZDRmNTI5MTIz
MDI3YzBjYWE1YzY3Nzk1OTdkM2QxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCkBAIC0zOSw4ICszOSw2IEBACiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiBjbGFzcyBJbnNwZWN0b3JB
cnJheTsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKQEAgLTE1OSw2ICsxNTcsNCBAQCBwcml2YXRl
OgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudF9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCmluZGV4IGE0
M2EzMDRiMDA1OGM5ODJkMjJlZmZlNjdkNDFlZDdiY2E5MjhhMDkuLmFlMzdkNmRiNTlkN2Q3ZWRm
ZDRiYTJhN2QwNThhMTBhYjVhMzRlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKQEAgLTIzLDkgKzIzLDYgQEAKICAqLwogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5z
cGVjdG9yU3R5bGVTaGVldC5oIgogCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgpAQCAtMTU3
MSw1ICsxNTY4LDMgQEAgYm9vbCBJbnNwZWN0b3JTdHlsZVNoZWV0Rm9ySW5saW5lU3R5bGU6Omdl
dFN0eWxlQXR0cmlidXRlUmFuZ2VzKENTU1J1bGVTb3VyY2VEYXQKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5oCmluZGV4IDI3Mzg0Y2UwOTQ4OWI3
NTJmZTlkZjBiMTkyNTY2NDdmNmUzZTgzNWQuLmMyMmNkNzcxN2NlZTlkMDE1MDA4ZjExODYxNjAx
MmMwMjhjYTExZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JTdHlsZVNoZWV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0
eWxlU2hlZXQuaApAQCAtNTIsOCArNTIsNiBAQCBjbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JTdHlsZVNoZWV0OwogY2xhc3MgTm9kZTsKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogCiBjbGFzcyBJbnNwZWN0b3JD
U1NJZCB7CkBAIC0yOTEsOCArMjg5LDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIGJvb2wgbV9p
c1N0eWxlVGV4dFZhbGlkOwogfTsKIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclN0eWxlU2hlZXRfaCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAKaW5k
ZXggYjlmZjA5NjhmMmIwMzhkZGEyN2QzZjliYTVhYzk4ZmI1ODk1NjdiZS4uMjljYjFmZjAyMmFh
MzhhMDAyZTlkMTA4ZDc0YzViZTYzNzhjNGNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5jcHAKQEAgLTIzLDkgKzIzLDYg
QEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmgiCiAKICNpbmNsdWRlICJDU1NQ
cm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTI2Miw1ICsyNTksMyBAQCB2b2lkIEluc3BlY3RvclN0
eWxlVGV4dEVkaXRvcjo6aW50ZXJuYWxSZXBsYWNlUHJvcGVydHkoY29uc3QgSW5zcGVjdG9yU3R5
bGVQcm9wZQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clN0eWxlVGV4dEVkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0
eWxlVGV4dEVkaXRvci5oCmluZGV4IGQ3NTAyNTYxYjBhNWI5OWZkZTkyZTA4M2IzMDBhMTRjYWQ3
NWJmMzEuLjQ1YzE4YTJhZDBmYjk0NDliN2I1NTM4ZDc4MzU0MWQ4YzQ4MmU1YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVRleHRFZGl0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVUZXh0RWRpdG9yLmgK
QEAgLTMyLDggKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLQogc3RydWN0IEluc3BlY3RvclN0eWxlUHJvcGVydHk7CiBzdHJ1Y3QgU291cmNl
UmFuZ2U7CiAKQEAgLTYwLDggKzU4LDYgQEAgcHJpdmF0ZToKICAgICBjb25zdCBzdGQ6OnBhaXI8
U3RyaW5nLCBTdHJpbmc+IG1fZm9ybWF0OwogfTsKIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclN0eWxlVGV4dEVkaXRvcl9o
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwCmluZGV4IGEyN2E5NDY5OTY1ZDA2MWNkNDI2NzgwMmFmMTUwODA2ZDE3ZGNlZjYuLjgw
ZGIxOWQzNDk2M2ZiYWYzODYzNGIwOTMxN2VkYTI2MTQzYTU4YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTMwLDkg
KzMwLDYgQEAKICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCiAKICNpbmNsdWRlICJF
dmVudC5oIgpAQCAtNzA2LDUgKzcwMywzIEBAIFBhZ2UqIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OnBhZ2UoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKaW5kZXggMzc4ZjljODZkNzQzN2NhYjZhNjQxMzgyNGQ3NWYwM2RhOWMzMGVk
Ni4uZWE0NDg1YjMyZDMyY2Q2M2E3OWUyYWZhM2ZmNzg1ZmQxYWQ5YzYzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0zMiw4
ICszMiw2IEBACiAjaWZuZGVmIEluc3BlY3RvclRpbWVsaW5lQWdlbnRfaAogI2RlZmluZSBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIKICNpbmNsdWRlICJMYXlvdXRSZWN0LmgiCiAjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgpAQCAtMjUwLDUg
KzI0OCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
ICFFTkFCTEUoSU5TUEVDVE9SKQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclRpbWVsaW5l
QWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JX
b3JrZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2Vy
QWdlbnQuY3BwCmluZGV4IGNhNjllYjQ5MWExMTk3Y2ZhOWU0YWU3NTE5OTNkYWIyNTc2MTQyYWUu
LjNiYjE0MDNlYjBiZTY3NWY5ODk0MmU0MGM4OWU1NTI5YTQ3YjAxNzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApAQCAtMjksOSAr
MjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogCiAjaW5jbHVkZSAiSW5z
cGVjdG9yRm9yd2FyZGluZy5oIgpAQCAtMjQwLDUgKzIzNywzIEBAIHZvaWQgSW5zcGVjdG9yV29y
a2VyQWdlbnQ6OmNyZWF0ZVdvcmtlckZyb250ZW5kQ2hhbm5lbChXb3JrZXJHbG9iYWxTY29wZVBy
b3h5KiB3CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V29ya2VyUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJSZXNvdXJjZS5oCmluZGV4IGJmMTE2YjNhMDI2ODhlYWJlNTY3ODAzOWJjZWRlNmVhMDJiNzM1
NGQuLmY4YmVkNTI0YzJhNzIwN2JiYzg5MzUwMzM0MmQ3ZWE4MzY4MTUzZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oCkBAIC0z
MSw4ICszMSw2IEBACiAjaWZuZGVmIEluc3BlY3RvcldvcmtlclJlc291cmNlX2gKICNkZWZpbmUg
SW5zcGVjdG9yV29ya2VyUmVzb3VyY2VfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC02NSw2ICs2Myw0IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKaW5kZXggMzlmNzYwZTk4NjU1MWNhMDYwMWI2
MmMyYjIwZTBmYTE2YThlMmQ1Ni4uZWMwNDY0MjFiZjI2ZGQ3OGY0NGZjNmQ0Y2U2NmQwOWZiNjI1
NWRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdB
Z2VudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdl
bnRzLmNwcApAQCAtMzIsOCArMzIsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ikluc3RydW1lbnRpbmdBZ2VudHMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC05Niw1ICs5NCwzIEBAIHZvaWQgSW5zdHJ1bWVudGlu
Z0FnZW50czo6cmVzZXQoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3
b3JrUmVzb3VyY2VzRGF0YS5jcHAKaW5kZXggZTRhMjY2NDgxMmJmZmEyNWI1ZmZiM2E5MTM5MmJl
NjdhMjZmOWFmMC4uNTFlYzVmMjlhNjZmMDM3ODY0ZDBjMDVjOTU1OGQ2OTllYmUwNDEwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3Bw
CkBAIC0yNyw5ICsyNyw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNEYXRhLmgiCiAKICNp
bmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgpAQCAtMzgyLDUgKzM3OSwzIEBAIGJvb2wgTmV0d29y
a1Jlc291cmNlc0RhdGE6OmVuc3VyZUZyZWVTcGFjZShzaXplX3Qgc2l6ZSkKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKaW5kZXggNTM5Mzg4
NTY0ODE1YWM2ODIxNjRlNTczY2U2NDAyZTMzMzAxMWZjMC4uYjI2Y2I4Y2U5ZDQ3M2Y2Y2EzZDM2
ODdjYzY5NTM3YzA5NTUyMGRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05l
dHdvcmtSZXNvdXJjZXNEYXRhLmgKQEAgLTM5LDggKzM5LDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hl
ZFJlc291cmNlOwpAQCAtMTgzLDYgKzE4MSw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVm
aW5lZChOZXR3b3JrUmVzb3VyY2VzRGF0YV9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1BhZ2VDb25zb2xlQWdlbnQuY3BwCmluZGV4IDBhYThjNTc3ODljNWJiMDc3ZDU4NmI1MGQ3MGZh
YTE5ZGVlY2E2NTQuLmU3NTlhYTgwNTc2OTg1MGUzZjM5NTlmYzM0YzBjNWQ2NTEyN2RjMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHAKQEAgLTMx
LDggKzMxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUFn
ZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVB
UElIb3N0LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJOb2Rl
LmgiCkBAIC03OSw1ICs3NywzIEBAIHZvaWQgUGFnZUNvbnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVk
Tm9kZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGludCBub2RlSWQpCiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaAppbmRleCAyNWQ5YWYzOTY0OTI0MDVh
YzIzM2VlYjk0YTRkZDJmYTI3NGE4MTRmLi4zNmMzMGMyNGQ4MjYzYjgwMGYzZmIyNDlmMDY5YTY1
YmU5NDlhMDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNvbnNv
bGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlQ29uc29sZUFnZW50
LmgKQEAgLTMzLDggKzMzLDYgQEAKIAogI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnNw
ZWN0b3JET01BZ2VudDsKQEAgLTU2LDYgKzU0LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFk
ZWZpbmVkKFBhZ2VDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
UGFnZURlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IGQ1ZjE5ZDUzNTVkNjk2NDM3M2U3ZjllNTE2OGUy
NDIwODMzNWEzN2MuLjVlNWFkZDI5YzJiMjU5YzJhNTU5N2Y3OGY4YzQ0ODQ1YmIyMmY0NGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcApAQCAt
MzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBhZ2VEZWJ1Z2dl
ckFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ2FjaGVkUmVz
b3VyY2UuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yUGFnZUFnZW50LmgiCkBAIC0xNDYsNSArMTQ0LDMgQEAgdm9pZCBQYWdlRGVidWdnZXJBZ2Vu
dDo6ZGlkQ2xlYXJNYWluRnJhbWVXaW5kb3dPYmplY3QoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAppbmRleCA4MjI5OTllNWQxYTFkNDQxOTA5MWJi
M2VjMjNiYTgyMGU5YjkxY2UzLi41NDlmN2QzZmM2ZWI5MWYwOWYwM2Y3N2I1NWIxZmE1ODY1MGRm
YTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdl
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaApA
QCAtMzEsOCArMzEsNiBAQAogI2lmbmRlZiBQYWdlRGVidWdnZXJBZ2VudF9oCiAjZGVmaW5lIFBh
Z2VEZWJ1Z2dlckFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJQ
YWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCIKICNpbmNsdWRlICJXZWJEZWJ1Z2dlckFnZW50LmgiCiAK
QEAgLTc5LDYgKzc3LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VEZWJ1
Z2dlckFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1
bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2Vu
dC5jcHAKaW5kZXggMTFmYjJkNTU1Y2U5MGU0NWVlZWZlNDNiNTE4NjI0ZTUyMWIwNWYxOC4uN2E3
Yjc2MjQyNTlmYmNiNjI2OWYxMjVlOTZhZTVlMmE2ZDZiZTY1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBhZ2VSdW50aW1lQWdlbnQuaCIKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCkBAIC0xNzcsNSArMTc1LDMgQEAg
dm9pZCBQYWdlUnVudGltZUFnZW50Ojpub3RpZnlDb250ZXh0Q3JlYXRlZChjb25zdCBTdHJpbmcm
IGZyYW1lSWQsIEpTQzo6RXhlY1N0YXQKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZVJ1bnRpbWVBZ2VudC5oCmluZGV4IGM0MTJmYmNmNWVlN2Q2ZDg1M2Q5ZWI5ODkwZTc2ZGVlNzNi
OTgwZWEuLmY4MmNmYzAxMGM3MjY5MjNjZDM5M2M5NmI4MDMzZmY5NzI4OTM4OGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdlbnQuaApAQCAtMzEsOCArMzEsNiBA
QAogI2lmbmRlZiBQYWdlUnVudGltZUFnZW50X2gKICNkZWZpbmUgUGFnZVJ1bnRpbWVBZ2VudF9o
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclJ1bnRpbWVBZ2VudC5oPgogCkBAIC04Myw2ICs4MSw0IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JQYWdlckFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IDFkNTcwMzAyYjc2
ZTA0NzliYTYyMWFiYWM0NDAxMjA2OGE2ZmY3YzguLjk1OGNiZmU0OGFkMzdjYTA0NDkyMDcxNzQ2
OGY4MzZhZWMzYTM5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiUGFnZVNjcmlwdERlYnVnU2VydmVyLmgiCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIK
ICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKQEAgLTIwMCw1ICsxOTgsMyBAQCB2b2lkIFBhZ2VTY3Jp
cHREZWJ1Z1NlcnZlcjo6c2V0SmF2YVNjcmlwdFBhdXNlZChGcmFtZVZpZXcqIHZpZXcsIGJvb2wg
cGF1c2VkKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VTY3Jp
cHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VTY3JpcHREZWJ1
Z1NlcnZlci5oCmluZGV4IGE4ZmQzYzMxNTdkMDM4ZjFlNjM1MWY2M2NhYjBkNDIyZjFhNTNhMzQu
LjczZDE2MDdiNzJlOTkxMjkzYmY0ZDIwN2JmMWM2NTM4YzUwN2Y0ZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVNjcmlwdERlYnVnU2VydmVyLmgKQEAgLTI3LDggKzI3
LDYgQEAKICNpZm5kZWYgUGFnZVNjcmlwdERlYnVnU2VydmVyX2gKICNkZWZpbmUgUGFnZVNjcmlw
dERlYnVnU2VydmVyX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBA
IC03MSw2ICs2OSw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBQYWdlU2NyaXB0RGVidWdTZXJ2
ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0
b3J5LmNwcAppbmRleCBiYjEwMzAxNmMxM2I3MjMxZjIwZDNjMzQyZjZkMTE0MzJjN2U5OGNmLi5m
NzA2MzAxOTE0NTQ3ZTdkZjk4ZDVjMzBhMDZlMmQxZjU4MTM4Nzg2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApAQCAtMzAsOSAr
MzAsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJUaW1lbGluZVJlY29yZEZhY3RvcnkuaCIKIAogI2luY2x1ZGUgIkV2
ZW50LmgiCkBAIC0yNjcsNSArMjY0LDMgQEAgdm9pZCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFw
cGVuZFByb2ZpbGUoSW5zcGVjdG9yT2JqZWN0KiBkYXRhLCBSZWZQdHI8SlNDOjpQcm8KIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAKaW5kZXggZTBhODA5
ODgyYTJkODdhZmZkMTBmMmQyZWY2NjIxNzk5MGZjN2M0NC4uNDcwMDU4ZWU0M2U5MmI5NTI1MDQ5
MWU5YThhZjUzZmU2MjQ1MjY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1dlYkNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNv
bnNvbGVBZ2VudC5jcHAKQEAgLTI3LDggKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCkBAIC0xMTEsNSArMTA5LDMgQEAgdm9pZCBXZWJDb25z
b2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIs
IGNvbnN0IFJlc28KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJD
b25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQu
aAppbmRleCAyODFiOWI4YmRjMDc4ODJhYTEwMmM5YjBmYWExZjBlN2E5MjI1NzM1Li5jYWYxYjFk
ZWE1NDExOTI5NTliNzEyYTNkMGJmNmVkOWMxMDFmOTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFdlYkNv
bnNvbGVBZ2VudF9oCiAjZGVmaW5lIFdlYkNvbnNvbGVBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdl
bnQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTksNiArNTcsNCBAQCBwcm90ZWN0ZWQ6
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
Ci0KICNlbmRpZiAvLyAhZGVmaW5lZChXZWJDb25zb2xlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50LmNwcAppbmRleCA1N2QyMTc0NGNjN2ZjOThm
OTcwMTNkMDE5OWYzMzQyYzA3ODdlZDY3Li5kZDY5ZTVmM2YxNDI0ZmM4YzNlNTQ2ZGVlMmEyZjdm
OWI2NWQ5OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViRGVidWdn
ZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdl
bnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V2ViRGVidWdnZXJBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUg
Ikluc3RydW1lbnRpbmdBZ2VudHMuaCIKIAogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKQEAg
LTUzLDUgKzUxLDMgQEAgdm9pZCBXZWJEZWJ1Z2dlckFnZW50OjpkaXNhYmxlKGJvb2wgaXNCZWlu
Z0Rlc3Ryb3llZCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJE
ZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViRGVidWdnZXJBZ2Vu
dC5oCmluZGV4IDBlNDI1ZWE3ZjU1NmJhYTg0MDc3ODhmNmFlNTMxNWExYjYxZjA0ZGIuLjA3NDE2
NjIxNjFkY2MxNTViZDEyOTFkZWI2YTg1MzRlYzRiOTNkYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdlbnQuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBX
ZWJEZWJ1Z2dlckFnZW50X2gKICNkZWZpbmUgV2ViRGVidWdnZXJBZ2VudF9oCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDYgKzQ5LDQgQEAgcHJv
dGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoV2ViRGVidWdnZXJBZ2VudF9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0SG9zdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAppbmRl
eCBlNGIzNTllOTIzMTg1MTRmMmFlZmViYWEwZGJkNjg4MDc4OTdkY2JlLi41NWY3YTZkYTIyMmI4
Yjc4MDI2N2EyNmU5MjQ1N2Q0NWIzMDUyZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkluamVjdGVkU2NyaXB0SG9zdC5oIgogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlYWRlcnMuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25JbnRlcmZhY2VzLmgiCiAjaW5jbHVkZSAiSlNIVE1MQWxsQ29sbGVj
dGlvbi5oIgpAQCAtNjMsNSArNjEsMyBAQCBib29sIFdlYkluamVjdGVkU2NyaXB0SG9zdDo6aXNI
VE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUgdmFsdWUpCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmgKaW5kZXggMzlkNzA2MTQ1NzE5
MjM4ZWZlMTdlMzI4MmVlYTEzMmI4NDYxOTZlNy4uNjNhNzI0ZDA0MmE5ZTViOGI4NzMyYTY2NTIx
YzA5ZjM2YzM0ZDc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYklu
amVjdGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmpl
Y3RlZFNjcmlwdEhvc3QuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJJbmplY3RlZFNj
cmlwdEhvc3RfaAogI2RlZmluZSBXZWJJbmplY3RlZFNjcmlwdEhvc3RfaAogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNiArNDAsNCBAQCBwdWJsaWM6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyAhZGVmaW5lZChXZWJJbmplY3RlZFNjcmlwdEhvc3RfaCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKaW5kZXggNWIw
OGQ0NDY0MmYxN2NiZDcwOWNmMDA4ZGFjOWMwNGU4NGFhZTUxNC4uOWY0YWY0MjY5M2VjNTc1OTUz
MTMzOTQ0NjBiMTkwNWRmZTBhZDU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJDb21tYW5kTGluZUFQSU1vZHVs
ZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKQEAgLTg0LDUgKzgyLDMgQEAgdm9pZCBX
ZWJJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJbmplY3RlZFNjcmlwdHNGb3IoRE9NV2lu
ZG93KiB3aW5kb3cpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2Vi
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggNjU2MTE2NjQwMzZkNGE5NWI5NzU2ZmMzN2IzMjNm
NTdjYTU5MzE2Ni4uZThmYzQ1MjJhYjEyMTlhN2EzMDU1NDNhZGQ5MjMxYTk4ZmYwYTA2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXJf
aAogI2RlZmluZSBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXJfaAogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJSG9zdC5oIgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBA
IC01Niw2ICs1NCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChXZWJJbmplY3Rl
ZFNjcmlwdE1hbmFnZXJfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9X
b3JrZXJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNv
bnNvbGVBZ2VudC5jcHAKaW5kZXggYmIzMGFmN2EzNjNiZGRlZWMyY2FhZGNiYjc2MjBjNGY2OTg5
NGQxZC4uZGMxY2I3OWRiMGIwOWJiN2NlZjViOTA4ZDU1MWY3MGMzMDUwOGQ3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKQEAgLTI5LDkg
KzI5LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUFnZW50LmgiCiAKIHVzaW5nIG5hbWVzcGFj
ZSBJbnNwZWN0b3I7CkBAIC00OSw1ICs0NiwzIEBAIHZvaWQgV29ya2VyQ29uc29sZUFnZW50Ojph
ZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nJiBlcnJvciwgaW50KQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5oCmluZGV4IGYwZjFiNDU5NmNhNWIw
NzE3MzgwOTdmNWZmMmVjNWUxMzg0NWUzNmMuLjg4OTdiNTBkZTA1OGZiYjJjYmZlNDkyNmMzNTk5
MmZiNTI4OGViZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJD
b25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyQ29uc29s
ZUFnZW50LmgKQEAgLTMzLDggKzMzLDYgQEAKIAogI2luY2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5o
IgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBXb3JrZXJDb25zb2xlQWdlbnQgZmluYWwgOiBwdWJsaWMgV2ViQ29uc29sZUFnZW50IHsKQEAg
LTUyLDYgKzUwLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKFdvcmtlckNvbnNv
bGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRl
YnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2Vy
QWdlbnQuY3BwCmluZGV4IGQzNjlkN2M2ZDQzYzc4OWEzNzY5MDhmZjIzMzY3MmE1ZWQ0ZjViYTUu
LjIyNWQ1NTNlOGJkZDgxZmNmYWI3YWFjZjY0Y2Q1MGFkNTAyODQyYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5jcHAKQEAgLTMxLDggKzMx
LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50
LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2Nv
cGUuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHQuaD4KQEAgLTE1OSw1ICsxNTcsMyBAQCB2b2lkIFdvcmtlckRlYnVnZ2VyQWdl
bnQ6OnVubXV0ZUNvbnNvbGUoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJEZWJ1Z2dlckFnZW50LmgKaW5kZXggY2NiZGFhNDI3Nzk3Y2NmMWZjZWYxMTUzMDkyOTkyMGZh
YWQzNWMwZC4uZDg3OWQxODlhMWZmZjA0MGNjZmRiOGUyMTZhYjlhNDA3NTg5MThjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXJBZ2VudC5oCkBAIC0zMSw4
ICszMSw2IEBACiAjaWZuZGVmIFdvcmtlckRlYnVnZ2VyQWdlbnRfaAogI2RlZmluZSBXb3JrZXJE
ZWJ1Z2dlckFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJXZWJE
ZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaCIKIApA
QCAtNjcsNiArNjUsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoV29ya2VyRGVi
dWdnZXJBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDA0YzhiZWI3Y2RjY2VmZjQzNWI2OGU4MmVh
OWU2MzdkNTM5ZTdiZTEuLjc3N2NmNzIzM2FkNzJlNDI2ZjE4YjQ4MGZmYmU3ZDI5OGQxNGVjZWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKQEAgLTI5LDkgKzI5LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmln
LmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiV29ya2VySW5zcGVjdG9y
Q29udHJvbGxlci5oIgogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCkBAIC0xNzYs
NSArMTczLDMgQEAgUmVmPFN0b3B3YXRjaD4gV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6ZXhl
Y3V0aW9uU3RvcHdhdGNoKCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
V29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGU5NDgyM2M3YmNjMjIxNTU2MWFiZDYz
OWJkNDM5ZTNhN2ZiMmQ4YWEuLmY4Nzc5NDM3ODM5M2EzMWQzMjBiYTQ0ZTIyODliMzM1NjE0NWYy
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3Rv
ckNvbnRyb2xsZXIuaApAQCAtMzEsOCArMzEsNiBAQAogI2lmbmRlZiBXb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyX2gKICNkZWZpbmUgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcl9oCiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgiCiAjaW5jbHVkZSA8aW5z
cGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaD4KQEAgLTkyLDYgKzkwLDQgQEAgcHJpdmF0
ZToKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZp
bmVkKFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXJfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggMjFkNDMwMWI2MWE3N2VlM2E4MzRm
YjE3NGJkZWU4ZWUyNDhmODRjYy4uNzY5MDQ5ZTMyMmY1YTY1OTk0M2FhNjcwYjAyYmQ5MjUzMmQz
Yjc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2Vu
dC5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJX
b3JrZXJSdW50aW1lQWdlbnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3dCYXNlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKQEAgLTEwOCw1ICsxMDYsMyBAQCB2b2lkIFdvcmtlclJ1
bnRpbWVBZ2VudDo6cGF1c2VXb3JrZXJHbG9iYWxTY29wZShXb3JrZXJHbG9iYWxTY29wZSogY29u
dGV4dCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50
aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQu
aAppbmRleCBjYjgyYzNiYzc3NTIwMTBhZTU5YTczN2QyNGVkY2MyZDcxYTBhNGVhLi44MTRjNjZk
NmJjOWQ0NjE4MzE5MTRhOWJmYjQxZTI4ODJlMWMwZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVm
IFdvcmtlclJ1bnRpbWVBZ2VudF9oCiAjZGVmaW5lIFdvcmtlclJ1bnRpbWVBZ2VudF9oCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjQsNiArNjIsNCBA
QCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUGFnZXJBZ2VudF9oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cAppbmRleCAzMjI5Nzc4NjMxMDA0ZmIxYmI5MjBiOWJhYTcyYzQ1YjllNWUzMzU3Li5hNzM3MTgy
NDYzOTY2ODkwZjllZDg4OWFiOTY5Yjk3NzNlYWQxNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNDAsNiArNDAsNyBA
QAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIu
aCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0
LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKQEAgLTQ5LDEwICs1MCw2IEBACiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgotI2VuZGlmCi0KIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCkBAIC0yNDEsMTEgKzIzOCw5IEBAIHZvaWQg
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zCiAKICAgICBTdHJpbmcgYWNjZXNzQ29udHJvbEVycm9yRGVzY3Jp
cHRpb247CiAgICAgaWYgKG1fYWN0dWFsUmVxdWVzdCkgewotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAgICAgICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSBtX2RvY3VtZW50LmZyYW1lKCktPmxv
YWRlcigpLmRvY3VtZW50TG9hZGVyKCk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZWNlaXZlUmVz
b3VyY2VSZXNwb25zZShtX2RvY3VtZW50LmZyYW1lKCkpOwogICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKGNvb2tpZSwgaWRlbnRpZmll
ciwgbG9hZGVyLCByZXNwb25zZSwgMCk7Ci0jZW5kaWYKIAogICAgICAgICBpZiAoIXBhc3Nlc0Fj
Y2Vzc0NvbnRyb2xDaGVjayhyZXNwb25zZSwgbV9vcHRpb25zLmFsbG93Q3JlZGVudGlhbHMoKSwg
c2VjdXJpdHlPcmlnaW4oKSwgYWNjZXNzQ29udHJvbEVycm9yRGVzY3JpcHRpb24pKSB7CiAgICAg
ICAgICAgICBwcmVmbGlnaHRGYWlsdXJlKGlkZW50aWZpZXIsIHJlc3BvbnNlLnVybCgpLCBhY2Nl
c3NDb250cm9sRXJyb3JEZXNjcmlwdGlvbik7CkBAIC0zNzMsMTIgKzM2OCwxMCBAQCB2b2lkIERv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBTZWN1cgogICAgICAgICBBU1NFUlQoIW1fcmVzb3VyY2UpOwogICAgICAgICBt
X3Jlc291cmNlID0gbV9kb2N1bWVudC5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3
UmVzb3VyY2UobmV3UmVxdWVzdCk7CiAgICAgICAgIGlmIChtX3Jlc291cmNlKSB7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICAgICAgICAgIGlmIChtX3Jlc291cmNlLT5sb2FkZXIoKSkgewog
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciA9IG1fcmVzb3VyY2UtPmxv
YWRlcigpLT5pZGVudGlmaWVyKCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkb2N1bWVudFRocmVhZGFibGVMb2FkZXJTdGFydGVkTG9hZGluZ0ZvckNsaWVudCht
X2RvY3VtZW50LCBpZGVudGlmaWVyLCBtX2NsaWVudCk7CiAgICAgICAgICAgICB9Ci0jZW5kaWYK
ICAgICAgICAgICAgIG1fcmVzb3VyY2UtPmFkZENsaWVudCh0aGlzKTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA3MDBj
ZjU0ZjFhZGFjZGM5ODllZjY4YWE3MDg5Mjg5YTZjNmMyYTUxLi5mMGQzMWY2ODg2MzlmMTc3NWUy
MzQzNjEzZTE2MmRmMjAxZmYxMTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKQEAgLTI5NDQsMTIgKzI5NDQsMTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2Fk
QWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWUKICAgICBp
ZiAoIW1fZnJhbWUucGFnZSgpKQogICAgICAgICByZXR1cm47CiAKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS5wYWdlKCkpIHsKICAgICAgICAgaWYg
KG1fZnJhbWUuaXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKS5yZXN1bWUoKTsKICAgICB9Ci0jZW5kaWYKIAogICAgIHNldFByb3Zpc2lvbmFsRG9j
dW1lbnRMb2FkZXIobV9wb2xpY3lEb2N1bWVudExvYWRlci5nZXQoKSk7CiAgICAgbV9sb2FkVHlw
ZSA9IHR5cGU7CkBAIC0zMzE4LDEwICszMzE2LDggQEAgdm9pZCBGcmFtZUxvYWRlcjo6ZGlzcGF0
Y2hEaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkKIAog
ICAgIG1fY2xpZW50LmRpc3BhdGNoRGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKHdvcmxkKTsK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBh
Z2UoKSkKICAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLmRpZENsZWFyV2luZG93
T2JqZWN0SW5Xb3JsZChtX2ZyYW1lLCB3b3JsZCk7Ci0jZW5kaWYKIAogICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKG1fZnJhbWUsIHdvcmxk
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxp
Y2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggOTFiMGQ5Nzg1NzkzYzQzM2IzOTMwZWFmYzY2NzVl
ZmQzMWFjMWJlNC4uNDlhNWNjMjFiMGVhNjM0MTdlMjg3Yzg0YTljNGUzM2EwMWQwODI0ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVH
cm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5jcHAKQEAgLTQxLDE2ICs0MSwxMyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIk1hbmlmZXN0UGFyc2VyLmgiCiAjaW5jbHVkZSAi
UGFnZS5oIgorI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0jaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgi
Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6
OkFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBVUkwmIG1hbmlmZXN0VVJMLCBib29sIGlzQ29w
eSkKQEAgLTQ4OSwyOSArNDg2LDI2IEBAIFBhc3NSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cDo6Y3JlYXRlUmVzb3VyY2VIYW5kbGUoY29uc3QgVVJMCiAgICAgfQog
CiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3Jl
YXRlKG1fZnJhbWUtPmxvYWRlcigpLm5ldHdvcmtpbmdDb250ZXh0KCksIHJlcXVlc3QsIHRoaXMs
IGZhbHNlLCB0cnVlKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAgICAgLy8gQmVjYXVzZSB3
aWxsU2VuZFJlcXVlc3Qgb25seSBnZXRzIGNhbGxlZCBkdXJpbmcgcmVkaXJlY3RzLCB3ZSBpbml0
aWFsaXplCiAgICAgLy8gdGhlIGlkZW50aWZpZXIgYW5kIHRoZSBmaXJzdCB3aWxsU2VuZFJlcXVl
c3QgaGVyZS4KICAgICBtX2N1cnJlbnRSZXNvdXJjZUlkZW50aWZpZXIgPSBtX2ZyYW1lLT5wYWdl
KCktPnByb2dyZXNzKCkuY3JlYXRlVW5pcXVlSWRlbnRpZmllcigpOwogICAgIFJlc291cmNlUmVz
cG9uc2UgcmVkaXJlY3RSZXNwb25zZSA9IFJlc291cmNlUmVzcG9uc2UoKTsKICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kUmVxdWVzdChtX2ZyYW1lLCBtX2N1cnJlbnRSZXNv
dXJjZUlkZW50aWZpZXIsIG1fZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCksIHJlcXVl
c3QsIHJlZGlyZWN0UmVzcG9uc2UpOwotI2VuZGlmCiAgICAgcmV0dXJuIGhhbmRsZTsKIH0KIAog
dm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIgPSAoaGFuZGxlID09
IG1fbWFuaWZlc3RIYW5kbGUpID8gbnVsbHB0ciA6IG1fZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50
TG9hZGVyKCk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKG1fZnJh
bWUpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291cmNlUmVz
cG9uc2UoY29va2llLCBtX2N1cnJlbnRSZXNvdXJjZUlkZW50aWZpZXIsIGxvYWRlciwgcmVzcG9u
c2UsIDApOwotI2VuZGlmCiAKICAgICBpZiAoaGFuZGxlID09IG1fbWFuaWZlc3RIYW5kbGUpIHsK
ICAgICAgICAgZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9uc2UocmVzcG9uc2UpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQotICAgIAorCiAgICAgQVNTRVJUKGhhbmRsZSA9PSBtX2N1cnJlbnRIYW5k
bGUpOwogCiAgICAgVVJMIHVybChoYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9z
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhv
c3QuY3BwCmluZGV4IDQ5MzQ0NThlMzg4NjRiOGJjMzk3OTI5MDZjMTdlN2Y2M2RhYzZmZDcuLjFm
MzZhOTVkZWVlY2UzYjU1Yjg4N2M4MTY3NThkYTU1NTNjYzhkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcApA
QCAtMjc5LDcgKzI3OSw2IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZUhvc3Q6OnN0b3BEZWZlcnJp
bmdFdmVudHMoKQogICAgIG1fZGVmZXJzRXZlbnRzID0gZmFsc2U7CiB9CiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogdm9pZCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6ZmlsbFJlc291cmNlTGlzdChS
ZXNvdXJjZUluZm9MaXN0KiByZXNvdXJjZXMpCiB7CiAgICAgQXBwbGljYXRpb25DYWNoZSogY2Fj
aGUgPSBhcHBsaWNhdGlvbkNhY2hlKCk7CkBAIC0yOTksMTcgKzI5OCwxNiBAQCB2b2lkIEFwcGxp
Y2F0aW9uQ2FjaGVIb3N0OjpmaWxsUmVzb3VyY2VMaXN0KFJlc291cmNlSW5mb0xpc3QqIHJlc291
cmNlcykKICAgICAgICAgcmVzb3VyY2VzLT5hcHBlbmQoUmVzb3VyY2VJbmZvKHJlc291cmNlLT51
cmwoKSwgaXNNYXN0ZXIsIGlzTWFuaWZlc3QsIGlzRmFsbGJhY2ssIGlzRm9yZWlnbiwgaXNFeHBs
aWNpdCwgcmVzb3VyY2UtPmVzdGltYXRlZFNpemVJblN0b3JhZ2UoKSkpOwogICAgIH0KIH0KLSAK
KwogQXBwbGljYXRpb25DYWNoZUhvc3Q6OkNhY2hlSW5mbyBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6
YXBwbGljYXRpb25DYWNoZUluZm8oKQogewogICAgIEFwcGxpY2F0aW9uQ2FjaGUqIGNhY2hlID0g
YXBwbGljYXRpb25DYWNoZSgpOwogICAgIGlmICghY2FjaGUgfHwgIWNhY2hlLT5pc0NvbXBsZXRl
KCkpCiAgICAgICAgIHJldHVybiBDYWNoZUluZm8oVVJMKCksIDAsIDAsIDApOwotICAKKwogICAg
IC8vIEZJWE1FOiBBZGQgIkNyZWF0aW9uIFRpbWUiIGFuZCAiVXBkYXRlIFRpbWUiIHRvIEFwcGxp
Y2F0aW9uIENhY2hlcy4KICAgICByZXR1cm4gQ2FjaGVJbmZvKGNhY2hlLT5tYW5pZmVzdFJlc291
cmNlKCktPnVybCgpLCAwLCAwLCBjYWNoZS0+ZXN0aW1hdGVkU2l6ZUluU3RvcmFnZSgpKTsKIH0K
LSNlbmRpZgogCiB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OjpkaXNwYXRjaERPTUV2ZW50KEV2
ZW50SUQgaWQsIGludCB0b3RhbCwgaW50IGRvbmUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDNkZGY2OTQx
NTEzY2VlZmE4NTkzZjZlOTNjZDFiZTgwODJkYWVjM2MuLjQ1YmYwNWI3OTQyZTFhNDJmOGVmMTBj
NTIxOGFhOGZmYmY0NGJhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCkBAIC03NSw3ICs3NSw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgICAgIE9CU09MRVRFX0VWRU5UICAvLyBNdXN0IHJlbWFpbiB0
aGUgbGFzdCB2YWx1ZSwgdGhpcyBpcyB1c2VkIHRvIHNpemUgYXJyYXlzLgogICAgICAgICB9Owog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgc3RydWN0IENhY2hlSW5mbyB7CiAgICAg
ICAgICAgICBDYWNoZUluZm8oY29uc3QgVVJMJiBtYW5pZmVzdCwgZG91YmxlIGNyZWF0aW9uVGlt
ZSwgZG91YmxlIHVwZGF0ZVRpbWUsIGxvbmcgbG9uZyBzaXplKQogICAgICAgICAgICAgICAgIDog
bV9tYW5pZmVzdChtYW5pZmVzdCkKQEAgLTEwNyw3ICsxMDYsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIH07CiAKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8UmVzb3VyY2VJbmZvPiBS
ZXNvdXJjZUluZm9MaXN0OwotI2VuZGlmCiAKICAgICAgICAgZXhwbGljaXQgQXBwbGljYXRpb25D
YWNoZUhvc3QoRG9jdW1lbnRMb2FkZXImKTsKICAgICAgICAgfkFwcGxpY2F0aW9uQ2FjaGVIb3N0
KCk7CkBAIC0xNDQsMTAgKzE0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2
b2lkIHN0b3BEZWZlcnJpbmdFdmVudHMoKTsgLy8gQWxzbyByYWlzZXMgdGhlIGV2ZW50cyB0aGF0
IGhhdmUgYmVlbiBxdWV1ZWQgdXAuCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICB2
b2lkIGZpbGxSZXNvdXJjZUxpc3QoUmVzb3VyY2VJbmZvTGlzdCopOwogICAgICAgICBDYWNoZUlu
Zm8gYXBwbGljYXRpb25DYWNoZUluZm8oKTsKLSNlbmRpZgogCiAgICAgICAgIGJvb2wgc2hvdWxk
TG9hZFJlc291cmNlRnJvbUFwcGxpY2F0aW9uQ2FjaGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
QXBwbGljYXRpb25DYWNoZVJlc291cmNlKiYpOwogICAgICAgICBib29sIGdldEFwcGxpY2F0aW9u
Q2FjaGVGYWxsYmFja1Jlc291cmNlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIEFwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZSomLCBBcHBsaWNhdGlvbkNhY2hlKiA9IDApOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZGE4
NzE1MWM3OWUyYzViOTJhZDgyN2I3OTkzMmNmMWJmNDg4NGQ5Ny4uN2I3NGM5YWIyOGIwZDY0OTAz
YzZjNjQ5YjUyNDhiMzJlZTMzNDgwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00MjYsMTQgKzQyNiwxMCBAQCBi
b29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpzaG91bGRDb250aW51ZUFmdGVyTm90aWZ5aW5nTG9h
ZGVkRnJvbU1lbW9yeUNhY2hlKGNvbgogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIFJlc291
cmNlUmVxdWVzdCBuZXdSZXF1ZXN0ID0gUmVzb3VyY2VSZXF1ZXN0KHJlc291cmNlLT51cmwoKSk7
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3Qo
KS5oaWRkZW5Gcm9tSW5zcGVjdG9yKCkpCiAgICAgICAgIG5ld1JlcXVlc3Quc2V0SGlkZGVuRnJv
bUluc3BlY3Rvcih0cnVlKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHJlcXVlc3QpOwotI2Vu
ZGlmCiAgICAgZnJhbWUoKS0+bG9hZGVyKCkubG9hZGVkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUo
cmVzb3VyY2UsIG5ld1JlcXVlc3QpOwotICAgIAorCiAgICAgLy8gRklYTUUgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvMTEzMjUxPjogSWYgdGhlIGRlbGVnYXRlIG1vZGlmaWVzIHRoZSByZXF1ZXN0J3MK
ICAgICAvLyBVUkwsIGl0IGlzIG5vIGxvbmdlciBhcHByb3ByaWF0ZSB0byB1c2UgdGhpcyBDYWNo
ZWRSZXNvdXJjZS4KICAgICByZXR1cm4gIW5ld1JlcXVlc3QuaXNOdWxsKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggN2VhODE5N2Q2YzI2
YTI2ZmQyNjIzMDViNTRmNGM0ZTkzYjE2NWY2Ny4uOTIyNGVlZWVhZGRjMmViMGFkMmQyMzYwNmQw
ZDAwNTdmMzdjNmEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcApAQCAtMTc4LDEwICsxNzgsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4dE1l
bnU+IENvbnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVDb250ZXh0TWVudShFdmVudAog
CiB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50KiBldmVu
dCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChtX3BhZ2UuaW5zcGVjdG9yQ29u
dHJvbGxlcigpLmVuYWJsZWQoKSkKICAgICAgICAgYWRkSW5zcGVjdEVsZW1lbnRJdGVtKCk7Ci0j
ZW5kaWYKIAogI2lmIFVTRShDUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTKQogICAgIG1fY29u
dGV4dE1lbnUgPSBtX2NsaWVudC5jdXN0b21pemVNZW51KFdURjo6bW92ZShtX2NvbnRleHRNZW51
KSk7CkBAIC01MjEsMTIgKzUxOSwxMCBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgICAgICBmcmFt
ZS0+ZWRpdG9yKCkudG9nZ2xlQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uKCk7CiAgICAgICAg
IGJyZWFrOwogI2VuZGlmCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgogICAgICAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1l
LT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkuaW5zcGVj
dChtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLmlubmVyTm9uU2hhcmVkTm9kZSgpKTsKICAgICAg
ICAgYnJlYWs7Ci0jZW5kaWYKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFs
dGVybmF0aXZlOgogICAgICAgICBmcmFtZS0+ZWRpdG9yKCkuYXBwbHlEaWN0YXRpb25BbHRlcm5h
dGl2ZWx0ZXJuYXRpdmUoaXRlbS0+dGl0bGUoKSk7CiAgICAgICAgIGJyZWFrOwpAQCAtOTE5LDkg
KzkxNSw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAg
ICAgICAgICAgYXBwZW5kSXRlbShTcGVlY2hNZW51SXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7
CiAjZW5kaWYgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICB9IGVsc2UgewotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgICAgICAgICAgICAgaWYgKCEoZnJhbWUtPnBhZ2UoKSAmJiAoZnJh
bWUtPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLmhhc0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50KCkgfHwgZnJhbWUtPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLmhhc1JlbW90ZUZy
b250ZW5kKCkpKSkgewotI2VuZGlmCiAKICAgICAgICAgICAgICAgICAvLyBJbiBHVEsrIHVuYXZh
aWxhYmxlIGl0ZW1zIGFyZSBub3QgaGlkZGVuIGJ1dCBpbnNlbnNpdGl2ZS4KICNpZiBQTEFURk9S
TShHVEspCkBAIC05NDMsOSArOTM3LDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBv
cHVsYXRlKCkKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGFwcGVu
ZEl0ZW0oUmVsb2FkSXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgICAgICAgICAgICAgIH0KLSNlbmRpZgogCiAgICAgICAgICAgICAg
ICAgaWYgKGZyYW1lLT5wYWdlKCkgJiYgIWZyYW1lLT5pc01haW5GcmFtZSgpKQogICAgICAgICAg
ICAgICAgICAgICBhcHBlbmRJdGVtKE9wZW5GcmFtZUl0ZW0sIG1fY29udGV4dE1lbnUuZ2V0KCkp
OwpAQCAtMTExMyw3ICsxMTA1LDYgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVs
YXRlKCkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9pZCBDb250ZXh0TWVu
dUNvbnRyb2xsZXI6OmFkZEluc3BlY3RFbGVtZW50SXRlbSgpCiB7CiAgICAgTm9kZSogbm9kZSA9
IG1fY29udGV4dC5oaXRUZXN0UmVzdWx0KCkuaW5uZXJOb25TaGFyZWROb2RlKCk7CkBAIC0xMTM3
LDcgKzExMjgsNiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6YWRkSW5zcGVjdEVsZW1l
bnRJdGVtKCkKICAgICAgICAgYXBwZW5kSXRlbSgqc2VwYXJhdG9ySXRlbSgpLCBtX2NvbnRleHRN
ZW51LmdldCgpKTsKICAgICBhcHBlbmRJdGVtKEluc3BlY3RFbGVtZW50SXRlbSwgbV9jb250ZXh0
TWVudS5nZXQoKSk7CiB9Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAogdm9pZCBDb250
ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibGVJZk5lZWRlZChDb250ZXh0TWVudUl0ZW0m
IGl0ZW0pIGNvbnN0CiB7CkBAIC0xNDA0LDkgKzEzOTQsNyBAQCB2b2lkIENvbnRleHRNZW51Q29u
dHJvbGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkKENvbnRleHRNZW51SXRlbSYgaXRlbSkgY29u
c3QKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTWVudToKICAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nOgogICAg
ICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzU2Nyb2xsaW5nOgotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnSW5zcGVj
dEVsZW1lbnQ6Ci0jZW5kaWYKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9t
VGFnOgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbUN1c3RvbVRhZ05vQWN0aW9uOgogICAg
ICAgICBjYXNlIENvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWc6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggMmQ5ODI2MjViNjVlN2UyMjljOTgyYjNkYjY2NTIwNzY2NDBmZjBhOC4u
NzY4YThhZDNlZjcwMWE2NTQ3NGY4OGYxMmQ5YWQwODlhNzBjYTcxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMzAxNywxNCArMzAxNywxMiBAQCB2b2lkIEZyYW1lVmlldzo6c2Vu
ZFJlc2l6ZUV2ZW50SWZOZWVkZWQoKQogICAgICAgICBmcmFtZSgpLmRvY3VtZW50KCktPmVucXVl
dWVXaW5kb3dFdmVudChyZXNpemVFdmVudC5yZWxlYXNlKCkpOwogICAgIH0KIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRl
bmRzKCkgJiYgaXNNYWluRnJhbWUpIHsKICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZSgp
LnBhZ2UoKSkgewogICAgICAgICAgICAgaWYgKEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xp
ZW50ID0gcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLmluc3BlY3RvckNsaWVudCgpKQogICAg
ICAgICAgICAgICAgIGluc3BlY3RvckNsaWVudC0+ZGlkUmVzaXplTWFpbkZyYW1lKCZmcmFtZSgp
KTsKICAgICAgICAgfQogICAgIH0KLSNlbmRpZgogfQogCiB2b2lkIEZyYW1lVmlldzo6d2lsbFN0
YXJ0TGl2ZVJlc2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCAxYzkyYWI3NDBmMjhkMzFkN2I0
NGY5NzZlMDY1YzNjMmJiNTQwMzgzLi44YzMxOGIyZmJkOWNjZDU4NWUzOWM4Y2ZkOWM5MGM3MmQ1
YTgzYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTE0MSw5ICsxNDEsNyBAQCBQYWdlOjpQYWdl
KFBhZ2VDb25maWd1cmF0aW9uJiBwYWdlQ29uZmlndXJhdGlvbikKICNpZiBFTkFCTEUoV0VCX1JF
UExBWSkKICAgICAsIG1fcmVwbGF5Q29udHJvbGxlcihzdGQ6Om1ha2VfdW5pcXVlPFJlcGxheUNv
bnRyb2xsZXI+KCp0aGlzKSkKICNlbmRpZgotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLCBt
X2luc3BlY3RvckNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JDb250cm9sbGVy
PigqdGhpcywgcGFnZUNvbmZpZ3VyYXRpb24uaW5zcGVjdG9yQ2xpZW50KSkKLSNlbmRpZgogI2lm
IEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgLCBtX3BvaW50ZXJMb2NrQ29udHJvbGxlcihzdGQ6
Om1ha2VfdW5pcXVlPFBvaW50ZXJMb2NrQ29udHJvbGxlcj4oKnRoaXMpKQogI2VuZGlmCkBAIC0y
NTgsOSArMjU2LDcgQEAgUGFnZTo6flBhZ2UoKQogICAgIGlmIChtX2FsdGVybmF0aXZlVGV4dENs
aWVudCkKICAgICAgICAgbV9hbHRlcm5hdGl2ZVRleHRDbGllbnQtPnBhZ2VEZXN0cm95ZWQoKTsK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5pbnNw
ZWN0ZWRQYWdlRGVzdHJveWVkKCk7Ci0jZW5kaWYKIAogICAgIGlmIChtX3Njcm9sbGluZ0Nvb3Jk
aW5hdG9yKQogICAgICAgICBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yLT5wYWdlRGVzdHJveWVkKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCmluZGV4IGViZmVkN2EyNjVjNTBmYWZhMDFhMjEyMGZmNTFlOTRiZjg5MDQ5
ZjMuLjI4YzA0ZDhjN2Y3YjYyNGZhMTMzNGFhNTdjMzVmMTRiZjJlMWUwYjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCkBAIC0xODEsOSArMTgxLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQog
ICAgIFJlcGxheUNvbnRyb2xsZXImIHJlcGxheUNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiAq
bV9yZXBsYXlDb250cm9sbGVyOyB9CiAjZW5kaWYKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IEluc3BlY3RvckNvbnRyb2xsZXImIGluc3BlY3RvckNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVy
biAqbV9pbnNwZWN0b3JDb250cm9sbGVyOyB9Ci0jZW5kaWYKICNpZiBFTkFCTEUoUE9JTlRFUl9M
T0NLKQogICAgIFBvaW50ZXJMb2NrQ29udHJvbGxlciYgcG9pbnRlckxvY2tDb250cm9sbGVyKCkg
Y29uc3QgeyByZXR1cm4gKm1fcG9pbnRlckxvY2tDb250cm9sbGVyOyB9CiAjZW5kaWYKQEAgLTQ2
OCw5ICs0NjYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogICAgIGNvbnN0
IHN0ZDo6dW5pcXVlX3B0cjxSZXBsYXlDb250cm9sbGVyPiBtX3JlcGxheUNvbnRyb2xsZXI7CiAj
ZW5kaWYKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxJ
bnNwZWN0b3JDb250cm9sbGVyPiBtX2luc3BlY3RvckNvbnRyb2xsZXI7Ci0jZW5kaWYKICNpZiBF
TkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxQb2ludGVyTG9j
a0NvbnRyb2xsZXI+IG1fcG9pbnRlckxvY2tDb250cm9sbGVyOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmluZGV4IGQ2MDQwZWIzZTkwOWJjY2M3MzRl
OWM5MTU5NzRjNzJlNmJmZTdiZDYuLjJhOTY2OTFiMDgyZmEzMjMwNjI3YmRlYjg2NjRlMTJlOWY0
Mjg0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRl
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0x
MzAsOSArMTMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBDb250ZXh0TWVudUl0
ZW1UYWdSaWdodFRvTGVmdCwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnUERGU2luZ2xlUGFn
ZVNjcm9sbGluZywKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnUERGRmFjaW5nUGFnZXNTY3Jv
bGxpbmcsCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFn
SW5zcGVjdEVsZW1lbnQsCi0jZW5kaWYKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVGV4dERp
cmVjdGlvbk1lbnUsIC8vIFRleHQgRGlyZWN0aW9uIHN1Yi1tZW51CiAgICAgICAgIENvbnRleHRN
ZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0LAogICAgICAgICBDb250ZXh0TWVudUl0ZW1U
YWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9lZmwvRWZsSW5zcGVjdG9yVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VmbC9FZmxJbnNwZWN0b3JVdGlsaXRpZXMuY3BwCmluZGV4IDIxODdhYjk3NDJkZmNk
NDcwMDNlODFjYjQzOWI0NWI4MDFlOGI3OGYuLjE5OTQ5MzU1M2MwNDlhMDEzOGQ2YzIwOTQ1NDQ3
NTk0MjMwZWI3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxJ
bnNwZWN0b3JVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9F
ZmxJbnNwZWN0b3JVdGlsaXRpZXMuY3BwCkBAIC0xNyw4ICsxNyw2IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICNpbmNsdWRlICJFZmxJbnNw
ZWN0b3JVdGlsaXRpZXMuaCIKIAogI2luY2x1ZGUgPHVuaXN0ZC5oPgpAQCAtMzYsNSArMzQsMyBA
QCBTdHJpbmcgaW5zcGVjdG9yUmVzb3VyY2VQYXRoKCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9F
ZmxJbnNwZWN0b3JVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxJ
bnNwZWN0b3JVdGlsaXRpZXMuaAppbmRleCA5MzNhMzI0NWQyMDEyYTlhNTAwMDY0YTRkNzI4NzQ3
N2I5NzI4NDNjLi45NzU0MTliNDVhYTU4YzcwNjgzMDZkNzgxNWNmODIzYWU1NjExNTRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvRWZsSW5zcGVjdG9yVXRpbGl0aWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0VmbEluc3BlY3RvclV0aWxpdGll
cy5oCkBAIC0xOSw4ICsxOSw2IEBACiAjaWZuZGVmIEVmbEluc3BlY3RvclV0aWxpdGllc19oCiAj
ZGVmaW5lIEVmbEluc3BlY3RvclV0aWxpdGllc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTI5LDUgKzI3LDQgQEAgU3RyaW5nIGluc3BlY3RvclJlc291cmNlUGF0aCgpOwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgogI2VuZGlmIC8vIEVmbEluc3BlY3RvclV0aWxp
dGllc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oCmluZGV4IDNmODllYmU3ODUwM2Y5Y2U0NTFhNDBhMDQ2NmY2OGIwMmQ0
ZjY0MGUuLjliNWU3OTcwNzE4YjA0NGQ5YzM0ZjIyYzdiZDhlZTA1NThlNjYwNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCkBAIC0xNDMsMTEgKzE0Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9v
bCByZXBvcnRSYXdIZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRSYXdIZWFkZXJzOyB9
CiAgICAgICAgIHZvaWQgc2V0UmVwb3J0UmF3SGVhZGVycyhib29sIHJlcG9ydFJhd0hlYWRlcnMp
IHsgbV9yZXBvcnRSYXdIZWFkZXJzID0gcmVwb3J0UmF3SGVhZGVyczsgfQogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKICAgICAgICAgLy8gV2hldGhlciB0aGlzIHJlcXVlc3Qgc2hvdWxkIGJlIGhp
ZGRlbiBmcm9tIHRoZSBJbnNwZWN0b3IuCiAgICAgICAgIGJvb2wgaGlkZGVuRnJvbUluc3BlY3Rv
cigpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuRnJvbUluc3BlY3RvcjsgfQogICAgICAgICB2b2lk
IHNldEhpZGRlbkZyb21JbnNwZWN0b3IoYm9vbCBoaWRkZW5Gcm9tSW5zcGVjdG9yKSB7IG1faGlk
ZGVuRnJvbUluc3BlY3RvciA9IGhpZGRlbkZyb21JbnNwZWN0b3I7IH0KLSNlbmRpZgogCiAjaWYg
IVBMQVRGT1JNKENPQ09BKQogICAgICAgICBib29sIGVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURh
dGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkBAIC0xNzUsOSArMTczLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX3JlcG9ydFVwbG9hZFByb2dyZXNzKGZhbHNlKQog
ICAgICAgICAgICAgLCBtX3JlcG9ydExvYWRUaW1pbmcoZmFsc2UpCiAgICAgICAgICAgICAsIG1f
cmVwb3J0UmF3SGVhZGVycyhmYWxzZSkKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICAg
ICAgLCBtX2hpZGRlbkZyb21JbnNwZWN0b3IoZmFsc2UpCi0jZW5kaWYKICAgICAgICAgICAgICwg
bV9wcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eUxvdykKICAgICAgICAgewogICAgICAgICB9
CkBAIC0xOTksOSArMTk1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBt
X3JlcG9ydFVwbG9hZFByb2dyZXNzKGZhbHNlKQogICAgICAgICAgICAgLCBtX3JlcG9ydExvYWRU
aW1pbmcoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcmVwb3J0UmF3SGVhZGVycyhmYWxzZSkKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICAgICAgLCBtX2hpZGRlbkZyb21JbnNwZWN0b3Io
ZmFsc2UpCi0jZW5kaWYKICAgICAgICAgICAgICwgbV9wcmlvcml0eShSZXNvdXJjZUxvYWRQcmlv
cml0eUxvdykKICAgICAgICAgewogICAgICAgICB9CkBAIC0yMjgsOSArMjIyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fcmVwb3J0VXBsb2FkUHJvZ3Jlc3MgOiAxOwog
ICAgICAgICBib29sIG1fcmVwb3J0TG9hZFRpbWluZyA6IDE7CiAgICAgICAgIGJvb2wgbV9yZXBv
cnRSYXdIZWFkZXJzIDogMTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICBib29sIG1f
aGlkZGVuRnJvbUluc3BlY3RvciA6IDE7Ci0jZW5kaWYKICAgICAgICAgUmVzb3VyY2VMb2FkUHJp
b3JpdHkgbV9wcmlvcml0eSA6IDQ7IC8vIG5vdCB1bnNpZ25lZCBiZWNhdXNlIFJlc291cmNlTG9h
ZFByaW9yaXR5IGhhcyBuZWdhdGl2ZSB2YWx1ZXMKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
Q0ZOZXQuY3BwCmluZGV4IGYyZDE3MDBhYzYwMzdjZjkyMjZlMDY2YThiMWVhYjA3NTFkZjFkNzEu
LmM2NDc1ZGZkY2FjZWVjMTI4YTExM2UwM2JkNmU3MmVhMzdmZjUyMWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
Q0ZOZXQuY3BwCkBAIC0yMzIsMTcgKzIzMiwxMyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6dXBk
YXRlRnJvbURlbGVnYXRlUHJlc2VydmluZ09sZFByb3BlcnRpZXMoY29uc3QgUmVzb3VyY2VSZQog
ewogICAgIFJlc291cmNlTG9hZFByaW9yaXR5IG9sZFByaW9yaXR5ID0gcHJpb3JpdHkoKTsKICAg
ICBSZWZQdHI8Rm9ybURhdGE+IG9sZEhUVFBCb2R5ID0gaHR0cEJvZHkoKTsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGJvb2wgaXNIaWRkZW5Gcm9tSW5zcGVjdG9yID0gaGlkZGVuRnJvbUlu
c3BlY3RvcigpOwotI2VuZGlmCiAKICAgICAqdGhpcyA9IGRlbGVnYXRlUHJvdmlkZWRSZXF1ZXN0
OwogCiAgICAgc2V0UHJpb3JpdHkob2xkUHJpb3JpdHkpOwogICAgIHNldEhUVFBCb2R5KG9sZEhU
VFBCb2R5LnJlbGVhc2UoKSk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBzZXRIaWRkZW5G
cm9tSW5zcGVjdG9yKGlzSGlkZGVuRnJvbUluc3BlY3Rvcik7Ci0jZW5kaWYKIH0KIAogdm9pZCBS
ZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVz
dENvY29hLm1tCmluZGV4IDA0NTM4NDEwZmE2ZGRjNGIyZjQzMTY5NDZjZjcyNjRkNjEwN2IxYzku
LjBhNjA5ZmMyNzUwNTlkZDUyOGZjZDE4ODI0ZDc1OTA5ODI5ZjdhOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9SZXNvdXJjZVJl
cXVlc3RDb2NvYS5tbQpAQCAtMjEyLDE3ICsyMTIsMTMgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6
OnVwZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRQcm9wZXJ0aWVzKGNvbnN0IFJlc291cmNl
UmUKIHsKICAgICBSZXNvdXJjZUxvYWRQcmlvcml0eSBvbGRQcmlvcml0eSA9IHByaW9yaXR5KCk7
CiAgICAgUmVmUHRyPEZvcm1EYXRhPiBvbGRIVFRQQm9keSA9IGh0dHBCb2R5KCk7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBib29sIGlzSGlkZGVuRnJvbUluc3BlY3RvciA9IGhpZGRlbkZy
b21JbnNwZWN0b3IoKTsKLSNlbmRpZgogCiAgICAgKnRoaXMgPSBkZWxlZ2F0ZVByb3ZpZGVkUmVx
dWVzdDsKIAogICAgIHNldFByaW9yaXR5KG9sZFByaW9yaXR5KTsKICAgICBzZXRIVFRQQm9keShv
bGRIVFRQQm9keS5yZWxlYXNlKCkpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgc2V0SGlk
ZGVuRnJvbUluc3BlY3Rvcihpc0hpZGRlbkZyb21JbnNwZWN0b3IpOwotI2VuZGlmCiB9CiAKICNp
ZiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDA2
YmZjZmZiOTJjNDc2NzJmNzYwMmMyMjFmMDI2ZWM1OGNjNzZkOTIuLjhmYTM4NmFmZmYwOGFjNzNl
MDAwZmY5Y2UwZDRmM2MwYzFlYjJiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTE3OSw3ICsxNzksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogY2xhc3MgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnREdW1teSA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
IHsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudER1bW15KEluc3BlY3RvckNv
bnRyb2xsZXIqLCBQYWdlKik7CkBAIC0yMjQsNyArMjIzLDYgQEAgYm9vbCBJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWxEdW1teTo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKIHsKICAgICByZXR1cm4gSW5zcGVjdG9yQ2xpZW50Ojpkb0Rpc3BhdGNoTWVzc2FnZU9u
RnJvbnRlbmRQYWdlKG1fZnJvbnRlbmRQYWdlLCBtZXNzYWdlKTsKIH0KLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQogCiBzdGF0aWMgYm9vbCBtYXJrZXJUeXBlc0Zyb20oY29uc3QgU3RyaW5n
JiBtYXJrZXJUeXBlLCBEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZXMmIHJlc3VsdCkKIHsKQEAg
LTI4OCw5ICsyODYsNyBAQCB2b2lkIEludGVybmFsczo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShQ
YWdlKiBwYWdlKQogICAgIFRleHRSdW46OnNldEFsbG93c1JvdW5kaW5nSGFja3MoZmFsc2UpOwog
ICAgIFdlYkNvcmU6Om92ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlcyhWZWN0b3I8U3RyaW5n
PigpKTsKICAgICBXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKGZh
bHNlKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xs
ZXIoKS5zZXRQcm9maWxlckVuYWJsZWQoZmFsc2UpOwotI2VuZGlmCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQogICAgIHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCktPnNldENhcHRp
b25zU3R5bGVTaGVldE92ZXJyaWRlKGVtcHR5U3RyaW5nKCkpOwogICAgIHBhZ2UtPmdyb3VwKCku
Y2FwdGlvblByZWZlcmVuY2VzKCktPnNldFRlc3RpbmdNb2RlKGZhbHNlKTsKQEAgLTc3Nyw3ICs3
NzMsNiBAQCBSZWY8Q2xpZW50UmVjdD4gSW50ZXJuYWxzOjpib3VuZGluZ0JveChFbGVtZW50KiBl
bGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIAogUmVmPENsaWVudFJlY3RMaXN0PiBJbnRlcm5h
bHM6Omluc3BlY3RvckhpZ2hsaWdodFJlY3RzKEV4Y2VwdGlvbkNvZGUmIGVjKQogewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50
KCk7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnBhZ2UoKSkgewogICAgICAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKQEAgLTc4NywxNSArNzgyLDEwIEBAIFJlZjxDbGllbnRS
ZWN0TGlzdD4gSW50ZXJuYWxzOjppbnNwZWN0b3JIaWdobGlnaHRSZWN0cyhFeGNlcHRpb25Db2Rl
JiBlYykKICAgICBIaWdobGlnaHQgaGlnaGxpZ2h0OwogICAgIGRvY3VtZW50LT5wYWdlKCktPmlu
c3BlY3RvckNvbnRyb2xsZXIoKS5nZXRIaWdobGlnaHQoaGlnaGxpZ2h0LCBJbnNwZWN0b3JPdmVy
bGF5OjpDb29yZGluYXRlU3lzdGVtOjpWaWV3KTsKICAgICByZXR1cm4gQ2xpZW50UmVjdExpc3Q6
OmNyZWF0ZShoaWdobGlnaHQucXVhZHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZWMpOwot
ICAgIHJldHVybiBDbGllbnRSZWN0TGlzdDo6Y3JlYXRlKCk7Ci0jZW5kaWYKIH0KIAogU3RyaW5n
IEludGVybmFsczo6aW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4
dERvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnBhZ2UoKSkgewog
ICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKQEAgLTgwMywxMCArNzkzLDYgQEAgU3Ry
aW5nIEludGVybmFsczo6aW5zcGVjdG9ySGlnaGxpZ2h0T2JqZWN0KEV4Y2VwdGlvbkNvZGUmIGVj
KQogICAgIH0KICAgICBhdXRvIG9iamVjdCA9IGRvY3VtZW50LT5wYWdlKCktPmluc3BlY3RvckNv
bnRyb2xsZXIoKS5idWlsZE9iamVjdEZvckhpZ2hsaWdodGVkTm9kZSgpOwogICAgIHJldHVybiBv
YmplY3QgPyBvYmplY3QtPnRvSlNPTlN0cmluZygpIDogU3RyaW5nKCk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShlYyk7Ci0gICAgcmV0dXJuIFN0cmluZygpOwotI2VuZGlmCiB9CiAKIHVuc2ln
bmVkIEludGVybmFsczo6bWFya2VyQ291bnRGb3JOb2RlKE5vZGUqIG5vZGUsIGNvbnN0IFN0cmlu
ZyYgbWFya2VyVHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xNDg0LDcgKzE0NzAsNiBAQCB1
bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJlck9mTGl2ZURvY3VtZW50cygpIGNvbnN0CiAgICAgcmV0
dXJuIERvY3VtZW50OjphbGxEb2N1bWVudHMoKS5zaXplKCk7CiB9CiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogVmVjdG9yPFN0cmluZz4gSW50ZXJuYWxzOjpjb25zb2xlTWVzc2FnZUFyZ3VtZW50
Q291bnRzKCkgY29uc3QKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1l
bnQoKTsKQEAgLTE1NjYsNyArMTU1MSw2IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRJbnNwZWN0b3JJ
c1VuZGVyVGVzdChib29sIGlzVW5kZXJUZXN0LCBFeGNlcHRpb25Db2RlJiBlYykKIAogICAgIHBh
Z2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5zZXRJc1VuZGVyVGVzdChpc1VuZGVyVGVzdCk7CiB9
Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAogYm9vbCBJbnRlcm5hbHM6Omhhc0dyYW1t
YXJNYXJrZXIoaW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMzAwODhlODBkZDM3Mzg2ODUzMDNhOTg3MjA3NTcz
N2NkNTk5YjBlZS4uOWZiNzE0NjFhY2E5NTRjZTJmYjdjZGU3N2FmMjFkYTA1YjQzMTdjNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yMzMsMTMgKzIzMywxMSBAQCBwdWJsaWM6
CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdDsKICAgICB1bnNpZ25lZCBu
dW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdDsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgVmVjdG9yPFN0cmluZz4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpIGNvbnN0Owog
ICAgIFBhc3NSZWZQdHI8RE9NV2luZG93PiBvcGVuRHVtbXlJbnNwZWN0b3JGcm9udGVuZChjb25z
dCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBjbG9zZUR1bW15SW5zcGVjdG9yRnJvbnRlbmQoKTsK
ICAgICB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0SW5zcGVjdG9ySXNVbmRlclRlc3QoYm9vbCBpc1Vu
ZGVyVGVzdCwgRXhjZXB0aW9uQ29kZSYpOwotI2VuZGlmCiAKICAgICBTdHJpbmcgY291bnRlclZh
bHVlKEVsZW1lbnQqKTsKIApAQCAtMzY2LDExICszNjQsMTAgQEAgcHJpdmF0ZToKICAgICBWZWN0
b3I8U3RyaW5nPiBpY29uVVJMcyhEb2N1bWVudCosIGludCBpY29uVHlwZXNNYXNrKSBjb25zdDsK
IAogICAgIFJlbmRlcmVkRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUqLCBjb25zdCBTdHJp
bmcmIG1hcmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKKwogICAgIFJlZlB0cjxET01XaW5kb3c+IG1fZnJvbnRlbmRXaW5kb3c7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvckZyb250ZW5kQ2xpZW50RHVtbXk+IG1fZnJv
bnRlbmRDbGllbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvckZyb250ZW5kQ2hhbm5l
bER1bW15PiBtX2Zyb250ZW5kQ2hhbm5lbDsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGE5NDI1NGIyMmY4
NmJjMmVlY2NiYjg0MDFkZTQzZTcxOGVhZmQzZDUuLjZmOWU0MWI3MWJjM2ExMmM4ZDlmNzVmNWQy
M2M4NzNjNTZkNjA0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTE5
OSwxMSArMTk5LDExIEBAIGVudW0gUGFnZU92ZXJsYXlUeXBlIHsKIAogICAgIHVuc2lnbmVkIGxv
bmcgbnVtYmVyT2ZMaXZlTm9kZXMoKTsKICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZURv
Y3VtZW50cygpOwotICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHNlcXVlbmNlPERPTVN0cmlu
Zz4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygpOwotICAgIFtDb25kaXRpb25hbD1JTlNQ
RUNUT1JdIERPTVdpbmRvdyBvcGVuRHVtbXlJbnNwZWN0b3JGcm9udGVuZChET01TdHJpbmcgdXJs
KTsKLSAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB2b2lkIGNsb3NlRHVtbXlJbnNwZWN0b3JG
cm9udGVuZCgpOwotICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1IsIFJhaXNlc0V4Y2VwdGlvbl0g
dm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sZWFuIGNyZWF0ZXMpOwotICAg
IFtDb25kaXRpb25hbD1JTlNQRUNUT1IsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRJbnNwZWN0
b3JJc1VuZGVyVGVzdChib29sZWFuIGlzVW5kZXJUZXN0KTsKKyAgICBzZXF1ZW5jZTxET01TdHJp
bmc+IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoKTsKKyAgICBET01XaW5kb3cgb3BlbkR1
bW15SW5zcGVjdG9yRnJvbnRlbmQoRE9NU3RyaW5nIHVybCk7CisgICAgdm9pZCBjbG9zZUR1bW15
SW5zcGVjdG9yRnJvbnRlbmQoKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEphdmFT
Y3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2xlYW4gY3JlYXRlcyk7CisgICAgW1JhaXNlc0V4Y2Vw
dGlvbl0gdm9pZCBzZXRJbnNwZWN0b3JJc1VuZGVyVGVzdChib29sZWFuIGlzVW5kZXJUZXN0KTsK
IAogICAgIERPTVN0cmluZyBjb3VudGVyVmFsdWUoRWxlbWVudCBlbGVtZW50KTsKICAgICBsb25n
IHBhZ2VOdW1iZXIoRWxlbWVudCBlbGVtZW50LCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQg
cGFnZVdpZHRoLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgcGFnZUhlaWdodCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGZiNGE5MjU0
YWQ2Yzg0N2FkYjI5MTU3NjhiMzMwNzkxYTRlYjY3ZTUuLjViZDhhMWY2N2QwZTk5MDg0MGI4NGJk
MDVhMmQ5ZGI3MmJjMTI0M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwCkBAIC03MCw5ICs3MCw3IEBAIFdvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFdvCiAg
ICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCiAgICAgLCBtX3NjcmlwdChzdGQ6Om1ha2VfdW5p
cXVlPFdvcmtlclNjcmlwdENvbnRyb2xsZXI+KHRoaXMpKQogICAgICwgbV90aHJlYWQodGhyZWFk
KQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLCBtX3dvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIoc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPigqdGhpcykpCi0j
ZW5kaWYKICAgICAsIG1fY2xvc2luZyhmYWxzZSkKICAgICAsIG1fZXZlbnRRdWV1ZSgqdGhpcykK
ICAgICAsIG1fdG9wT3JpZ2luKHRvcE9yaWdpbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuaAppbmRleCA4NTRkMWE4MGEyOGI1NmZhNGFkZTU0MDE2ODIyMzMxOWM2
M2U5MDZkLi5kNTRmN2M0MTJhNTI3OWYxZjE4NzU1NmUyODI1NzZjMGJhODFkNjJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC05OSw5ICs5OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29udGV4dFRocmVh
ZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNKU0V4ZWN1dGlvbkZv
cmJpZGRlbigpIGNvbnN0IG92ZXJyaWRlOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAg
ICAgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlciYgd29ya2VySW5zcGVjdG9yQ29udHJvbGxlcigp
IHsgcmV0dXJuICptX3dvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7IH0KLSNlbmRpZgorCiAgICAg
ICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIHVzZWQgZm9yIEdDIG1hcmtpbmcuIFNlZSBKU1dvcmtl
ckdsb2JhbFNjb3BlOjp2aXNpdENoaWxkcmVuVmlydHVhbChTbG90VmlzaXRvciYpIGluCiAgICAg
ICAgIC8vIEpTV29ya2VyR2xvYmFsU2NvcGVDdXN0b20uY3BwLgogICAgICAgICBXb3JrZXJOYXZp
Z2F0b3IqIG9wdGlvbmFsTmF2aWdhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0
KCk7IH0KQEAgLTE2Niw5ICsxNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxXb3JrZXJTY3JpcHRDb250cm9sbGVyPiBtX3NjcmlwdDsKICAgICAgICAg
V29ya2VyVGhyZWFkJiBtX3RocmVhZDsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAg
IGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyPiBtX3dvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXI7Ci0jZW5kaWYKICAgICAgICAgYm9vbCBtX2Nsb3Npbmc7CiAK
ICAgICAgICAgSGFzaFNldDxPYnNlcnZlcio+IG1fd29ya2VyT2JzZXJ2ZXJzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRleCA5Mjg2NDE2
Y2I2OTVlMzBjMGY5YTVmMDc4NmJhODExNjc5ODVjYzkyLi43OWY2N2E0MWY4NDVjNGJmYmM0MThl
OWRmMGVhNTViZTMyMGQyOWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNjAsNyArNjAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShib29sIGlz
T25saW5lKSA9IDA7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICBjbGFzcyBQYWdl
SW5zcGVjdG9yIHsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgdmlydHVhbCB+UGFnZUlu
c3BlY3RvcigpIHsgfQpAQCAtNjksNyArNjgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0VG9JbnNwZWN0b3IoUGFnZUluc3BlY3RvciopIHsgfQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb21JbnNwZWN0b3IoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB2b2lkIHNlbmRNZXNzYWdlVG9JbnNwZWN0b3IoY29uc3QgU3RyaW5nJikgeyB9
Ci0jZW5kaWYKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDY2OWZjMTgzMmNj
YTExZGFlY2E1NTcwNWQyYWE2NWIzYjhjMjViMzYuLjQzN2MxMDhjOTM1YmU1ZjIxM2I1ZGNlZDM1
ZDZjOTMyNTE2M2EwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCkBAIC02Myw5ICs2Myw3IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpX
b3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqIHdvcmtlck9iamVjdCkKICAgICAsIG1fdW5jb25m
aXJtZWRNZXNzYWdlQ291bnQoMCkKICAgICAsIG1fd29ya2VyVGhyZWFkSGFkUGVuZGluZ0FjdGl2
aXR5KGZhbHNlKQogICAgICwgbV9hc2tlZFRvVGVybWluYXRlKGZhbHNlKQotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgLCBtX3BhZ2VJbnNwZWN0b3IobnVsbHB0cikKLSNlbmRpZgogewogICAg
IEFTU0VSVChtX3dvcmtlck9iamVjdCk7CiAgICAgQVNTRVJUKChpczxEb2N1bWVudD4oKm1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCkgJiYgaXNNYWluVGhyZWFkKCkpCkBAIC0yMTMsNyArMjExLDYg
QEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6bm90aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGJv
b2wgaXNPbmxpbmUpCiAgICAgfSk7CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6Y29ubmVjdFRvSW5zcGVjdG9yKFdvcmtlckdsb2JhbFNjb3Bl
UHJveHk6OlBhZ2VJbnNwZWN0b3IqIHBhZ2VJbnNwZWN0b3IpCiB7CiAgICAgaWYgKG1fYXNrZWRU
b1Rlcm1pbmF0ZSkKQEAgLTI0NSw3ICsyNDIsNiBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5
OjpzZW5kTWVzc2FnZVRvSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICB9LCBX
b3JrZXJEZWJ1Z2dlckFnZW50OjpkZWJ1Z2dlclRhc2tNb2RlKTsKICAgICBXb3JrZXJEZWJ1Z2dl
ckFnZW50OjppbnRlcnJ1cHRBbmREaXNwYXRjaEluc3BlY3RvckNvbW1hbmRzKG1fd29ya2VyVGhy
ZWFkLmdldCgpKTsKIH0KLSNlbmRpZgogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3Jr
ZXJHbG9iYWxTY29wZURlc3Ryb3llZCgpCiB7CkBAIC0yODgsNyArMjg0LDYgQEAgdm9pZCBXb3Jr
ZXJNZXNzYWdpbmdQcm94eTo6dGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKQogICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d29ya2VyR2xvYmFsU2NvcGVUZXJtaW5hdGVkKG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5nZXQoKSwgdGhpcyk7CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3Io
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIFN0cmluZ0NhcHR1cmUgY2FwdHVyZWRNZXNz
YWdlKG1lc3NhZ2UpOwpAQCAtMjk3LDcgKzI5Miw2IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJv
eHk6OnBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAg
ICAgICAgICAgIG1fcGFnZUluc3BlY3Rvci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbVdvcmtlcihjYXB0
dXJlZE1lc3NhZ2Uuc3RyaW5nKCkpOwogICAgIH0pOwogfQotI2VuZGlmCiAKIHZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OmNvbmZpcm1NZXNzYWdlRnJvbVdvcmtlck9iamVjdChib29sIGhhc1Bl
bmRpbmdBY3Rpdml0eSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAppbmRleCAzMTIwZDliNDllOTRlMDY5ZTM3MjgyNGU3ZGZhMWUwNDk3YTJiMzRj
Li45NTk0MWM2MjRmNGZjOWNjM2ViMGZjMjMwYmEyYmQ3NTA4ZmRlZmIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01NywyMCArNTcsMTcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0Fj
dGl2aXR5KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB3b3JrZXJPYmpl
Y3REZXN0cm95ZWQoKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeU5ldHdv
cmtTdGF0ZUNoYW5nZShib29sIGlzT25saW5lKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0VG9JbnNwZWN0b3IoV29ya2VyR2xv
YmFsU2NvcGVQcm94eTo6UGFnZUluc3BlY3RvciopIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlzY29ubmVjdEZyb21JbnNwZWN0b3IoKSBvdmVycmlkZTsKICAgICAgICAgdmlydHVh
bCB2b2lkIHNlbmRNZXNzYWdlVG9JbnNwZWN0b3IoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7Ci0j
ZW5kaWYKIAogICAgICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyT2JqZWN0UHJveHku
CiAgICAgICAgIC8vIChPbmx5IHVzZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3b3JrZXIgY29udGV4
dCB0aHJlYWQuKQogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlck9iamVj
dChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIHN0ZDo6dW5pcXVlX3B0cjxNZXNz
YWdlUG9ydENoYW5uZWxBcnJheT4pIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9z
dEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpIG92
ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJP
YmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCkgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgdmlydHVhbCB2b2lk
IHBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotI2Vu
ZGlmCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb25maXJtTWVzc2FnZUZyb21Xb3JrZXJPYmplY3Qo
Ym9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVwb3J0UGVuZGluZ0FjdGl2aXR5KGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KSBvdmVycmlkZTsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHdvcmtlckdsb2JhbFNjb3BlQ2xvc2VkKCkgb3ZlcnJpZGU7
CkBAIC0xMTIsOSArMTA5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1f
YXNrZWRUb1Rlcm1pbmF0ZTsKIAogICAgICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+PiBtX3F1ZXVlZEVhcmx5VGFza3M7IC8vIFRhc2tzIGFy
ZSBxdWV1ZWQgaGVyZSB1bnRpbCB0aGVyZSdzIGEgdGhyZWFkIG9iamVjdCBjcmVhdGVkLgotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OlBhZ2VJ
bnNwZWN0b3IqIG1fcGFnZUluc3BlY3RvcjsKLSNlbmRpZgogICAgIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVw
b3J0aW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJv
eHkuaAppbmRleCAxZDU1YmUzZTdhMjA3ZjllMTA4NTE1ODBmODVhNWY4MmRiOTMyNzc5Li5kZjM1
ZTUxNTgyMzE3OTAxM2ZiNGRhYTlhOWM5ZGI2ODU0ODRmNGRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5oCkBAIC00NCw5ICs0NCw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBj
b2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSA9IDA7CiAKICAgICAgICAgdmly
dHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29ya2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50
IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpID0gMDsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQorCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvUGFnZUluc3Bl
Y3Rvcihjb25zdCBTdHJpbmcmKSA9IDA7Ci0jZW5kaWYKKwogICAgICAgICAvLyBJbnZva2VkIHdo
ZW4gY2xvc2UoKSBpcyBpbnZva2VkIG9uIHRoZSB3b3JrZXIgY29udGV4dC4KICAgICAgICAgdmly
dHVhbCB2b2lkIHdvcmtlckdsb2JhbFNjb3BlQ2xvc2VkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggMmNhYmNmNWZiOWVjMTQ4Zjg5OGI5YzJjNDll
YTdiN2Y4OGI0YTUwOC4uMGZiZWIxZDcxNGM4NDE1YzI2MDM2ZWQwZTMyYzA5ZWUwZjVhNmIzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtMTU2LDkgKzE1Niw3
IEBAIHZvaWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKQogICAgIH0KIAogICAgIFdvcmtl
clNjcmlwdENvbnRyb2xsZXIqIHNjcmlwdCA9IG1fd29ya2VyR2xvYmFsU2NvcGUtPnNjcmlwdCgp
OwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsRXZhbHVhdGVXb3JrZXJTY3JpcHQod29ya2VyR2xvYmFsU2NvcGUoKSwgbV9zdGFydHVwRGF0
YS0+bV9zdGFydE1vZGUpOwotI2VuZGlmCiAgICAgc2NyaXB0LT5ldmFsdWF0ZShTY3JpcHRTb3Vy
Y2VDb2RlKG1fc3RhcnR1cERhdGEtPm1fc291cmNlQ29kZSwgbV9zdGFydHVwRGF0YS0+bV9zY3Jp
cHRVUkwpKTsKICAgICAvLyBGcmVlIHRoZSBzdGFydHVwIGRhdGEgdG8gY2F1c2UgaXRzIG1lbWJl
ciB2YXJpYWJsZSBkZXJlZidzIGhhcHBlbiBvbiB0aGUgd29ya2VyJ3MgdGhyZWFkIChzaW5jZQog
ICAgIC8vIGFsbCByZWYvZGVyZWZzIG9mIHRoZXNlIG9iamVjdHMgYXJlIGhhcHBlbmluZyBvbiB0
aGUgdGhyZWFkIGF0IHRoaXMgcG9pbnQpLiBOb3RlIHRoYXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMu
ZGVmLmluIGIvU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0
b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4KaW5kZXggNDc1OWJkMDYwYmVkNmRjNTZkMWZlODMwZjU0
MDJlYTI5YTM5NGIyZi4uYjNmODE0YjRlOTlhYTNkY2NjOWYwNzRlNjdlYzFmMzRmMzM1MWZhYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5l
cmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQudmN4
cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4KQEAgLTIwNyw3
ICsyMDcsNiBAQCBFWFBPUlRTCiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9pbnRlcnNlY3Rz
QEludFJlY3RAV2ViQ29yZUBAUUJFX05BQlYxMkBAWiwgP2ludGVyc2VjdHNASW50UmVjdEBXZWJD
b3JlQEBRRUJBX05BRUJWMTJAQFopCiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9pdGVtQFN0
YXRpY05vZGVMaXN0QFdlYkNvcmVAQFVCRVBBVk5vZGVAMkBJQFosID9pdGVtQFN0YXRpY05vZGVM
aXN0QFdlYkNvcmVAQFVFQkFQRUFWTm9kZUAyQElAWikKICAgICAgICAgP3NlbGVjdFRhZ0BIVE1M
TmFtZXNAV2ViQ29yZUBAM1ZIVE1MUXVhbGlmaWVkTmFtZUAyQEIKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/YnVpbGRPYmplY3RGb3JIaWdobGlnaHRl
ZE5vZGVASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQkU/QVY/JFJlZlB0ckBWTm9kZUhp
Z2hsaWdodERhdGFAT3ZlcmxheVR5cGVzQFByb3RvY29sQEluc3BlY3RvckBAQFdURkBAWFosID9i
dWlsZE9iamVjdEZvckhpZ2hsaWdodGVkTm9kZUBJbnNwZWN0b3JDb250cm9sbGVyQFdlYkNvcmVA
QFFCRUE/QVY/JFJlZlB0ckBWTm9kZUhpZ2hsaWdodERhdGFAT3ZlcmxheVR5cGVzQFByb3RvY29s
QEluc3BlY3RvckBAQFdURkBAWFopCiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9nZXRIaWdo
bGlnaHRASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQkVYQUFVSGlnaGxpZ2h0QDJAVzRD
b29yZGluYXRlU3lzdGVtQEluc3BlY3Rvck92ZXJsYXlAMkBAWiwgP2dldEhpZ2hsaWdodEBJbnNw
ZWN0b3JDb250cm9sbGVyQFdlYkNvcmVAQFFCRVhFQUFVSGlnaGxpZ2h0QDJAVzRDb29yZGluYXRl
U3lzdGVtQEluc3BlY3Rvck92ZXJsYXlAMkBAWikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIo
P2luc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlQEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkBXZWJD
b3JlQEBTQVBBVkluc3RydW1lbnRpbmdBZ2VudHNAMkBQQVZQYWdlQDJAQFosID9pbnN0cnVtZW50
aW5nQWdlbnRzRm9yUGFnZUBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25AV2ViQ29yZUBAU0FQRUFW
SW5zdHJ1bWVudGluZ0FnZW50c0AyQFBFQVZQYWdlQDJAQFopCkBAIC0yMzEsNyArMjMwLDYgQEAg
RVhQT1JUUwogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/cGF0aEJ5QXBwZW5kaW5nQ29tcG9u
ZW50QFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdURkBAQUJWMjNAMEBaLCA/cGF0aEJ5QXBwZW5kaW5n
Q29tcG9uZW50QFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdURkBAQUVCVjIzQDBAWikKICAgICAgICAg
c3ltYm9sV2l0aFBvaW50ZXIoP3NldFByb2ZpbGVyRW5hYmxlZEBJbnNwZWN0b3JDb250cm9sbGVy
QFdlYkNvcmVAQFFBRVhfTkBaLCA/c2V0UHJvZmlsZXJFbmFibGVkQEluc3BlY3RvckNvbnRyb2xs
ZXJAV2ViQ29yZUBAUUVBQVhfTkBaKQogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/ZGlzY29u
bmVjdEZyb250ZW5kQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBAUUFFWFc0SW5zcGVjdG9y
RGlzY29ubmVjdFJlYXNvbkBJbnNwZWN0b3JAQEBaLCA/ZGlzY29ubmVjdEZyb250ZW5kQEluc3Bl
Y3RvckNvbnRyb2xsZXJAV2ViQ29yZUBAUUVBQVhXNEluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb25A
SW5zcGVjdG9yQEBAWikKLSNlbmRpZgogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/aXNBY3Rp
dmVJbnNlcnRpb25Qb2ludEBXZWJDb3JlQEBZQV9OUEJWTm9kZUAxQEBaLCA/aXNBY3RpdmVJbnNl
cnRpb25Qb2ludEBXZWJDb3JlQEBZQV9OUEVCVk5vZGVAMUBAWikKICAgICAgICAgc3ltYm9sV2l0
aFBvaW50ZXIoP2lzUHJlbG9hZGVkQENhY2hlZFJlc291cmNlTG9hZGVyQFdlYkNvcmVAQFFCRV9O
QUJWU3RyaW5nQFdURkBAQFosID9pc1ByZWxvYWRlZEBDYWNoZWRSZXNvdXJjZUxvYWRlckBXZWJD
b3JlQEBRRUJBX05BRUJWU3RyaW5nQFdURkBAQFopCiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVy
KD9qc0FycmF5QFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBKU0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpT
RE9NR2xvYmFsT2JqZWN0QDFAVj8kUGFzc1JlZlB0ckBWRE9NU3RyaW5nTGlzdEBXZWJDb3JlQEBA
V1RGQEBAWiwgP2pzQXJyYXlAV2ViQ29yZUBAWUE/QVZKU1ZhbHVlQEpTQ0BAUEVBVkV4ZWNTdGF0
ZUAzQFBFQVZKU0RPTUdsb2JhbE9iamVjdEAxQFY/JFBhc3NSZWZQdHJAVkRPTVN0cmluZ0xpc3RA
V2ViQ29yZUBAQFdURkBAQFopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDFhY2U0OGM3YTkwZTkyNjJj
YjNjMGI1ODQ0ODg0ZGEwNDYxMDQ2NWEuLjZjNGJmNWQwYzI2M2JmMDg0ZTBlNWIzNmZhOTg3NjQw
ODk0ODhjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0xMDQsNyArMTA0LDYgQEAgRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTFtzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMOwogRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEhbc2RrPWlwaG9uZSpdID0gRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEg7CiBFTkFCTEVfSU5QVVRfVFlQRV9USU1FW3Nkaz1pcGhvbmUq
XSA9IEVOQUJMRV9JTlBVVF9UWVBFX1RJTUU7CiBFTkFCTEVfSU5QVVRfVFlQRV9XRUVLW3Nkaz1p
cGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9UWVBFX1dFRUs7Ci1FTkFCTEVfSU5TUEVDVE9SID0gRU5B
QkxFX0lOU1BFQ1RPUjsKIAogRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNb
c2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlM7CiBF
TkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU1tzZGs9bWFjb3N4Kl0gPSAkKEVO
QUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTX21hY29zeF8kKFRBUkdFVF9NQUNf
T1NfWF9WRVJTSU9OX01BSk9SKSkKQEAgLTIyNiw0ICsyMjUsNCBAQCBFTkFCTEVfTExJTlRfQ19M
T09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JF
R0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVT
KSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChF
TkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9S
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9E
RVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9N
X1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9JT1NfQUlSUExBWSkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JT1NfQUlSUExBWSkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50Lm1tCmluZGV4IGVjZDc3NzQxYWIzMjgxOWI1YWZjY2NmYjQwODEzN2ZlMDNmMDM3NzguLjg0
NDcxNjQzMTRkNTU0ZjQ1NjkxZTljMjI5OGM2ZTRkYzNmYmIwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1t
CkBAIC0zNDMsOSArMzQzLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hX
aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWcKICAgICBOU1VSTFJl
cXVlc3QgKmN1cnJlbnRVUkxSZXF1ZXN0ID0gcmVxdWVzdC5uc1VSTFJlcXVlc3QoVXBkYXRlSFRU
UEJvZHkpOwogICAgIE5TVVJMUmVxdWVzdCAqbmV3VVJMUmVxdWVzdCA9IGN1cnJlbnRVUkxSZXF1
ZXN0OwogICAgIFJlc291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5ID0gcmVxdWVzdC5wcmlvcml0
eSgpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgYm9vbCBpc0hpZGRlbkZyb21JbnNwZWN0
b3IgPSByZXF1ZXN0LmhpZGRlbkZyb21JbnNwZWN0b3IoKTsKLSNlbmRpZgogI2lmIFBMQVRGT1JN
KElPUykKICAgICBib29sIGlzTWFpblJlc291cmNlUmVxdWVzdCA9IHJlcXVlc3QuZGVwcmVjYXRl
ZElzTWFpblJlc291cmNlUmVxdWVzdCgpOwogICAgIGlmIChpbXBsZW1lbnRhdGlvbnMtPndlYlRo
cmVhZFdpbGxTZW5kUmVxdWVzdEZ1bmMpIHsKQEAgLTM1Nyw5ICszNTUsNyBAQCB2b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciog
bG9hZGVyLCB1bnNpZwogCiAgICAgaWYgKG5ld1VSTFJlcXVlc3QgIT0gY3VycmVudFVSTFJlcXVl
c3QpCiAgICAgICAgIHJlcXVlc3QgPSBuZXdVUkxSZXF1ZXN0OwotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgcmVxdWVzdC5zZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGlzSGlkZGVuRnJvbUluc3Bl
Y3Rvcik7Ci0jZW5kaWYKICNpZiBQTEFURk9STShJT1MpCiAgICAgcmVxdWVzdC5kZXByZWNhdGVk
U2V0TWFpblJlc291cmNlUmVxdWVzdChpc01haW5SZXNvdXJjZVJlcXVlc3QpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50LmNwcAppbmRleCA4OGZiYTNlZDM3NzcyZDhmNmIyMzJjZjc4ZjliMWRhZjM1NmRhMDZl
Li44MjI0ZDRlZThiNTVhODM1ZWI5NDQ0NmFlOTg1MjNiMDI3YTFlYWYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5j
cHAKQEAgLTI4LDggKzI4LDYgQEAKIAogI2luY2x1ZGUgIldlYkluc3BlY3RvckNsaWVudC5oIgog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIldlYkNvcmVCdW5kbGVXaW4uaCIK
ICNpbmNsdWRlICJXZWJJbnNwZWN0b3JEZWxlZ2F0ZS5oIgogI2luY2x1ZGUgIldlYktpdC5oIgpA
QCAtNTYwLDUgKzU1OCwzIEBAIHN0YXRpYyBBVE9NIHJlZ2lzdGVyV2luZG93Q2xhc3MoKQogCiAg
ICAgcmV0dXJuIDo6UmVnaXN0ZXJDbGFzc0V4KCZ3Y2V4KTsKIH0KLQotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3Iu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmNwcAppbmRleCA1NTRlNWNiMTFj
NzZjNmVjMDJhYzM1YTJiN2RjOGI3M2ZlOTY5ZmMxLi43NWY3ZDE0NDE2ZWM0ZWI1NDAyOTdmZWQx
MjA0MDRlYzcwYTc2ZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5jcHAKQEAgLTI4LDgg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIldlYkluc3BlY3Rvci5oIgogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgIldlYkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIldlYktp
dERMTC5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKQEAgLTI3NCw1ICsyNzIsMyBAQCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIFdlYkluc3BlY3Rvcjo6c2V0VGltZWxpbmVQcm9maWxpbmdFbmFi
bGVkKEJPT0wgZW5hYmxlZAogICAgIGZyb250ZW5kQ2xpZW50KCktPnNldFRpbWVsaW5lUHJvZmls
aW5nRW5hYmxlZChlbmFibGVkKTsKICAgICByZXR1cm4gU19PSzsKIH0KLQotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJOb2RlSGln
aGxpZ2h0LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYk5vZGVIaWdobGlnaHQuY3BwCmluZGV4
IDI5ZTA4MDBkOWFmNzZhYjdkNTNjZTYyNjIxNTcwYWI5YWY3M2NiZGIuLjNiYWMyYTk2ZjkxOTBi
N2RmYzhkYTJlM2U0Mjk5YzM0MmViNGVmNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYk5vZGVIaWdobGlnaHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYk5vZGVIaWdo
bGlnaHQuY3BwCkBAIC00NywxNyArNDcsMTIgQEAgc3RhdGljIEFUT00gcmVnaXN0ZXJPdmVybGF5
Q2xhc3MoKTsKIHN0YXRpYyBMUENUU1RSIGtXZWJOb2RlSGlnaGxpZ2h0UG9pbnRlclByb3AgPSBU
RVhUKCJXZWJOb2RlSGlnaGxpZ2h0UG9pbnRlciIpOwogCiBXZWJOb2RlSGlnaGxpZ2h0OjpXZWJO
b2RlSGlnaGxpZ2h0KFdlYlZpZXcqIHdlYlZpZXcpCi0gICAgOiAKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKSAgICAKLSAgICAgIG1faW5zcGVjdGVkV2ViVmlldyh3ZWJWaWV3KSwKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotICAgICAgbV9vdmVybGF5KDApCisgICAgOiBtX2luc3BlY3RlZFdl
YlZpZXcod2ViVmlldykKKyAgICAsIG1fb3ZlcmxheSgwKQogICAgICwgbV9vYnNlcnZlZFdpbmRv
dygwKQogICAgICwgbV9zaG93c1doaWxlV2ViVmlld0lzVmlzaWJsZShmYWxzZSkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIG1faW5zcGVjdGVkV2ViVmlldy0+dmlld1dpbmRvdygmbV9p
bnNwZWN0ZWRXZWJWaWV3V2luZG93KTsKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogfQog
CiBXZWJOb2RlSGlnaGxpZ2h0Ojp+V2ViTm9kZUhpZ2hsaWdodCgpCkBAIC0xNjMsOSArMTU4LDcg
QEAgdm9pZCBXZWJOb2RlSGlnaGxpZ2h0Ojp1cGRhdGUoKQogICAgIDo6U2VsZWN0T2JqZWN0KGhk
Yy5nZXQoKSwgaGJtcC5nZXQoKSk7CiAKICAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dChoZGMu
Z2V0KCkpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5w
YWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS5kcmF3SGlnaGxpZ2h0KGNvbnRleHQpOwotI2Vu
ZGlmCiAKICAgICBCTEVOREZVTkNUSU9OIGJmOwogICAgIGJmLkJsZW5kT3AgPSBBQ19TUkNfT1ZF
UjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYk5vZGVIaWdobGlnaHQuaCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYk5vZGVIaWdobGlnaHQuaAppbmRleCA3YTFjMTFiYzEwMDIxMmZj
MjYyY2MwZjY3YWFjOGY1ZTlkNjhiMDE3Li4yZjgyNjlhOWM4NTIxYjhjNmIzN2EzYTc0ZGE5MThl
NThkZGRmNTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJOb2RlSGlnaGxpZ2h0
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViTm9kZUhpZ2hsaWdodC5oCkBAIC01OSw5ICs1
OSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBvbldlYlZpZXdXaW5kb3dQb3NDaGFuZ2VkKFdJTkRP
V1BPUyopOwogICAgIHZvaWQgb25Sb290V2luZG93UG9zQ2hhbmdlZChXSU5ET1dQT1MqKTsKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgV2ViVmlldyogbV9pbnNwZWN0ZWRXZWJWaWV3Owot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCisKICAgICBIV05EIG1faW5zcGVjdGVkV2ViVmll
d1dpbmRvdzsKICAgICBIV05EIG1fb3ZlcmxheTsKICAgICBIV05EIG1fb2JzZXJ2ZWRXaW5kb3c7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGNlNTdlMGY5ZDdhNjA1NmM4ZGVjN2QwOWQ3NDEzZWI3
ODBmZTY2NjMuLjIzN2MyMjljNGVlMmEyMDMyOTIzNjhlYjZkMjU3YjZkODI5NmNjNTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCkBAIC0zODUsOSArMzg1LDcgQEAgV2ViVmlldzo6V2ViVmlldygpCiAg
ICAgLCBtX3ZpZXdXaW5kb3coMCkKICAgICAsIG1fbWFpbkZyYW1lKDApCiAgICAgLCBtX3BhZ2Uo
MCkKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoMCkKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwgbV9oYXNDdXN0b21Ecm9wVGFyZ2V0KGZh
bHNlKQogICAgICwgbV91c2VCYWNrRm9yd2FyZExpc3QodHJ1ZSkKICAgICAsIG1fdXNlckFnZW50
T3ZlcnJpZGRlbihmYWxzZSkKQEAgLTc3MywxMSArNzcxLDkgQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJWaWV3OjpjbG9zZSgpCiAgICAgc2V0VUlEZWxlZ2F0ZSgwKTsKICAgICBzZXRG
b3JtRGVsZWdhdGUoMCk7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIG1faW5zcGVjdG9y
Q2xpZW50ID0gMDsKICAgICBpZiAobV93ZWJJbnNwZWN0b3IpCiAgICAgICAgIG1fd2ViSW5zcGVj
dG9yLT53ZWJWaWV3Q2xvc2VkKCk7Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAogICAg
IGRlbGV0ZSBtX3BhZ2U7CiAgICAgbV9wYWdlID0gMDsKQEAgLTI4MDAsMTggKzI3OTYsMTQgQEAg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKAogICAgIGlm
IChTVUNDRUVERUQobV9wcmVmZXJlbmNlcy0+c2hvdWxkVXNlSGlnaFJlc29sdXRpb25UaW1lcnMo
JnVzZUhpZ2hSZXNvbHV0aW9uVGltZXIpKSkKICAgICAgICAgU2V0dGluZ3M6OnNldFNob3VsZFVz
ZUhpZ2hSZXNvbHV0aW9uVGltZXJzKHVzZUhpZ2hSZXNvbHV0aW9uVGltZXIpOwogCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBtX2luc3BlY3RvckNsaWVudCA9IG5ldyBXZWJJbnNwZWN0b3JD
bGllbnQodGhpcyk7Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAogICAgIFBhZ2VDb25m
aWd1cmF0aW9uIGNvbmZpZ3VyYXRpb247CiAgICAgY29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQg
PSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogICAgIGNvbmZpZ3VyYXRpb24uY29udGV4dE1l
bnVDbGllbnQgPSBuZXcgV2ViQ29udGV4dE1lbnVDbGllbnQodGhpcyk7CiAgICAgY29uZmlndXJh
dGlvbi5lZGl0b3JDbGllbnQgPSBuZXcgV2ViRWRpdG9yQ2xpZW50KHRoaXMpOwogICAgIGNvbmZp
Z3VyYXRpb24uZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFnQ2xpZW50KHRoaXMpOwotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgY29uZmlndXJhdGlvbi5pbnNwZWN0b3JDbGllbnQgPSBtX2luc3Bl
Y3RvckNsaWVudDsKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGNvbmZpZ3VyYXRp
b24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbmV3IFdlYkZyYW1lTG9hZGVyQ2xpZW50Owog
ICAgIGNvbmZpZ3VyYXRpb24uZGF0YWJhc2VQcm92aWRlciA9ICZXZWJEYXRhYmFzZVByb3ZpZGVy
OjpzaGFyZWQoKTsKICAgICBjb25maWd1cmF0aW9uLnN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlciA9
IFdlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6Y3JlYXRlKGxvY2FsU3RvcmFnZURhdGFiYXNl
UGF0aChtX3ByZWZlcmVuY2VzLmdldCgpKSk7CkBAIC01OTA2LDE0ICs1ODk4LDEwIEBAIGJvb2wg
V2ViVmlldzo6b25JTUVTZXRDb250ZXh0KFdQQVJBTSB3cGFyYW0sIExQQVJBTSkKIAogSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjppbnNwZWN0b3IoSVdlYkluc3BlY3RvcioqIGlu
c3BlY3RvcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmICghbV93ZWJJbnNwZWN0
b3IpCiAgICAgICAgIG1fd2ViSW5zcGVjdG9yLmFkb3B0UmVmKFdlYkluc3BlY3Rvcjo6Y3JlYXRl
SW5zdGFuY2UodGhpcywgbV9pbnNwZWN0b3JDbGllbnQpKTsKIAogICAgIHJldHVybiBtX3dlYklu
c3BlY3Rvci5jb3B5UmVmVG8oaW5zcGVjdG9yKTsKLSNlbHNlIC8vICFFTkFCTEUoSU5TUEVDVE9S
KQotICAgIHJldHVybiBTX09LOwotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiB9CiAKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC93
aW4vV2ViVmlldy5oCmluZGV4IGI2OWMzMmI3NThhMzA5OGNkNzhiYzQ2ZmM1MzY3ZDY4YzQ1MWJi
ZmIuLjY3MjU5YjI0Yzk1YzAzMWE4MTFhMWQyMjZlMGZjMmUzZTM0N2VlMTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJW
aWV3LmgKQEAgLTEwNjYsMTAgKzEwNjYsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgSFdORCBtX3ZpZXdX
aW5kb3c7CiAgICAgV2ViRnJhbWUqIG1fbWFpbkZyYW1lOwogICAgIFdlYkNvcmU6OlBhZ2UqIG1f
cGFnZTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIFdlYkluc3BlY3RvckNsaWVudCogbV9p
bnNwZWN0b3JDbGllbnQ7Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLSAgICAKKwogICAg
IFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRHRElPYmplY3Q8SEJJVE1BUD4+IG1fYmFja2luZ1N0b3Jl
Qml0bWFwOwogICAgIFNJWkUgbV9iYWNraW5nU3RvcmVTaXplOwogICAgIFJlZlB0cjxXZWJDb3Jl
OjpTaGFyZWRHRElPYmplY3Q8SFJHTj4+IG1fYmFja2luZ1N0b3JlRGlydHlSZWdpb247CkBAIC0x
MDg2LDkgKzEwODQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgQ09NUHRyPElXZWJEb3dubG9hZERlbGVn
YXRlPiBtX2Rvd25sb2FkRGVsZWdhdGU7CiAgICAgQ09NUHRyPElXZWJIaXN0b3J5RGVsZWdhdGU+
IG1faGlzdG9yeURlbGVnYXRlOwogICAgIENPTVB0cjxXZWJQcmVmZXJlbmNlcz4gbV9wcmVmZXJl
bmNlczsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIENPTVB0cjxXZWJJbnNwZWN0b3I+IG1f
d2ViSW5zcGVjdG9yOwotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgQ09NUHRyPElX
ZWJHZW9sb2NhdGlvblByb3ZpZGVyPiBtX2dlb2xvY2F0aW9uUHJvdmlkZXI7CiAKICAgICBib29s
IG1fdXNlckFnZW50T3ZlcnJpZGRlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMWFjZTQ4YzdhOTBlOTI2MmNi
M2MwYjU4NDQ4ODRkYTA0NjEwNDY1YS4uNmM0YmY1ZDBjMjYzYmYwODRlMGU1YjM2ZmE5ODc2NDA4
OTQ4OGNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTEwNCw3ICsxMDQsNiBAQCBFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUw7CiBFTkFCTEVfSU5QVVRfVFlQRV9NT05USFtzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USDsKIEVOQUJMRV9JTlBVVF9UWVBFX1RJTUVbc2RrPWlwaG9uZSpdID0gRU5B
QkxFX0lOUFVUX1RZUEVfVElNRTsKIEVOQUJMRV9JTlBVVF9UWVBFX1dFRUtbc2RrPWlwaG9uZSpd
ID0gRU5BQkxFX0lOUFVUX1RZUEVfV0VFSzsKLUVOQUJMRV9JTlNQRUNUT1IgPSBFTkFCTEVfSU5T
UEVDVE9SOwogCiBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSU1tzZGs9aXBo
b25lKl0gPSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVSUzsKIEVOQUJMRV9J
TlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTW3Nkaz1tYWNvc3gqXSA9ICQoRU5BQkxFX0lO
U1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZF
UlNJT05fTUFKT1IpKQpAQCAtMjI2LDQgKzIyNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7
CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5E
RVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlNQRUNUT1IpICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1Rf
QVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJ
T05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRI
TUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
SFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1Rf
QVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJ
T05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRI
TUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAppbmRleCA4NzdjODM5MjVkMDhjNWFl
MmZkNjI0YjhiNjVhYzYwMGFlODI1ODlkLi5kZDRkYmNjZjViMzYzNzFmYzAxNzliOTIxMmZjNWI5
ZmU2NzdjZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFy
ZWRBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJ
Q2FzdC5oCkBAIC00NTMsMTAgKzQ1Myw4IEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0
b0FQSShXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiAgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZzsKICAgICBjYXNlIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlOgogICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmU7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0luc3Bl
Y3RFbGVtZW50OgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVs
ZW1lbnQ7Ci0jZW5kaWYKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHRE
aXJlY3Rpb25NZW51OgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERp
cmVjdGlvbk1lbnU7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGly
ZWN0aW9uRGVmYXVsdDoKQEAgLTY0NywxMCArNjQ1LDggQEAgaW5saW5lIFdlYkNvcmU6OkNvbnRl
eHRNZW51QWN0aW9uIHRvSW1wbChXS0NvbnRleHRNZW51SXRlbVRhZyB0YWcpCiAgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZzsK
ICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlOgogICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRp
dmU7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z0luc3BlY3RFbGVtZW50OgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnSW5zcGVjdEVsZW1lbnQ7Ci0jZW5kaWYKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1RleHREaXJlY3Rpb25NZW51OgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVGFnVGV4dERpcmVjdGlvbk1lbnU7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uRGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKaW5kZXggYWI2ZWE5MGY4NjYwZDg1ZGM1MzJmODZmNmUyMTU2N2Ni
YWU4MTU1Ni4uNGMxYTdjNzMzNTI1ZTM5NWY0NDljYThmMWMxNWRkZWQ1NmQzNWE2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTY4
Niw5ICs2ODYsNyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2Rl
KEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgUmVzbwogICAgIGVuY29kZXIgPDwgcmVz
b3VyY2VSZXF1ZXN0LmNhY2hlUGFydGl0aW9uKCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgZW5jb2RlciA8PCByZXNvdXJjZVJlcXVlc3QuaGlkZGVuRnJvbUluc3BlY3Rv
cigpOwotI2VuZGlmCiAKICAgICBpZiAocmVzb3VyY2VSZXF1ZXN0LmVuY29kaW5nUmVxdWlyZXNQ
bGF0Zm9ybURhdGEoKSkgewogICAgICAgICBlbmNvZGVyIDw8IHRydWU7CkBAIC03MDgsMTIgKzcw
NiwxMCBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZGVjb2RlKEFyZ3Vt
ZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VSZQogICAgIHJlc291cmNlUmVxdWVzdC5zZXRD
YWNoZVBhcnRpdGlvbihjYWNoZVBhcnRpdGlvbik7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgYm9vbCBpc0hpZGRlbkZyb21JbnNwZWN0b3I7CiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShpc0hpZGRlbkZyb21JbnNwZWN0b3IpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgcmVzb3VyY2VSZXF1ZXN0LnNldEhpZGRlbkZyb21JbnNwZWN0b3IoaXNIaWRkZW5Gcm9tSW5z
cGVjdG9yKTsKLSNlbmRpZgogCiAgICAgYm9vbCBoYXNQbGF0Zm9ybURhdGE7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShoYXNQbGF0Zm9ybURhdGEpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHAKaW5kZXggYTg4NzI2MjMxMDE3Njc2YmQwMGJhYTlm
YTg0MzUwNGE0MTQyZWUzOS4uNzVhMWNkNDgwN2U2MzU5YmI2YWIyOTljOTlmZTkwMjEzZDMxZjdj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuY3Bw
CkBAIC0zNiwxNjIgKzM2LDg3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLVHlwZUlE
IFdLSW5zcGVjdG9yR2V0VHlwZUlEKCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHJl
dHVybiB0b0FQSShXZWJJbnNwZWN0b3JQcm94eTo6QVBJVHlwZSk7Ci0jZWxzZQotICAgIHJldHVy
biAwOwotI2VuZGlmCiB9CiAKIFdLUGFnZVJlZiBXS0luc3BlY3RvckdldFBhZ2UoV0tJbnNwZWN0
b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgcmV0dXJu
IHRvQVBJKHRvSW1wbChpbnNwZWN0b3JSZWYpLT5wYWdlKCkpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAgICByZXR1cm4gMDsKLSNlbmRpZgogfQogCiBib29sIFdL
SW5zcGVjdG9ySXNDb25uZWN0ZWQoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgcmV0dXJuIHRvSW1wbChpbnNwZWN0b3JSZWYpLT5pc0Nv
bm5lY3RlZCgpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAgICBy
ZXR1cm4gZmFsc2U7Ci0jZW5kaWYKIH0KIAogYm9vbCBXS0luc3BlY3RvcklzVmlzaWJsZShXS0lu
c3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBy
ZXR1cm4gdG9JbXBsKGluc3BlY3RvclJlZiktPmlzVmlzaWJsZSgpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKIH0KIAog
Ym9vbCBXS0luc3BlY3RvcklzRnJvbnQoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogewot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgcmV0dXJuIHRvSW1wbChpbnNwZWN0b3JSZWYpLT5p
c0Zyb250KCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotICAgIHJl
dHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiB2b2lkIFdLSW5zcGVjdG9yQ29ubmVjdChXS0luc3Bl
Y3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0lt
cGwoaW5zcGVjdG9yUmVmKS0+Y29ubmVjdCgpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5z
cGVjdG9yUmVmKTsKLSNlbmRpZgogfQogCiB2b2lkIFdLSW5zcGVjdG9yU2hvdyhXS0luc3BlY3Rv
clJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwo
aW5zcGVjdG9yUmVmKS0+c2hvdygpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9y
UmVmKTsKLSNlbmRpZgogfQogCiB2b2lkIFdLSW5zcGVjdG9ySGlkZShXS0luc3BlY3RvclJlZiBp
bnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVj
dG9yUmVmKS0+aGlkZSgpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsK
LSNlbmRpZgogfQogCiB2b2lkIFdLSW5zcGVjdG9yQ2xvc2UoV0tJbnNwZWN0b3JSZWYgaW5zcGVj
dG9yUmVmKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdG9JbXBsKGluc3BlY3RvclJl
ZiktPmNsb3NlKCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotI2Vu
ZGlmCiB9CiAKIHZvaWQgV0tJbnNwZWN0b3JTaG93Q29uc29sZShXS0luc3BlY3RvclJlZiBpbnNw
ZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9y
UmVmKS0+c2hvd0NvbnNvbGUoKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGluc3BlY3RvclJl
Zik7Ci0jZW5kaWYKIH0KIAogdm9pZCBXS0luc3BlY3RvclNob3dSZXNvdXJjZXMoV0tJbnNwZWN0
b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdG9JbXBs
KGluc3BlY3RvclJlZiktPnNob3dSZXNvdXJjZXMoKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFN
KGluc3BlY3RvclJlZik7Ci0jZW5kaWYKIH0KIAogdm9pZCBXS0luc3BlY3RvclNob3dNYWluUmVz
b3VyY2VGb3JGcmFtZShXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYsIFdLRnJhbWVSZWYgZnJh
bWVSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVm
KS0+c2hvd01haW5SZXNvdXJjZUZvckZyYW1lKHRvSW1wbChmcmFtZVJlZikpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAgICBVTlVTRURfUEFSQU0oZnJhbWVSZWYp
OwotI2VuZGlmCiB9CiAKIGJvb2wgV0tJbnNwZWN0b3JJc0F0dGFjaGVkKFdLSW5zcGVjdG9yUmVm
IGluc3BlY3RvclJlZikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVybiB0b0lt
cGwoaW5zcGVjdG9yUmVmKS0+aXNBdHRhY2hlZCgpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
aW5zcGVjdG9yUmVmKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKIH0KIAogdm9pZCBXS0lu
c3BlY3RvckF0dGFjaChXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+YXR0YWNoKCk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotI2VuZGlmCiB9CiAKIHZvaWQgV0tJbnNw
ZWN0b3JEZXRhY2goV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgdG9JbXBsKGluc3BlY3RvclJlZiktPmRldGFjaCgpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSNlbmRpZgogfQogCiBib29sIFdLSW5zcGVj
dG9ySXNQcm9maWxpbmdQYWdlKFdLSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVybiB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+aXNQcm9m
aWxpbmdQYWdlKCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotICAg
IHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiB2b2lkIFdLSW5zcGVjdG9yVG9nZ2xlUGFnZVBy
b2ZpbGluZyhXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+dG9nZ2xlUGFnZVByb2ZpbGluZygpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSNlbmRpZgogfQogCiAjZW5k
aWYgLy8gIVBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAKaW5kZXggNWRmNDY3YTA2ZTlmYzI4ODlhMmFhODk0MTY4M2ZmYmYyYzA3NjM3NS4uMDFh
ZWNhZjk5ZWY4MzAxMGE3NTc3OGE0MTg3MDMxYzg0MGUyMjMxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTI3NywxMiArMjc3LDcgQEAgdWludDY0X3Qg
V0tQYWdlR2V0UmVuZGVyVHJlZVNpemUoV0tQYWdlUmVmIHBhZ2UpCiAKIFdLSW5zcGVjdG9yUmVm
IFdLUGFnZUdldEluc3BlY3RvcihXS1BhZ2VSZWYgcGFnZVJlZikKIHsKLSNpZiBkZWZpbmVkKEVO
QUJMRV9JTlNQRUNUT1IpICYmIEVOQUJMRV9JTlNQRUNUT1IKICAgICByZXR1cm4gdG9BUEkodG9J
bXBsKHBhZ2VSZWYpLT5pbnNwZWN0b3IoKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdl
UmVmKTsKLSAgICByZXR1cm4gMDsKLSNlbmRpZgogfQogCiBXS1ZpYnJhdGlvblJlZiBXS1BhZ2VH
ZXRWaWJyYXRpb24oV0tQYWdlUmVmIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggNzgxN2M1ZGM0OGZjYzQyY2MzMDBhMWY0MjllZjU3
NmM4ZWMyNzgyMC4uY2JmMWMwNDQ4YTYyOWU2MTM1NGY2MWY2ZDYxMDA3ZGY5NzFlZGVjZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtMjMs
NiArMjMsNyBAQAogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKIAogI2luY2x1ZGUgIkV3
a1ZpZXcuaCIKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgogI2luY2x1ZGUgImV3a19i
YWNrX2ZvcndhcmRfbGlzdF9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfcHJpdmF0
ZS5oIgogI2luY2x1ZGUgImV3a19tYWluX3ByaXZhdGUuaCIKQEAgLTQyLDEwICs0Myw2IEBACiAj
aW5jbHVkZSA8V2ViS2l0L1dLVmlld0VmbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0jaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHku
aCIKLSNlbmRpZgotCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQogI2luY2x1ZGUgIldlYkFjY2Vz
c2liaWxpdHkuaCIKICNlbmRpZgpAQCAtNTA3LDcgKzUwNCw2IEBAIEVpbmFfQm9vbCBld2tfdmll
d190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAK
IEVpbmFfQm9vbCBld2tfdmlld19pbnNwZWN0b3Jfc2hvdyhFdmFzX09iamVjdCogZXdrVmlldykK
IHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVS
Tihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAKICAgICBXS0luc3BlY3RvclJlZiB3a0luc3BlY3Rv
ciA9IFdLUGFnZUdldEluc3BlY3RvcihpbXBsLT53a1BhZ2UoKSk7CkBAIC01MTUsMTUgKzUxMSwx
MCBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfaW5zcGVjdG9yX3Nob3coRXZhc19PYmplY3QqIGV3a1Zp
ZXcpCiAgICAgICAgIFdLSW5zcGVjdG9yU2hvdyh3a0luc3BlY3Rvcik7CiAKICAgICByZXR1cm4g
dHJ1ZTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGV3a1ZpZXcpOwotICAgIHJldHVybiBmYWxz
ZTsKLSNlbmRpZgogfQogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3NlKEV2YXNf
T2JqZWN0KiBld2tWaWV3KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRVdLX1ZJRVdf
SU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwsIGZhbHNlKTsKIAogICAgIFdLSW5zcGVj
dG9yUmVmIHdrSW5zcGVjdG9yID0gV0tQYWdlR2V0SW5zcGVjdG9yKGltcGwtPndrUGFnZSgpKTsK
QEAgLTUzMSwxMCArNTIyLDYgQEAgRWluYV9Cb29sIGV3a192aWV3X2luc3BlY3Rvcl9jbG9zZShF
dmFzX09iamVjdCogZXdrVmlldykKICAgICAgICAgV0tJbnNwZWN0b3JDbG9zZSh3a0luc3BlY3Rv
cik7CiAKICAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGV3a1ZpZXcp
OwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiBpbmxpbmUgV0tQYWdpbmF0aW9uTW9k
ZSB0b1dLUGFnaW5hdGlvbk1vZGUoRXdrX1BhZ2luYXRpb25fTW9kZSBtb2RlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX3Zp
ZXcuY3BwCmluZGV4IGYwYTA5Yjk3NmEwYmFjZGI2ODdjNmYwOTViMDdkN2M3NGE0NTUyMWQuLmJk
YmMyNjkzNTUzNDU3M2MxOTE5YTZhYWQ5MWQyODM2NjVmNTk2YzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl92aWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdmlldy5j
cHAKQEAgLTg5NywxMyArODk3LDggQEAgVEVTVF9GKEVXSzJWaWV3VGVzdCwgd2luZG93X21vdmVf
cmVzaXplKQogCiBURVNUX0YoRVdLMlZpZXdUZXN0LCBld2tfdmlld19pbnNwZWN0b3IpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBBU1NFUlRfVFJVRShld2tfdmlld19pbnNwZWN0b3Jf
c2hvdyh3ZWJWaWV3KCkpKTsKICAgICBBU1NFUlRfVFJVRShld2tfdmlld19pbnNwZWN0b3JfY2xv
c2Uod2ViVmlldygpKSk7Ci0jZWxzZQotICAgIEFTU0VSVF9GQUxTRShld2tfdmlld19pbnNwZWN0
b3Jfc2hvdyh3ZWJWaWV3KCkpKTsKLSAgICBBU1NFUlRfRkFMU0UoZXdrX3ZpZXdfaW5zcGVjdG9y
X2Nsb3NlKHdlYlZpZXcoKSkpOwotI2VuZGlmCiB9CiAKIFRFU1RfRihFV0syVmlld1Rlc3QsIGV3
a192aWV3X3NjYWxlX3dpdGhfZml4ZWRfbGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKaW5kZXggYmQxODI3YjY3NDE3YTY5YzU0MGM4YWI3ZTNmZmRjMjYzYTkzYjZjOS4u
YjI3ZmUzNmU1NjMwNDYwMzJlNjBjNTg3NjY1NzdiZmMxZDNkYzYwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yODUsNyArMjg1LDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBkaWRGaW5pc2hEcmF3aW5nUGFnZXNUb1BERihjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmKSA9IDA7CiAgICAgdmlydHVhbCBWZWN0b3I8U3RyaW5nPiBtaW1lVHlwZXNXaXRoQ3Vz
dG9tQ29udGVudFByb3ZpZGVycygpID0gMDsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
dmlydHVhbCB2b2lkIHNob3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxp
Z2h0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoaWRlSW5zcGVjdG9ySGlnaGxpZ2h0KCkgPSAw
OwogCkBAIC0yOTUsNyArMjk0LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBlbmFibGVJ
bnNwZWN0b3JOb2RlU2VhcmNoKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlSW5zcGVj
dG9yTm9kZVNlYXJjaCgpID0gMDsKICNlbmRpZgotI2VuZGlmCiAKICAgICAvLyBBdXhpbGlhcnkg
Q2xpZW50IENyZWF0aW9uCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKaW5kZXggNGVjYzFmYzNkY2Ez
NGJjNjQ4Y2FmYTllMzQxZjY2MjM0MTliMTgxNS4uNzNlYjM1NjlhNWJmMjllYWNiMjBjNDNkNjY4
NmM0ZmI2OTQzODY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYklu
c3BlY3RvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlICJBUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJBUElVUkxS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgiCkBAIC02
NDcsNSArNjQ1LDMgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6c2VuZE1lc3NhZ2VUb1JlbW90
ZUZyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCmluZGV4IGUzMGU2MWI4YmJlMTgxNDUzOTM0
MjBiNGVjZTcwNmUwYWQwNjA5NjAuLjE3ZTBjYzVmZTFhOWEzMTc1ODljNzlkY2QyZTAyNDliOWNl
OTVmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5o
CkBAIC0yNyw4ICsyNyw2IEBACiAjaWZuZGVmIFdlYkluc3BlY3RvclByb3h5X2gKICNkZWZpbmUg
V2ViSW5zcGVjdG9yUHJveHlfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUg
IkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJNZXNzYWdl
UmVjZWl2ZXIuaCIKQEAgLTI1OSw2ICsyNTcsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBXZWJJ
bnNwZWN0b3JQcm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZWI3ZmE5Yjk5ZDhkOTFkMzU2NWY1OGQx
ZGQ1ZWJhN2FiOTgzOTQ3ZC4uODgyODFjNjdjYTFlMDJhYjdlMTkxMmEwNjYyZDUxYjgwOWMwMWZh
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMjAsOCArMjAsNiBAQAogIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogbWVzc2FnZXMgLT4g
V2ViSW5zcGVjdG9yUHJveHkgewogICAgIENyZWF0ZUluc3BlY3RvclBhZ2UoSVBDOjpBdHRhY2ht
ZW50IGNvbm5lY3Rpb25JZGVudGlmaWVyLCBib29sIGNhbkF0dGFjaCwgYm9vbCB1bmRlclRlc3Qp
CiAKQEAgLTQ3LDUgKzQ1LDMgQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yUHJveHkgewogICAg
IFNlbmRNZXNzYWdlVG9SZW1vdGVGcm9udGVuZChTdHJpbmcgbWVzc2FnZSkKICNlbmRpZgogfQot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
MDMxNjU0ZGI2ZDlmY2IwYzlhZmFjMzVlM2I4YzJkMTJkMWZjMDZiMi4uZjdhMTRjODE0NDk2NjAw
ZTk4NzU0MjQxZDg4YjkyYWU0NGM2NDI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKQEAgLTQxMyw5ICs0MTMsNyBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQ
cm94eShQYWdlQ2xpZW50JiBwYWdlQ2xpZW50LCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MsIHVp
bgogICAgIG1fcHJlZmVyZW5jZXMtPmFkZFBhZ2UoKnRoaXMpOwogICAgIG1fcGFnZUdyb3VwLT5h
ZGRQYWdlKHRoaXMpOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBtX2luc3BlY3RvciA9
IFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGUodGhpcyk7Ci0jZW5kaWYKICNpZiBFTkFCTEUoRlVM
TFNDUkVFTl9BUEkpCiAgICAgbV9mdWxsU2NyZWVuTWFuYWdlciA9IFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHk6OmNyZWF0ZSgqdGhpcywgbV9wYWdlQ2xpZW50LmZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHlDbGllbnQoKSk7CiAjZW5kaWYKQEAgLTU5Niw5ICs1OTQsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6cmVhdHRhY2hUb1dlYlByb2Nlc3MoKQogICAgIHVwZGF0ZVZpZXdTdGF0ZSgpOwogICAgIHVw
ZGF0ZUFjdGl2aXR5VG9rZW4oKTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgbV9pbnNw
ZWN0b3IgPSBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlKHRoaXMpOwotI2VuZGlmCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIG1fZnVsbFNjcmVlbk1hbmFnZXIgPSBXZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5OjpjcmVhdGUoKnRoaXMsIG1fcGFnZUNsaWVudC5mdWxsU2NyZWVuTWFu
YWdlclByb3h5Q2xpZW50KCkpOwogI2VuZGlmCkBAIC03NTUsMTAgKzc1MSw4IEBAIGJvb2wgV2Vi
UGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5kYm94RXh0ZW5zaW9uSGFuZGxlKGNvbnN0IFVS
TCYgdXJsLCBTYW5kYm94CiAgICAgaWYgKG1fcHJvY2Vzcy0+aGFzQXNzdW1lZFJlYWRBY2Nlc3NU
b1VSTCh1cmwpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIC8vIEluc3BlY3RvciByZXNvdXJjZXMgYXJlIGluIGEgZGlyZWN0b3J5IHdpdGggYXNz
dW1lZCBhY2Nlc3MuCiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIVdlYklu
c3BlY3RvclByb3h5Ojppc0luc3BlY3RvclBhZ2UoKnRoaXMpKTsKLSNlbmRpZgogCiAgICAgU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwgU2FuZGJveEV4dGVuc2lvbjo6UmVhZE9u
bHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpOwogICAgIHJldHVybiB0cnVlOwpAQCAtMzU1NCw5
ICszNTQ4LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZERyYXcoKQogfQogCiAvLyBJbnNwZWN0
b3IKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KIFdlYkluc3BlY3RvclByb3h5KiBXZWJQYWdl
UHJveHk6Omluc3BlY3RvcigpCiB7CiAgICAgaWYgKGlzQ2xvc2VkKCkgfHwgIWlzVmFsaWQoKSkK
QEAgLTM1NjQsOCArMzU1NSw2IEBAIFdlYkluc3BlY3RvclByb3h5KiBXZWJQYWdlUHJveHk6Omlu
c3BlY3RvcigpCiAgICAgcmV0dXJuIG1faW5zcGVjdG9yLmdldCgpOwogfQogCi0jZW5kaWYKLQog
I2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkqIFdl
YlBhZ2VQcm94eTo6ZnVsbFNjcmVlbk1hbmFnZXIoKQogewpAQCAtNDUxMiwxMiArNDUwMSwxMCBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZShSZXNldFN0YXRlUmVhc29uIHJlc2V0U3Rh
dGVSZWFzb24pCiAgICAgbV9tYWluRnJhbWUgPSBudWxscHRyOwogICAgIG1fZHJhd2luZ0FyZWEg
PSBudWxscHRyOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAobV9pbnNwZWN0b3Ip
IHsKICAgICAgICAgbV9pbnNwZWN0b3ItPmludmFsaWRhdGUoKTsKICAgICAgICAgbV9pbnNwZWN0
b3IgPSBudWxscHRyOwogICAgIH0KLSNlbmRpZgogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQogICAgIGlmIChtX2Z1bGxTY3JlZW5NYW5hZ2VyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggZDM3ZmJkMDQ3Y2M5MWFkMDkxNDNhMTQ0MDI5Y2MzOWU5Mjll
ZDczZi4uMmRhZDBlOWJhOWIyYjQyODYyYzg4N2IzZGFkOGI5MjNkNDRjNzNkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjg2LDkgKzI4Niw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGRpZEVudGVyRnVsbHNjcmVlbigpOwogICAgIHZvaWQgZGlkRXhpdEZ1bGxz
Y3JlZW4oKTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgV2ViSW5zcGVjdG9yUHJveHkq
IGluc3BlY3RvcigpOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAg
ICBib29sIGFsbG93c1JlbW90ZUluc3BlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2FsbG93c1Jl
bW90ZUluc3BlY3Rpb247IH0KQEAgLTEyOTksNyArMTI5Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBzdGFydEFzc2lzdGluZ05vZGUoY29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mLCBib29s
IHVzZXJJc0ludGVyYWN0aW5nLCBib29sIGJsdXJQcmV2aW91c05vZGUsIGNvbnN0IFVzZXJEYXRh
Jik7CiAgICAgdm9pZCBzdG9wQXNzaXN0aW5nTm9kZSgpOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICB2b2lkIHNob3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxp
Z2h0Jik7CiAgICAgdm9pZCBoaWRlSW5zcGVjdG9ySGlnaGxpZ2h0KCk7CiAKQEAgLTEzMDgsNyAr
MTMwNSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGVuYWJsZUluc3BlY3Rvck5vZGVTZWFyY2go
KTsKICAgICB2b2lkIGRpc2FibGVJbnNwZWN0b3JOb2RlU2VhcmNoKCk7Ci0jZW5kaWYKKwogICAg
IHZvaWQgbm90aWZ5UmV2ZWFsZWRTZWxlY3Rpb24oKTsKICNlbmRpZiAvLyBQTEFURk9STShJT1Mp
CiAKQEAgLTEzOTksOSArMTM5Niw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fY3VzdG9tVXNl
ckFnZW50OwogICAgIFN0cmluZyBtX2N1c3RvbVRleHRFbmNvZGluZ05hbWU7CiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIFJlZlB0cjxXZWJJbnNwZWN0b3JQcm94eT4gbV9pbnNwZWN0b3I7
Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBSZWZQdHI8V2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eT4gbV9mdWxsU2NyZWVuTWFuYWdlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGY4ZTA4MDNi
MjBmNzAxOWRlOWM3MTAzMjhkZGIwNTgyYTI4NTBjOGUuLjAwMzVhZjhmMDdiMjk1NWFjODQxNmEz
MzRkM2Y1NjNiYmRiYjM5MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzYxLDcgKzM2MSw2IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgU3RvcEFzc2lzdGluZ05vZGUoKQogICAgIE5vdGlmeVJldmVhbGVk
U2VsZWN0aW9uKCkKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgU2hvd0luc3BlY3Rvckhp
Z2hsaWdodChzdHJ1Y3QgV2ViQ29yZTo6SGlnaGxpZ2h0IGhpZ2hsaWdodCkKICAgICBIaWRlSW5z
cGVjdG9ySGlnaGxpZ2h0KCkKIApAQCAtMzcxLDcgKzM3MCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2VQcm94eSB7CiAgICAgRW5hYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpCiAgICAgRGlzYWJsZUlu
c3BlY3Rvck5vZGVTZWFyY2goKQogI2VuZGlmCi0jZW5kaWYKIAogICAgICMgU2VhcmNoIHBvcHVw
IG1lbnVzCiAgICAgU2F2ZVJlY2VudFNlYXJjaGVzKFN0cmluZyBuYW1lLCBWZWN0b3I8U3RyaW5n
PiBzZWFyY2hJdGVtcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKaW5kZXggYzYzYmExZDVkYjI1ZWQxYjQxNjE2ZTlkMTQ2ODljMGJhMjFjMmEzZi4uZGM2
YTNhY2U4NTI3YzIxYTM5ZjUwMjJlOWEzZjBkM2RiZWYwZDdiMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTExNiwxMCArMTE2LDggQEAgV2Vi
UHJvY2Vzc1Byb3h5Ojp+V2ViUHJvY2Vzc1Byb3h5KCkKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpn
ZXRMYXVuY2hPcHRpb25zKFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0
aW9ucykKIHsKICAgICBsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID0gUHJvY2Vzc0xhdW5jaGVy
OjpXZWJQcm9jZXNzOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKCZtX3Byb2Nlc3NQ
b29sLmdldCgpID09ICZXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUHJvY2Vzc1Bvb2woKSkK
ICAgICAgICAgbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5hZGQoQVNDSUlM
aXRlcmFsKCJpbnNwZWN0b3ItcHJvY2VzcyIpLCBBU0NJSUxpdGVyYWwoIjEiKSk7Ci0jZW5kaWYK
ICAgICBwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMobGF1bmNoT3B0aW9ucyk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5j
cHAKaW5kZXggYjZiM2MyODg5M2ZhYjYwMzFlZTVkMTVmOWVhY2YyYTliNjY2ODM0Mi4uYmRkMTBh
MzkzODkzNzU4MTRhY2FiYTUzMDljOGI2MzJhOTNlYzhlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKQEAgLTI2LDgg
KzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94
eS5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkV3a1ZpZXcuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9wcml2YXRl
LmgiCkBAIC0yNDgsNSArMjQ2LDMgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1B
dHRhY2hBdmFpbGFiaWxpdHlDaGFuZ2VkKGJvb2wpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKaW5kZXggMzU4ZjA0N2My
MzJhM2U3MWRjMTBjYjE1NzBkYjkwNWM2NTFmMzQwYi4uZWU2NzI3MTJkOGI1NmJhYTljNTcwNDQz
YTMwNjQyZTFmYjg3MzIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0
ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKQEAgLTI5LDggKzI5LDYgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIldlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5o
PgpAQCAtMzE5LDUgKzMxNywzIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQXR0
YWNoQXZhaWxhYmlsaXR5Q2hhbmdlZChib29sIGF2YWlsYWJsZSkKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDIzNWYyMmEzMTA5
ODY4YWI3ZTEyNjY4NTMyYTlmYmY0ZmVkMmYxMmMuLjVkMWU3ODEwZDljNTE1MGIyMDAyMTg5YTc2
YjdmYTIyZmZlYWM2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmgKQEAgLTEzMiw3ICsxMzIsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgZG91YmxlIG1pbmltdW1ab29tU2NhbGUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IFdlYkNvcmU6OkZsb2F0U2l6ZSBjb250ZW50c1NpemUoKSBjb25zdCBvdmVycmlkZTsKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdmlydHVhbCB2b2lkIHNob3dJbnNwZWN0b3JIaWdobGln
aHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IGhpZGVJbnNwZWN0b3JIaWdobGlnaHQoKSBvdmVycmlkZTsKIApAQCAtMTQxLDcgKzE0MCw2IEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgp
IG92ZXJyaWRlOwotI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgem9vbVRvUmVjdChXZWJDb3Jl
OjpGbG9hdFJlY3QsIGRvdWJsZSBtaW5pbXVtU2NhbGUsIGRvdWJsZSBtYXhpbXVtU2NhbGUpIG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBvdmVyZmxvd1Njcm9sbFZpZXdXaWxsU3RhcnRQYW5H
ZXN0dXJlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCAwNTBkMTRiYWMzY2M4ZjRjMDQwOWJiNzU1NzNhZTlj
YTMzNWU4OWQ2Li4zY2FiMjhhNDk4OGU3YjJjMmY2MmM1ZmE5MjdkMzA3NzA4YjY3MGQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0K
QEAgLTU1NCw3ICs1NTQsNiBAQCBib29sIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVSdW5PcGVuUGFu
ZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIFdlYk9wZW5QYQogICAgIHJldHVybiB0
cnVlOwogfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKIHZvaWQgUGFnZUNsaWVudEltcGw6OnNo
b3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0JiBoaWdobGlnaHQp
CiB7CiAgICAgW21fY29udGVudFZpZXcgX3Nob3dJbnNwZWN0b3JIaWdobGlnaHQ6aGlnaGxpZ2h0
XTsKQEAgLTU4NCw3ICs1ODMsNiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaXNhYmxlSW5zcGVj
dG9yTm9kZVNlYXJjaCgpCiB7CiAgICAgW21fY29udGVudFZpZXcgX2Rpc2FibGVJbnNwZWN0b3JO
b2RlU2VhcmNoXTsKIH0KLSNlbmRpZgogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYkluc3BlY3RvclByb3h5
SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJJbnNwZWN0b3JQcm94eUlP
Uy5tbQppbmRleCBhOTljODRkZDhlZjIzY2JlNGU3OTY0OTQxODJkNjE4MGI4ODc0NmUxLi41ZWNi
NmE3MDMxNGJiYzM1OGZlZGM3MTYyYWM1ZTcyOTJiNGNjMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYkluc3BlY3RvclByb3h5SU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViSW5zcGVjdG9yUHJveHlJT1MubW0KQEAgLTI2LDcg
KzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViSW5zcGVjdG9yUHJveHku
aCIKIAotI2lmIFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKElOU1BFQ1RPUikKKyNpZiBQTEFURk9S
TShJT1MpCiAKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KIApAQCAtMTQ2LDQg
KzE0Niw0IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQXR0YWNoQXZhaWxhYmls
aXR5Q2hhbmdlZChib29sIGF2YWlsYWJsZSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNl
bmRpZiAvLyBQTEFURk9STShJT1MpICYmIEVOQUJMRShJTlNQRUNUT1IpCisjZW5kaWYgLy8gUExB
VEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQ
YWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94
eUlPUy5tbQppbmRleCAzYmEzNjBhZjBiYTc2NTg0MzFjZDMwM2RiMTQzYzkxYTkzMGU0Zjc2Li42
OTllNzBkOTA0NTdjMmU4M2M1MWFkMTI5NDk4ZGUxZWM3NTUwYTM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtNzYzLDcgKzc2Myw2
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzdG9wQXNzaXN0aW5nTm9kZSgpCiAgICAgbV9wYWdlQ2xp
ZW50LnN0b3BBc3Npc3RpbmdOb2RlKCk7CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9p
ZCBXZWJQYWdlUHJveHk6OnNob3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGln
aGxpZ2h0JiBoaWdobGlnaHQpCiB7CiAgICAgbV9wYWdlQ2xpZW50LnNob3dJbnNwZWN0b3JIaWdo
bGlnaHQoaGlnaGxpZ2h0KTsKQEAgLTc5Myw3ICs3OTIsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlzYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKQogewogICAgIG1fcGFnZUNsaWVudC5kaXNhYmxl
SW5zcGVjdG9yTm9kZVNlYXJjaCgpOwogfQotI2VuZGlmCiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpm
b2N1c05leHRBc3Npc3RlZE5vZGUoYm9vbCBpc0ZvcndhcmQsIHN0ZDo6ZnVuY3Rpb248dm9pZCAo
Q2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrRnVuY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCA0
Y2RkN2ZiZWRhZmE2OGQ0NjJhYTU5MTAxNzkzZTQzODMyMjU5ODJhLi44OWIwYTlmNTMzNDI5ZTA2
MWU2NGRkZTFmOTU5Y2I2ZGZjYzcyNDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNp
bXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViSW5zcGVjdG9yUHJveHkuaCIKIAotI2lmIFBM
QVRGT1JNKE1BQykgJiYgRU5BQkxFKElOU1BFQ1RPUikKKyNpZiBQTEFURk9STShNQUMpCiAKICNp
bXBvcnQgIldLQVBJQ2FzdC5oIgogI2ltcG9ydCAiV0tJbnNwZWN0b3JQcml2YXRlTWFjLmgiCkBA
IC04OTIsNCArODkyLDQgQEAgU3RyaW5nIFdlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JCYXNl
VVJMKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBQTEFURk9S
TShNQUMpICYmIEVOQUJMRShJTlNQRUNUT1IpCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUluc3BlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNwcAppbmRleCAxMGFiOTFjMjk5NzkxZDgx
MzBlNmIwODI3ZGZjNzY5Zjc1OTIxZTliLi4wZjBlMGFmZTlkMTlhMzYyZjViNWMwMTMyYTlhMzU3
ZjgyYmYzYWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNwcApAQCAt
MzUsNTAgKzM1LDI4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLVHlwZUlEIFdLQnVu
ZGxlSW5zcGVjdG9yR2V0VHlwZUlEKCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHJl
dHVybiB0b0FQSShXZWJJbnNwZWN0b3I6OkFQSVR5cGUpOwotI2Vsc2UKLSAgICByZXR1cm4gdG9B
UEkoQVBJOjpPYmplY3Q6OlR5cGU6Ok51bGwpOwotI2VuZGlmCiB9CiAKIHZvaWQgV0tCdW5kbGVJ
bnNwZWN0b3JTaG93KFdLQnVuZGxlSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIHRvSW1wbChpbnNwZWN0b3JSZWYpLT5zaG93KCk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotI2VuZGlmCiB9CiAKIHZvaWQgV0tC
dW5kbGVJbnNwZWN0b3JDbG9zZShXS0J1bmRsZUluc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+Y2xvc2Uo
KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGluc3BlY3RvclJlZik7Ci0jZW5kaWYKIH0KIAog
dm9pZCBXS0J1bmRsZUluc3BlY3RvckV2YWx1YXRlU2NyaXB0Rm9yVGVzdChXS0J1bmRsZUluc3Bl
Y3RvclJlZiBpbnNwZWN0b3JSZWYsIFdLU3RyaW5nUmVmIHNjcmlwdCkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIHRvSW1wbChpbnNwZWN0b3JSZWYpLT5ldmFsdWF0ZVNjcmlwdEZvclRl
c3QodG9XVEZTdHJpbmcoc2NyaXB0KSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShzY3JpcHQp
OwotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotI2VuZGlmCiB9CiAKIHZvaWQgV0tC
dW5kbGVJbnNwZWN0b3JTZXRQYWdlUHJvZmlsaW5nRW5hYmxlZChXS0J1bmRsZUluc3BlY3RvclJl
ZiBpbnNwZWN0b3JSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIGlmIChlbmFibGVkKQogICAgICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+c3RhcnRQYWdl
UHJvZmlsaW5nKCk7CiAgICAgZWxzZQogICAgICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+c3Rv
cFBhZ2VQcm9maWxpbmcoKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwotICAg
IFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5jcHAKaW5kZXggYmEyMzI5NmQ3OWU0ODlhMjVlNjJkM2E4YjcwZjM3ODdlZTY4OTg0
Ni4uNjg3YjVjZTUwNjEyYTZiZTg3OWNmYjNkMGNiMGY4NDVmMGU3ZTNiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtNDYyLDEyICs0NjIsNyBAQCB2b2lkIFdLQnVuZGxlUGFn
ZUxpc3RlbkZvckxheW91dE1pbGVzdG9uZXMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLTGF5
b3V0TWlsZQogCiBXS0J1bmRsZUluc3BlY3RvclJlZiBXS0J1bmRsZVBhZ2VHZXRJbnNwZWN0b3Io
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBy
ZXR1cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5pbnNwZWN0b3IoKSk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShwYWdlUmVmKTsKLSAgICByZXR1cm4gMDsKLSNlbmRpZgogfQogCiB2b2lkIFdL
QnVuZGxlUGFnZUZvcmNlUmVwYWludChXS0J1bmRsZVBhZ2VSZWYgcGFnZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50LmNwcAppbmRleCA0ZDcyY2FjMzgyYWRlZTUzYzJjNGM1NWFhYzZkYjBmMWUz
MzJjMGViLi41YTdmMTcwMGJkMTlhYmNhYTdmNzg1NmRhMmEwM2ViNmNlMjZmMWIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0
b3IuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCkBAIC0yMjcsNSArMjI1LDMgQEAgYm9vbCBXZWJJ
bnNwZWN0b3JDbGllbnQ6Om1vdXNlRXZlbnQoUGFnZU92ZXJsYXkmLCBjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCBkZmMwMzhhZTg1NWNh
MzM3N2Y0MTU4YzBmZGU1NzI3MjkyNWU2ZDc2Li45YTQ0MDBiZTVhYmE2Yjk5NTE1ZjZkODkxZjZl
OWE4MTU2NzhhNDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTI2LDggKzI2LDYg
QEAKICNpZm5kZWYgV2ViSW5zcGVjdG9yQ2xpZW50X2gKICNkZWZpbmUgV2ViSW5zcGVjdG9yQ2xp
ZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxXZWJDb3JlL0luc3Bl
Y3RvckNsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZU92ZXJsYXkuaD4KQEAgLTkyLDYgKzkwLDQgQEAgcHJpdmF0
ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjZW5kaWYgLy8gV2ViSW5zcGVjdG9yQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQuaAppbmRleCBjMzc3ZWY1ZjNjM2MzNmU5NmYxMWJlNWZhM2RmNTIy
NjI2ODIwMzE0Li45M2Y2NzIzOWE4NDk4NDg3ZTI3YWE5ZDE2MjBmZDE1ODhkNDMyMWFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCkBAIC0yNiw4ICsyNiw2IEBA
CiAjaWZuZGVmIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50X2gKICNkZWZpbmUgV2ViSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUg
PFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKQEAgLTYyLDYgKzYwLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gV2ViSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViSW5zcGVjdG9yLmNwcAppbmRleCA2MmFmY2ExNzEwMDAxOTgzNWJmNjM1NjBmY2JlMTM5
YmU3YmI5Yzc3Li40YWFkZjcwOWVjY2JjZTg0YTFlNTMwNzlhOWZjZWQwODAzMGYyMzcyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNw
cApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYklu
c3BlY3Rvci5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIldlYkZyYW1l
LmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNw
ZWN0b3JQcm94eU1lc3NhZ2VzLmgiCkBAIC0yNDEsNSArMjM5LDMgQEAgdm9pZCBXZWJJbnNwZWN0
b3I6OnJlbW90ZUZyb250ZW5kRGlzY29ubmVjdGVkKCkKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKaW5kZXggMWYzOWIwMWIxNmY3
YzcyYmM2YzBiYzQwNjVkN2VlMTllZDJjNGJmNS4uOGRmMmIyNzk5ZTc1NzEzNWQ3ODY4ZjYxMDA1
NjRkZmMxNWM3OWYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkluc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3IuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJJbnNwZWN0b3Jf
aAogI2RlZmluZSBXZWJJbnNwZWN0b3JfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJN
ZXNzYWdlUmVjZWl2ZXIuaCIKQEAgLTExMSw2ICsxMDksNCBAQCBwcml2YXRlOgogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAv
LyBXZWJJbnNwZWN0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KaW5kZXggZmMwNzNjYWU4ZGRkMzVm
YWEzMjMzYjdkZTk1NTI5ZjdlMzk2NDI4MC4uZmU0ZTBhYzQwYWQyYmNlOTc3OGI1NGM0OWZlNTM1
NWY1ZTVlZDdmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCkBAIC0yMCw4ICsyMCw2IEBACiAjIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3IgewogICAgIFNob3coKQogICAgIENsb3NlKCkK
QEAgLTQ1LDUgKzQzLDMgQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yIHsKICAgICBSZW1vdGVG
cm9udGVuZERpc2Nvbm5lY3RlZCgpCiAjZW5kaWYKIH0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmNwcAppbmRleCA1
MjMzNzY1NzgxOGM1ZWQwZjM4YTU1MjlmMDA5MjBlNzg4NTZhYzMyLi43YzljZTZkNmQwNDdlZmY2
OTliMTc3YmU0ODY0NTBhOTE1Yjc5ZWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JVSS5oIgogCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIldlYkluc3BlY3Rvck1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBhZ2UuaCIK
QEAgLTI4NCw1ICsyODIsMyBAQCB2b2lkIFdlYkluc3BlY3RvclVJOjpldmFsdWF0ZVBlbmRpbmdF
eHByZXNzaW9ucygpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3RvclVJLmgKaW5kZXggMzc4Yzg4MjFhZThhYjk2MTYxNDQ0YmRmOGEyYThlNTMz
YTM2OTJjOC4uOGJlZjE3NzJmMzIyZjJiOTBkOTQwYjY3M2ZiMmM5MTBhYzVlMmUzOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgK
QEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgV2ViSW5zcGVjdG9yVUlfaAogI2RlZmluZSBXZWJJ
bnNwZWN0b3JVSV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQVBJT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVj
dG9yRm9yd2FyZGluZy5oPgpAQCAtMTMyLDYgKzEzMCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8v
IFdlYkluc3BlY3RvclVJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbgppbmRleCAyM2ViNWZkNThh
NjdhOWYwZWJmMTFkZWM2NWI1NjQ4YjY4OTAxNDM5Li5iYTI2YmRkOTU4MWY1ZjA2MjY0NDQzZDQw
MzQ4MjQzNTBlM2YwYWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCkBAIC0yMCw4ICsyMCw2
IEBACiAjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3JVSSB7CiAgICAgRXN0YWJsaXNo
Q29ubmVjdGlvbihJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90
IGluc3BlY3RlZFBhZ2VJZGVudGlmaWVyLCBib29sIHVuZGVyVGVzdCkKIApAQCAtNDIsNSArNDAs
MyBAQCBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3JVSSB7CiAKICAgICBTZW5kTWVzc2FnZVRvRnJv
bnRlbmQoU3RyaW5nIG1lc3NhZ2UpCiB9Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGRlNDkxMGQ5NzU4NzNiMzZjMTZmYjUy
ZGJiNDgzNDBhYWQzNzI0ZjIuLmY3OGUyZmViOTViZDgyZDlmMjM3ZmM4MmIxY2U0ZTU4ZjljMjBm
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTM2MCwxMCArMzYwLDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNv
bnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgcGFnZUNvbmZp
Z3VyYXRpb24uZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFnQ2xpZW50KHRoaXMpOwogI2VuZGlmCiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24uYmFja0ZvcndhcmRDbGllbnQgPSBXZWJCYWNrRm9yd2FyZExp
c3RQcm94eTo6Y3JlYXRlKHRoaXMpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgbV9pbnNw
ZWN0b3JDbGllbnQgPSBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpOwogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmluc3BlY3RvckNsaWVudCA9IG1faW5zcGVjdG9yQ2xpZW50OwotI2VuZGlmCiAj
aWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLmFsdGVy
bmF0aXZlVGV4dENsaWVudCA9IG5ldyBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQodGhpcyk7CiAj
ZW5kaWYKQEAgLTQ3OSwxMCArNDc3LDggQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAjaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKICAgICBXZWJQcm9jZXNzOjpzaGFy
ZWQoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCwgKnRoaXMpOwogI2VuZGlmCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5hZGRNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3Bh
Z2VJRCwgKnRoaXMpOwogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmFkZE1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6V2ViSW5zcGVjdG9yVUk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdl
SUQsICp0aGlzKTsKLSNlbmRpZgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBXZWJQ
cm9jZXNzOjpzaGFyZWQoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlELCAqdGhpcyk7CiAjZW5k
aWYKQEAgLTU2NSwxMCArNTYxLDggQEAgV2ViUGFnZTo6fldlYlBhZ2UoKQogI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOwogI2VuZGlmCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7
CiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpXZWJJbnNwZWN0b3JVSTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7Ci0jZW5k
aWYKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CiAjZW5kaWYKQEAgLTk3NSw5ICs5NjksNyBA
QCB2b2lkIFdlYlBhZ2U6OmNsb3NlKCkKICAgICBpZiAocGFnZUdyb3VwKCktPmlzVmlzaWJsZVRv
SW5qZWN0ZWRCdW5kbGUoKSAmJiBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pbmplY3RlZEJ1bmRsZSgp
KQogICAgICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pbmplY3RlZEJ1bmRsZSgpLT53aWxsRGVz
dHJveVBhZ2UodGhpcyk7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIG1faW5zcGVjdG9y
ID0gMDsKLSNlbmRpZgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBtX2Z1bGxTY3Jl
ZW5NYW5hZ2VyID0gMDsKICNlbmRpZgpAQCAtMjk1Niw3ICsyOTQ4LDYgQEAgdm9pZCBXZWJQYWdl
OjpkaWRGbHVzaExheWVyVHJlZUF0VGltZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVz
dGFtcCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKIFdlYkluc3BlY3Rvciog
V2ViUGFnZTo6aW5zcGVjdG9yKCkKIHsKICAgICBpZiAobV9pc0Nsb3NlZCkKQEAgLTI5NzQsNyAr
Mjk2NSw2IEBAIFdlYkluc3BlY3RvclVJKiBXZWJQYWdlOjppbnNwZWN0b3JVSSgpCiAgICAgICAg
IG1faW5zcGVjdG9yVUkgPSBXZWJJbnNwZWN0b3JVSTo6Y3JlYXRlKHRoaXMpOwogICAgIHJldHVy
biBtX2luc3BlY3RvclVJLmdldCgpOwogfQotI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCiBX
ZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKiBXZWJQYWdlOjp2aWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
KCkKQEAgLTM1NjEsNyArMzU1MSw2IEBAIHZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyCiAgICAgfQog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViSW5zcGVjdG9yOjptZXNzYWdlUmVjZWl2ZXJO
YW1lKCkpIHsKICAgICAgICAgaWYgKFdlYkluc3BlY3RvciogaW5zcGVjdG9yID0gdGhpcy0+aW5z
cGVjdG9yKCkpCiAgICAgICAgICAgICBpbnNwZWN0b3ItPmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5l
Y3Rpb24sIGRlY29kZXIpOwpAQCAtMzU3Myw3ICszNTYyLDYgQEAgdm9pZCBXZWJQYWdlOjpkaWRS
ZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURl
Y29kZXIKICAgICAgICAgICAgIGluc3BlY3RvclVJLT5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0
aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSNlbmRpZgogCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUo
KSA9PSBNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXgg
MmMxMzlhMjNhNzg1YWExMzlmYmI3NzY5ODdjNmY3NzM4YzhkY2ZjMC4uOTBiZDhlZjMxNjk5MWJi
NzA1ODc0NTliOWNlNTU1NzU5MWRhZTViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yMjgsMTEgKzIyOCw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZEZsdXNoTGF5ZXJUcmVlQXRUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOwogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIFdlYkluc3BlY3RvciogaW5zcGVjdG9y
KCk7CiAgICAgV2ViSW5zcGVjdG9yVUkqIGluc3BlY3RvclVJKCk7CiAgICAgYm9vbCBpc0luc3Bl
Y3RvclBhZ2UoKSB7IHJldHVybiAhIW1faW5zcGVjdG9yVUk7IH0KLSNlbmRpZgogCiAjaWYgUExB
VEZPUk0oSU9TKQogICAgIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIqIHZpZGVvRnVsbHNjcmVl
bk1hbmFnZXIoKTsKQEAgLTUyOCw3ICs1MjYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBleGVjdXRl
RWRpdENvbW1hbmRXaXRoQ2FsbGJhY2soY29uc3QgU3RyaW5nJiwgdWludDY0X3QgY2FsbGJhY2tJ
RCk7CiAKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGV2ZW50VGhyb3R0bGluZ0RlbGF5
KCkgY29uc3Q7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogICAgIHZvaWQgc2hvd0luc3BlY3Rv
ckhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpIaWdobGlnaHQmKTsKICAgICB2b2lkIGhpZGVJbnNw
ZWN0b3JIaWdobGlnaHQoKTsKIApAQCAtNTM4LDcgKzUzNiw2IEBAIHB1YmxpYzoKICAgICB2b2lk
IGVuYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKTsKICAgICB2b2lkIGRpc2FibGVJbnNwZWN0b3JO
b2RlU2VhcmNoKCk7CiAjZW5kaWYKLSNlbmRpZgogCiAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyKiBub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKTsK
IApAQCAtMTIwMCwxMCArMTE5Nyw4IEBAIHByaXZhdGU6CiAKICAgICBGaW5kQ29udHJvbGxlciBt
X2ZpbmRDb250cm9sbGVyOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBSZWZQdHI8V2Vi
SW5zcGVjdG9yPiBtX2luc3BlY3RvcjsKICAgICBSZWZQdHI8V2ViSW5zcGVjdG9yVUk+IG1faW5z
cGVjdG9yVUk7Ci0jZW5kaWYKICNpZiBQTEFURk9STShJT1MpCiAgICAgUmVmUHRyPFdlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXI+IG1fdmlkZW9GdWxsc2NyZWVuTWFuYWdlcjsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJJbnNwZWN0
b3JFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJJbnNw
ZWN0b3JFZmwuY3BwCmluZGV4IDJhYWNjMjk1NGZmOGQ3OTllY2NjNzZlM2YzZjc0NTNlMGNmZTU1
OGQuLjg5NWY3OTNiMDEwZWQyOGM3YjY2YTI4MmI0NTZkNTZjMDk1MzRiNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yRWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dlYkluc3BlY3Rv
ckVmbC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJJbnNwZWN0b3IuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxX
ZWJDb3JlL0VmbEluc3BlY3RvclV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCkBAIC00NCw1ICs0MiwzIEBAIFN0cmluZyBXZWJJbnNwZWN0b3I6OmxvY2FsaXpl
ZFN0cmluZ3NVUkwoKSBjb25zdAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvZWZsL1dlYkluc3BlY3RvclVJRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yVUlFZmwuY3BwCmluZGV4IDE4NTdjN2I2
MTA1M2EyN2VmNDBiYjNkNTgyNDU1MGM2ZjU1MDEzNTAuLmRiMjQyZTAyYWNhZDk1OTA3N2M4MWVj
NTRlMmViNzI3MTQ1NzBjNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yVUlFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yVUlFZmwuY3BwCkBAIC0yNiw4ICsyNiw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yVUkuaCIKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxXZWJDb3JlL0VmbEluc3BlY3RvclV0
aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00NCw1ICs0
MiwzIEBAIFN0cmluZyBXZWJJbnNwZWN0b3JVSTo6bG9jYWxpemVkU3RyaW5nc1VSTCgpCiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViSW5zcGVj
dG9yR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViSW5z
cGVjdG9yR3RrLmNwcAppbmRleCA1YTBlZjllMzJkODcxZGJhN2MyMzAxNDFmZDRlMzc5ODlmMmFh
Njg2Li45MDdhNzMwNzkwZDRmMDUzNWYzZGFlYmQ5YmU2NGI4MWZjMTk4NDIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYkluc3BlY3Rvckd0ay5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJJbnNwZWN0
b3JHdGsuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2ViSW5zcGVjdG9yLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8
V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgpAQCAtNDYsNSArNDQsMyBAQCBTdHJpbmcgV2ViSW5zcGVjdG9yOjps
b2NhbGl6ZWRTdHJpbmdzVVJMKCkgY29uc3QKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJJbnNwZWN0b3JVSUd0ay5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYkluc3BlY3RvclVJR3RrLmNwcAppbmRleCA0
NjQ2Nzg1NWU4ZTc0OTgyYzEyMDczYTYzYjU4ZGU3ODI2YjBjZWQ4Li5mZDg5NWNiYjNkNzVjMjMx
MzVlMTU3Y2M5NzdlNjBjMzY1ZTM4M2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYkluc3BlY3RvclVJR3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYkluc3BlY3RvclVJR3RrLmNwcApAQCAtMjcs
OCArMjcsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclVJ
LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlU3lz
dGVtLmg+CiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgpAQCAtNDYsNSArNDQsMyBAQCBTdHJpbmcgV2ViSW5zcGVjdG9yVUk6OmxvY2FsaXplZFN0cmlu
Z3NVUkwoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KaW5kZXggNDVkYWUyOTcwODdkMmE2YmU5NmM3NjJjYTY4ODdjNDI0NzVj
MGY5ZS4uYTMyMTA0OGZjYWY2ZmI5NTFkNzc3YzI1MzQ5NWRjN2E0OGNkYjljMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpA
QCAtNjM1LDcgKzYzNSw2IEBAIHZvaWQgV2ViUGFnZTo6c2V0QXNzaXN0ZWROb2RlU2VsZWN0ZWRJ
bmRleCh1aW50MzJfdCBpbmRleCwgYm9vbCBhbGxvd011bHRpcGxlU2VsCiAgICAgc2VsZWN0Lm9w
dGlvblNlbGVjdGVkQnlVc2VyKGluZGV4LCB0cnVlLCBhbGxvd011bHRpcGxlU2VsZWN0aW9uKTsK
IH0KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiB2b2lkIFdlYlBhZ2U6OnNob3dJbnNwZWN0b3JI
aWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0JiBoaWdobGlnaHQpCiB7CiAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93SW5zcGVjdG9ySGlnaGxpZ2h0KGhpZ2hsaWdo
dCkpOwpAQCAtNjY1LDcgKzY2NCw2IEBAIHZvaWQgV2ViUGFnZTo6ZGlzYWJsZUluc3BlY3Rvck5v
ZGVTZWFyY2goKQogewogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlzYWJsZUlu
c3BlY3Rvck5vZGVTZWFyY2goKSk7CiB9Ci0jZW5kaWYKIAogc3RhdGljIEZsb2F0UXVhZCBpbm5l
ckZyYW1lUXVhZChGcmFtZSogZnJhbWUsIE5vZGUqIGFzc2lzdGVkTm9kZSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViSW5zcGVjdG9yTWFj
Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JN
YWMubW0KaW5kZXggNzk1ZjQ1NmFkODY3MjM3OWRkNGE0ZWE1MjdhNmU4Y2EyM2Q0OTA1Ni4uMjhh
NWU2ODM5MDEzMTQ1OWIzMmY5MGZmMzI1ZGJjZjZlOWM5YjJmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JNYWMubW0K
QEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViSW5zcGVj
dG9yLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRM
aW5raW5nLmg+CiAKIFNPRlRfTElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQ
cml2YXRlRnJhbWV3b3JrcywgQSkKQEAgLTU2LDUgKzU0LDMgQEAgU3RyaW5nIFdlYkluc3BlY3Rv
cjo6bG9jYWxpemVkU3RyaW5nc1VSTCgpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViSW5zcGVjdG9yVUlNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYkluc3BlY3RvclVJTWFjLm1tCmluZGV4
IDJiZTc2YTY3MTk4ODUwY2Y0NGY0NzYzNGNhZmVhMWUwOGM4NTMyMTcuLmRmOTFhZWE5YjUwZmJl
Zjc1MWQ0ZjhmZDIyYTFhMDQzZDJiMWMxMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViSW5zcGVjdG9yVUlNYWMubW0KKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JVSU1hYy5tbQpAQCAtMjYs
OCArMjYsNiBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXZWJJbnNwZWN0b3JVSS5o
IgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2lu
Zy5oPgogCiBTT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNwZWN0b3JVSSwgUHJpdmF0
ZUZyYW1ld29ya3MsIEEpCkBAIC01Nyw1ICs1NSwzIEBAIFN0cmluZyBXZWJJbnNwZWN0b3JVSTo6
bG9jYWxpemVkU3RyaW5nc1VSTCgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL2NvbmZp
Zy5oIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgKaW5kZXggZDI4M2M4MzU0NWRjMzliMzM4ZjI5
YjZhYzRlOTFlZGEwMWFlZGZiMC4uN2VkNDdlOGZjYjFjZGQ5MzgzOWFiYzlmMmJjZTIzNDZhMDJi
NjRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvY29uZmlnLmgKKysrIGIvU291cmNlL1dl
YktpdDIvY29uZmlnLmgKQEAgLTU4LDcgKzU4LDcgQEAKICNkZWZpbmUgUExVR0lOX0FSQ0hJVEVD
VFVSRShBUkNIKSAoZGVmaW5lZCBQTFVHSU5fQVJDSElURUNUVVJFXyMjQVJDSCAmJiBQTFVHSU5f
QVJDSElURUNUVVJFXyMjQVJDSCkKIAogI2lmbmRlZiBFTkFCTEVfSU5TUEVDVE9SX1NFUlZFUgot
I2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShXRUJfU09DS0VUUykgJiYgKFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oRUZMKSkKKyNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpICYmIChQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCiAjZGVmaW5lIEVOQUJMRV9JTlNQRUNUT1JfU0VS
VkVSIDEKICNlbmRpZgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDgyZmUyNjcyMjc4
ZWJmM2ExMjRmMzNkOGE2OWYzZTY4MWQ3MTM4YjEuLjRlYmQ0MDI4NGIwNDNiYWZiYmJlOTA1N2Ez
ZmFmODAyYTk1MzgzNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtl
CisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0yNDYsMTIgKzI0NiwxMCBA
QCBpZiAoRU5BQkxFX1dFQkdMIEFORCBPUEVOR0xYX0ZPVU5EKQogICAgIGVuZGlmICgpCiBlbmRp
ZiAoKQogCi1pZiAoRU5BQkxFX0lOU1BFQ1RPUikKLSAgICBzZXQoV0VCX0lOU1BFQ1RPUl9ESVIg
IiR7REFUQV9JTlNUQUxMX0RJUn0vaW5zcGVjdG9yIikKLSAgICBzZXQoV0VCSU5TUEVDVE9SVUlf
RElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIpCi0gICAgYWRk
X2RlZmluaXRpb25zKC1EV0VCX0lOU1BFQ1RPUl9ESVI9XCIke0NNQUtFX0JJTkFSWV9ESVJ9LyR7
V0VCX0lOU1BFQ1RPUl9ESVJ9XCIpCi0gICAgYWRkX2RlZmluaXRpb25zKC1EV0VCX0lOU1BFQ1RP
Ul9JTlNUQUxMX0RJUj1cIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7V0VCX0lOU1BFQ1RPUl9E
SVJ9XCIpCi1lbmRpZiAoKQorc2V0KFdFQl9JTlNQRUNUT1JfRElSICIke0RBVEFfSU5TVEFMTF9E
SVJ9L2luc3BlY3RvciIpCitzZXQoV0VCSU5TUEVDVE9SVUlfRElSICIke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIpCithZGRfZGVmaW5pdGlvbnMoLURXRUJfSU5TUEVD
VE9SX0RJUj1cIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtXRUJfSU5TUEVDVE9SX0RJUn1cIikKK2Fk
ZF9kZWZpbml0aW9ucygtRFdFQl9JTlNQRUNUT1JfSU5TVEFMTF9ESVI9XCIke0NNQUtFX0lOU1RB
TExfUFJFRklYfS8ke1dFQl9JTlNQRUNUT1JfRElSfVwiKQogCiBpZiAoRU5BQkxFX1NFQ0NPTVBf
RklMVEVSUykKICAgICBmaW5kX3BhY2thZ2UoTGliU2VjY29tcCBSRVFVSVJFRCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNH
VEsuY21ha2UKaW5kZXggM2NkNmZlMjhmMGM0N2U2YWMzMmIzZjI1OWMyYTY2ZDFkY2QxYmM5Ny4u
ODIxOTAwYzc1MDVjNWQ0OWNmZjA5YTg3NzM5YWVmYmUxM2U3MDA4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsu
Y21ha2UKQEAgLTE5OSw3ICsxOTksNiBAQCBpZiAoRU5BQkxFX1dBWUxBTkRfVEFSR0VUKQogZW5k
aWYgKCkKIAogc2V0KEVOQUJMRV9XRUJDT1JFIE9OKQotc2V0KEVOQUJMRV9JTlNQRUNUT1IgT04p
CiBzZXQoRU5BQkxFX1dFQktJVCBPRkYpCiBzZXQoRU5BQkxFX1dFQktJVDIgT04pCiBzZXQoRU5B
QkxFX1BMVUdJTl9QUk9DRVNTIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNN
YWMuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQppbmRleCA3N2I5MmJkNDY4
OTliMzZhMDI1N2RhOTViNjM0NTg3YzdkYWI1M2JiLi41OGRmMjEwZTQ1Njg2NjBlYjZhNWVkMTNh
OTlhZjc2MGMxN2Q5ZGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQpAQCAtOTIsNyArOTIsNiBAQCBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5QVVRfVFlQRV9USU1FX2lw
aG9uZXNpbXVsYXRvciBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUsgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLX2lwaG9uZW9zIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfV0VFS19pcGhvbmVzaW11bGF0b3IgT04pCi1X
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5TUEVDVE9SIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcg
T04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklOR19pcGhvbmVvcyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HX2lwaG9uZXNpbXVsYXRvciBPTikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQppbmRleCAwOTM5Nzg4MGExZWRlMDY0NDgyMDE5MjBkMTBmMjk4NWM3MjY1
N2U3Li5kYWU4NmI4MDE1NzlhZDVhNzIwMzQ4ODZkNjU5Y2VlZmM3ODE5ZjVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCkBAIC03Nyw3ICs3Nyw2IEBAIG1hY3JvKFdFQktJVF9PUFRJT05f
QkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgg
IlRvZ2dsZSBtb250aCB0eXBlIDxpbnB1dD4gc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUgIlRvZ2dsZSB0aW1lIHR5cGUgPGlucHV0
PiBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSyAiVG9nZ2xlIHdlZWsgdHlwZSA8aW5wdXQ+IHN1cHBvcnQiIE9GRikKLSAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5TUEVDVE9SICJUb2dnbGUgV2ViIEluc3BlY3RvciBz
dXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU9TX0FJUlBMQVkg
IlRvZ2dsZSBpT1MgYWlycGxheSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcgIlRvZ2dsZSBpT1MgdGV4dCBhdXRvc2l6aW5n
IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSklUICJFbmFi
bGUgSnVzdEluVGltZSBqYXZhc2NyaXB0IHN1cHBvcnQiIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCBm
YmY2YjJhZGM1ZjE3MDVhMmNmZjAwMmY0MjhmYTIzYzY3OTAxZGU1Li4yZWU3NTdhM2M4Mzk1ODVi
NmY4OGQyMTYxMjk1ODNhMzM4M2VlY2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtNjcsNyArNjcsNiBA
QAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lOUFVUX1RZUEVfVElNRQogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUsKLSNjbWFrZWRlZmluZTAxIEVOQUJMRV9JTlNQRUNUT1IKICNjbWFrZWRlZmluZTAxIEVO
QUJMRV9JT1NfQUlSUExBWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9KSVQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwZDE2ZGNjYzhlYjlhNWM5NDY0NGZiN2RjYzQzZWZh
NWZkMDBiMTFjLi4zNGU2ZjZjMmM2MTVkZjJlNDk1NjZiODg4OTQwZWIxOWEzMDJlN2NjIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjIgQEAKKzIwMTUtMDEtMjAgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
KworICAgICAgICBSZW1vdmUgRU5BQkxFKElOU1BFQ1RPUikgaWZkZWYgZ3VhcmRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA2NjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9UZXN0UnVubmVyTWFjLm1tOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c2hvd1dlYkluc3Bl
Y3Rvcik6CisgICAgICAgIChUZXN0UnVubmVyOjpjbG9zZVdlYkluc3BlY3Rvcik6CisgICAgICAg
IChUZXN0UnVubmVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6
c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmNsb3NlV2ViSW5z
cGVjdG9yKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rv
cik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjppbnZva2UpOgorCiAyMDE1LTAxLTE5ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIExheW91dCBUZXN0
IGZhc3QveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3Qtbm8tZmlsZS1hY2Nlc3MuaHRtbCBp
cyBmYWlsaW5nCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5l
ck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCmluZGV4
IDc4NTFhMjNmMGMyMGNkMWMyMWYwMDIwMzdkMjAxMmJkNDkyMmE5YjMuLmQzMmQ5NjQ2MGQyZWI2
Yjc5ZDg3NDRjOWJhMjY4NTZiMmY3MmQ3MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9U
ZXN0UnVubmVyTWFjLm1tCkBAIC03NjAsMjUgKzc2MCwxOSBAQCB2b2lkIFRlc3RSdW5uZXI6OnNl
dERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBlbmFibGVkKQogCiB2b2lkIFRlc3RSdW5uZXI6
OnNob3dXZWJJbnNwZWN0b3IoKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgW1tbbWFp
bkZyYW1lIHdlYlZpZXddIGluc3BlY3Rvcl0gc2hvdzpuaWxdOwotI2VuZGlmCiB9CiAKIHZvaWQg
VGVzdFJ1bm5lcjo6Y2xvc2VXZWJJbnNwZWN0b3IoKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIGluc3BlY3Rvcl0gY2xvc2U6bmlsXTsKLSNlbmRp
ZgogfQogCiB2b2lkIFRlc3RSdW5uZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoSlNTdHJpbmdS
ZWYgc2NyaXB0KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgUmV0YWluUHRyPENGU3Ry
aW5nUmVmPiBzY3JpcHRDRiA9IGFkb3B0Q0YoSlNTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwgc2NyaXB0KSk7CiAgICAgTlNTdHJpbmcgKnNjcmlwdE5TID0gKE5TU3RyaW5n
ICopc2NyaXB0Q0YuZ2V0KCk7CiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIGluc3BlY3Rvcl0g
ZXZhbHVhdGVJbkZyb250ZW5kOm5pbCBzY3JpcHQ6c2NyaXB0TlNdOwotI2VuZGlmCiB9CiAKIHR5
cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwgUmV0YWluUHRyPFdlYlNjcmlwdFdvcmxkPiA+IFdvcmxk
TWFwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBt
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDQ3MzU0NjY3
MGM4OThlZTZjN2E2OTRlYTBhOTc4NzQzYTQ5NDg5ZDMuLjRiNGIzN2IwNDQ1OTQ4ZjU0YTI2M2Jl
ZGVlYjNjODY5ODVjYjdkN2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9G
ZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3Qu
cG0KQEAgLTg2LDcgKzg2LDYgQEAgbXkgKAogICAgICRpbnB1dFR5cGVNb250aFN1cHBvcnQsCiAg
ICAgJGlucHV0VHlwZVRpbWVTdXBwb3J0LAogICAgICRpbnB1dFR5cGVXZWVrU3VwcG9ydCwKLSAg
ICAkaW5zcGVjdG9yU3VwcG9ydCwKICAgICAkbGVnYWN5Tm90aWZpY2F0aW9uc1N1cHBvcnQsCiAg
ICAgJGxlZ2FjeVZlbmRvclByZWZpeFN1cHBvcnQsCiAgICAgJGxlZ2FjeVdlYkF1ZGlvU3VwcG9y
dCwKQEAgLTI3Myw5ICsyNzIsNiBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4g
ImlucHV0LXR5cGUtd2VlayIsIGRlc2MgPT4gIlRvZ2dsZSBJbnB1dCBUeXBlIFdlZWsgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9JTlBVVF9UWVBFX1dFRUsiLCBkZWZhdWx0ID0+
IDAsIHZhbHVlID0+IFwkaW5wdXRUeXBlV2Vla1N1cHBvcnQgfSwKIAotICAgIHsgb3B0aW9uID0+
ICJpbnNwZWN0b3IiLCBkZXNjID0+ICJUb2dnbGUgSW5zcGVjdG9yIHN1cHBvcnQiLAotICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfSU5TUEVDVE9SIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGlu
c3BlY3RvclN1cHBvcnQgfSwKLQogICAgIHsgb3B0aW9uID0+ICJsZWdhY3ktbm90aWZpY2F0aW9u
cyIsIGRlc2MgPT4gIlRvZ2dsZSBMZWdhY3kgTm90aWZpY2F0aW9ucyBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TIiwgZGVmYXVsdCA9PiAwLCB2
YWx1ZSA9PiBcJGxlZ2FjeU5vdGlmaWNhdGlvbnNTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IDIx
ZDA4Nzg4ZWFmMmEwYzI3MGI1YmJhY2YzOTBjYjM5Y2JmMjU3OTYuLmI0YjU1YmI5MDY4NmE4YWFk
MTQ1YzljZGQ4MzE4MjYwYzZhMjdkYTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMzk5LDI0ICszOTksMTggQEAg
dm9pZCBUZXN0UnVubmVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiB3aW5kb3dPYmplY3QKIAogdm9pZCBUZXN0UnVubmVyOjpzaG93V2ViSW5zcGVj
dG9yKCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIFdLQnVuZGxlSW5zcGVjdG9yU2hv
dyhXS0J1bmRsZVBhZ2VHZXRJbnNwZWN0b3IoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2Uo
KS0+cGFnZSgpKSk7Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIH0KIAogdm9pZCBUZXN0
UnVubmVyOjpjbG9zZVdlYkluc3BlY3RvcigpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBXS0J1bmRsZUluc3BlY3RvckNsb3NlKFdLQnVuZGxlUGFnZUdldEluc3BlY3RvcihJbmplY3Rl
ZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCkpKTsKLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQogfQogCiB2b2lkIFRlc3RSdW5uZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoSlNT
dHJpbmdSZWYgc2NyaXB0KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IHNjcmlwdFdLID0gdG9XSyhzY3JpcHQpOwogICAgIFdLQnVuZGxlSW5z
cGVjdG9yRXZhbHVhdGVTY3JpcHRGb3JUZXN0KFdLQnVuZGxlUGFnZUdldEluc3BlY3RvcihJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCkpLCBzY3JpcHRXSy5nZXQoKSk7Ci0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIH0KIAogdHlwZWRlZiBXVEY6Okhhc2hNYXA8dW5z
aWduZWQsIFdLUmV0YWluUHRyPFdLQnVuZGxlU2NyaXB0V29ybGRSZWY+ID4gV29ybGRNYXA7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IDZjYzE3MzkxNWFj
ZTI3YWQzYzAxMjJiNTkzZTcyNDA1ZTg4NmQ0MGQuLmJmYjY1Y2VjMWU2ZDYzYTYxM2VjYzZhNDky
Mjk4M2I2ODJmMjFjNmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwCkBAIC0xNzgsMTAgKzE3OCwxMCBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQog
ICAgIGR1bXBSZXN1bHRzKCk7CiAKIGVuZDoKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiAhUExB
VEZPUk0oSU9TKQorI2lmICFQTEFURk9STShJT1MpCiAgICAgaWYgKG1fZ290SW5pdGlhbFJlc3Bv
bnNlKQogICAgICAgICBXS0luc3BlY3RvckNsb3NlKFdLUGFnZUdldEluc3BlY3RvcihUZXN0Q29u
dHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+cGFnZSgpKSk7Ci0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKKyNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQogCiAgICAgaWYgKG1fd2Vi
UHJvY2Vzc0lzVW5yZXNwb25zaXZlKQogICAgICAgICBkdW1wV2ViUHJvY2Vzc1VucmVzcG9uc2l2
ZW5lc3MoKTsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwNmU3ZmY2
OWZmNGIwYmFlYzg4NTBjMTlkZTc5ZmViZGViNWUxNDk5Li4yMTU4NGY5NTJlY2FhNjdkNWEzMGY1
NDYxNzRlZGM4YjI1N2QzOGZlIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDEtMjAgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgRU5BQkxFKElOU1BFQ1RPUikgaWZkZWYgZ3Vh
cmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA2
NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNv
dXJjZS9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmgu
Y21ha2U6CisKIDIwMTUtMDEtMTkgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbQ01BS0VdIEZpeCBjbWFrZSB3YXJuaW5nCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244979</attachid>
            <date>2015-01-20 02:50:36 -0800</date>
            <delta_ts>2015-01-21 00:45:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140668-20150120025041.patch</filename>
            <type>text/plain</type>
            <size>373759</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4Njk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZDlkOWNhZWVjMjMzODhlZTc3ZjRjODdkMzYyMjdjNGJmODY3MmM3Li4xN2Q5MDVmMjU4NGNjOTU0
Yjk5MTc3MjFlMjg4NDVlYjMyODE5Njc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OSBAQAorMjAxNS0wMS0yMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEUoSU5TUEVDVE9SKSBpZmRlZiBndWFyZHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDY2OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogYmluZGluZ3MvU2NyaXB0
VmFsdWUuY3BwOgorICAgICAgICAoRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWU6OnRvSW5zcGVjdG9y
VmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg6CisgICAgICAgICogaW5z
cGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29uc29sZU1l
c3NhZ2UuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SWRlbnRpZmllcnNGYWN0b3J5Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRCYXNlLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9z
dC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHRNb2R1bGUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1v
ZHVsZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg6CisgICAgICAgICogaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0pT
R2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgICogaW5zcGVjdG9y
L0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0
ZWRTY3JpcHRIb3N0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0
UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHA6CisgICAgICAg
ICogaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oOgorICAgICAgICAq
IGluc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SmF2YVNjcmlwdENhbGxGcmFtZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJh
bWUuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpTY3JpcHRDYWxsRnJhbWU6OmJ1aWxkSW5zcGVj
dG9yT2JqZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmg6CisgICAg
ICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHA6CisgICAgICAgIChJbnNwZWN0b3I6
OlNjcmlwdENhbGxTdGFjazo6YnVpbGRJbnNwZWN0b3JBcnJheSk6CisgICAgICAgICogaW5zcGVj
dG9yL1NjcmlwdENhbGxTdGFjay5oOgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHREZWJ1Z1Nl
cnZlci5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50
cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL2Fn
ZW50cy9KU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0RGVidWdnZXJBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5OgorICAg
ICAgICAoQ3BwR2VuZXJhdG9yVGVtcGxhdGVzKToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3Vs
dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13
aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmct
Y29tbWFuZC1zaXplcy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJz
Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdDoKKyAgICAg
ICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVy
ZW50LWRvbWFpbi5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQ6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29u
LXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24t
cmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUt
cmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogcnVudGltZS9U
eXBlU2V0LmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVNldDo6aW5zcGVjdG9yVHlwZVNldCk6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZVNoYXBlOjppbnNwZWN0b3JSZXByZXNlbnRhdGlvbik6CisK
IDIwMTUtMDEtMTkgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAg
ICAgQSAiY2FjaGVkIiBudWxsIHNldHRlciBzaG91bGQgdGhyb3cgYSBUeXBlRXhjZXB0aW9uIHdo
ZW4gY2FsbGVkIGluIHN0cmljdCBtb2RlIGFuZCBkb2Vzbid0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDllYWRlNzZjM2U4ZGVl
ZWJmMTI0ZWFkZGNkM2UzNDBjYWM0OTUxYzcuLjEyNDFjYmQwYjYzYjBjZmRlNmQwYjQyYzVjYTAw
NmUyNGMxMzkxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjAgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgRU5BQkxFKElOU1BF
Q1RPUikgaWZkZWYgZ3VhcmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDA2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDE1LTAxLTE2ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vha1B0ciBmdW5j
dGlvbnMgY3Jhc2ggd2hlbiBjcmVhdGVkIHdpdGggZGVmYXVsdCBjb25zdHJ1Y3RvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDljNmEwYjcyNWNkMTcxM2UwZGZjZGI4NTBlY2ZlYTdlYzFhNjk5NjEuLjMyNzIzNGNi
MjE5YWQ4YWVlMjcyZGY3YzA2M2MyNWRiYjg3OTEyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MDMgQEAKKzIwMTUtMDEtMjAgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
KworICAgICAgICBSZW1vdmUgRU5BQkxFKElOU1BFQ1RPUikgaWZkZWYgZ3VhcmRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA2NjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c1Byb2ZpbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpK
U0RPTVdpbmRvd0Jhc2U6OnN1cHBvcnRzUmljaFNvdXJjZUluZm8pOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENv
bnRyb2xsZXI6OmNvbGxlY3RJc29sYXRlZENvbnRleHRzKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0R2xvYmFs
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEdsb2JhbE9iamVjdDo6c2V0KToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBkb20vTm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjppbnNwZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Q29tbWFuZExpbmVBUElIb3N0LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVB
UElIb3N0LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuY3Bw
OgorICAgICAgICAqIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSU1vZHVsZS5oOgorICAgICAgICAq
IGluc3BlY3Rvci9ET01FZGl0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9ET01FZGl0b3Iu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmNwcDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnNvbGVDb3VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0YXJ0Q29uc29sZVRpbWlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnN0b3BDb25z
b2xlVGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
Y29uc29sZVRpbWVTdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnN0YXJ0UHJvZmlsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c3RvcFByb2ZpbGluZyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTURlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNl
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHA6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckhpc3RvcnkuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzRGVidWdnZXJQYXVzZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc2VydERP
TU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
UmVtb3ZlRE9NTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFJlbW92ZURPTU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsTW9kaWZ5RE9NQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURPTUF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZW1vdmVET01BdHRyKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZVN0eWxlQXR0cik6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lV2luZG93
RGlzY2FyZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
bWVkaWFRdWVyeVJlc3VsdENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRQdXNoU2hhZG93Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQb3BTaGFkb3dSb290KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlTmFtZWRGbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlbW92ZU5hbWVkRmxv
dyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENoYW5n
ZVJlZ2lvbk92ZXJzZXQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRSZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVW5yZWdpc3Rlck5hbWVkRmxvd0NvbnRl
bnRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpoYW5kbGVUb3VjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6aGFuZGxlTW91c2VQcmVzcyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZvcmNlUHNldWRvU3RhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjaGFyYWN0ZXJEYXRhTW9kaWZpZWQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFhN
TEh0dHBSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkSW5zdGFsbFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkUmVtb3ZlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsQ2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5n
ZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RGlzcGF0Y2hYSFJSZWFkeVN0YXRlQ2hhbmdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSGFuZGxlRXZlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRIYW5kbGVFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNw
YXRjaEV2ZW50T25XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVTY3JpcHQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRFdmFsdWF0ZVNjcmlwdCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdHNFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVUaW1l
cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZElu
dmFsaWRhdGVMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkU2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbERpc3BhdGNoWEhSTG9hZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTY3JvbGxMYXllcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjcm9sbExheWVyKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2FsY3Vs
YXRlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRSZWNhbGN1bGF0ZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseUVtdWxhdGVkTWVkaWEpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFJlcXVlc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVy
UGluZ0xvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3Bv
bnNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVj
ZWl2ZVJlc291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpjb250aW51ZUFmdGVyWEZyYW1lT3B0aW9uc0RlbmllZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlV2l0aFBvbGljeURvd25s
b2FkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGlu
dWVXaXRoUG9saWN5SWdub3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkUmVjZWl2ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkb2N1bWVudFRocmVhZGFibGVMb2FkZXJTdGFydGVk
TG9hZGluZ0ZvckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxMb2FkWEhSKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRmFpbFhIUkxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVhIUlJlc3BvbnNlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbExvYWRYSFJTeW5jaHJv
bm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
TG9hZFhIUlN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OnNjcmlwdEV4ZWN1dGlvbkJsb2NrZWRCeUNTUCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVTY3JpcHRSZXNwb25z
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRvbUNvbnRl
bnRMb2FkZWRFdmVudEZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6bG9hZEV2ZW50RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpmcmFtZURldGFjaGVkRnJvbVBhcmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZURvY3VtZW50VXBkYXRlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmxvYWRlckRldGFjaGVk
RnJvbUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZnJhbWVTdGFydGVkTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmZyYW1lU3RvcHBlZExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZUNsZWFyZWRTY2hlZHVsZWRO
YXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbFJ1bkphdmFTY3JpcHREaWFsb2cpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSdW5KYXZhU2NyaXB0RGlhbG9nKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhU
TUwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNw
YXRjaERPTVN0b3JhZ2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFN0YXJ0V29ya2VyR2xvYmFsU2Nv
cGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3b3JrZXJH
bG9iYWxTY29wZVRlcm1pbmF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2Vi
U29ja2V0SGFuZHNoYWtlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tldCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRG
cmFtZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkU2VuZFdlYlNvY2tldEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c2Vzc2lvbkNyZWF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpzZXNzaW9uTG9hZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6c2Vzc2lvbk1vZGlmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2VnbWVudENyZWF0ZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZWdtZW50Q29tcGxldGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2VnbWVudExvYWRlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNlZ21lbnRVbmxvYWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNhcHR1cmVT
dGFydGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y2Fw
dHVyZVN0b3BwZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpwbGF5YmFja1N0YXJ0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpwbGF5YmFja1BhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnBsYXliYWNrRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpwbGF5YmFja0hpdFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnVwZGF0ZUFwcGxpY2F0aW9u
Q2FjaGVTdGF0dXMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRDYW5jZWxBbmltYXRpb25GcmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlQW5pbWF0aW9uRnJhbWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0
aW9uRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjps
YXllclRyZWVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpyZW5kZXJMYXllckRlc3Ryb3llZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OnBzZXVkb0VsZW1lbnREZXN0cm95ZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9j
dW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNG
cm9udGVuZHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpjb25zb2xlQWdlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cnVudGltZUFnZW50RW5hYmxlZCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnRpbWVsaW5lQWdl
bnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6cmVwbGF5QWdlbnRFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUmVwbGF5QWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVUZXh0RWRpdG9yLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
U3R5bGVUZXh0RWRpdG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL05ldHdvcmtS
ZXNvdXJjZXNEYXRhLmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5jcHA6CisgICAgICAg
ICogaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvUGFn
ZURlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2Vu
dC5oOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNwcDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdl
U2NyaXB0RGVidWdTZXJ2ZXIuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9QYWdlU2NyaXB0RGVi
dWdTZXJ2ZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNw
cDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmNwcDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvV2ViQ29uc29sZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dlYkRlYnVn
Z2VyQWdlbnQuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50Lmg6Cisg
ICAgICAgICogaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0SG9zdC5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0SG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9X
ZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyQ29uc29sZUFn
ZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAqIGluc3Bl
Y3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5j
cHA6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oOgorICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVxdWVzdCk6CisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
Ojpjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXI6OmRpc3BhdGNoRGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKToKKyAgICAg
ICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y3JlYXRlUmVzb3VyY2VIYW5kbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9u
c2UpOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlSG9zdDo6YXBwbGljYXRpb25DYWNo
ZUluZm8pOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5o
OgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6c2hvdWxkQ29udGludWVBZnRlck5v
dGlmeWluZ0xvYWRlZEZyb21NZW1vcnlDYWNoZSk6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVy
OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9s
bGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0
TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51
Q29udHJvbGxlcjo6YWRkSW5zcGVjdEVsZW1lbnRJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkNv
bnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkKToKKyAgICAgICAgKiBw
YWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNlbmRSZXNp
emVFdmVudElmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp+UGFnZSk6CisgICAg
ICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmg6
CisgICAgICAgICogcGxhdGZvcm0vZWZsL0VmbEluc3BlY3RvclV0aWxpdGllcy5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vZWZsL0VmbEluc3BlY3RvclV0aWxpdGllcy5oOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNlUmVxdWVz
dENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVGcm9t
RGVsZWdhdGVQcmVzZXJ2aW5nT2xkUHJvcGVydGllcyk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsRHVt
bXk6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6
OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpp
bnNwZWN0b3JIaWdobGlnaHRSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omlu
c3BlY3RvckhpZ2hsaWdodE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNl
dEluc3BlY3RvcklzVW5kZXJUZXN0KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpX
b3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyTWVzc2FnaW5nUHJveHk6Oldvcmtlck1lc3NhZ2luZ1Byb3h5KToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzZW5kTWVzc2FnZVRvSW5zcGVjdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0TWVzc2FnZVRvUGFnZUluc3Bl
Y3Rvcik6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRo
cmVhZCk6CisKIDIwMTUtMDEtMTkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KIAogICAgICAgICBbU1ZHIC0+IE9URiBDb252ZXJ0ZXJdIEZsaXAgdGhlIHN3aXRjaCBv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA4Nzc1MjE1YzNjMmVjODZhODljNGYxZGQ4ZmEwNTdmYjNkNTc2NTA3Li5l
ZjYyNTU4YmRhMjc4ZDJjMWZhZTFhMTljMzA0YjI4NzRkMjdjNDUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE1LTAxLTIwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmVtb3ZlIEVOQUJMRShJTlNQRUNUT1IpIGlmZGVmIGd1YXJkcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNjY4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmN4
cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW46CisKIDIwMTUt
MDEtMTkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBU
cnkgdG8gZml4IGJ1aWxkIHdhcm5pbmdzIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgY2xhbmcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKaW5kZXggZTdkNTMwZmM4YTA3ZDc3ZjcwYTc5NjU1Nzc1NWI0ZmJiMmEwMWE0
Ny4uNGRiZGE1MzE0YzE5YzY4ZWIyMmE1NTBmOWU2MThjZDZkNmVmM2NlYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAxLTIwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxv
c3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIEVOQUJMRShJTlNQRUNUT1IpIGlmZGVm
IGd1YXJkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQwNjY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdCk6CisKIDIwMTUtMDEtMTkgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbU1ZHIC0+IE9U
RiBDb252ZXJ0ZXJdIEZsaXAgdGhlIHN3aXRjaCBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDljNWQ1
MmFhNDliZjRmNWY3N2M5NDllOWZjNmMyMzdlNzNlMDVmNGEuLmYzOGIzYTk3OGE1NDA4NjI2MjZk
ZGVkYzRjZGE3OGUxNjM1MTE4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAor
MjAxNS0wMS0yMCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJlbW92ZSBFTkFCTEUoSU5TUEVDVE9SKSBpZmRlZiBndWFyZHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDY2OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKHJlZ2lzdGVyV2luZG93Q2xhc3MpOgorICAgICAg
ICAqIFdlYkluc3BlY3Rvci5jcHA6CisgICAgICAgIChXZWJJbnNwZWN0b3I6OnNldFRpbWVsaW5l
UHJvZmlsaW5nRW5hYmxlZCk6CisgICAgICAgICogV2ViTm9kZUhpZ2hsaWdodC5jcHA6CisgICAg
ICAgIChXZWJOb2RlSGlnaGxpZ2h0OjpXZWJOb2RlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYk5v
ZGVIaWdobGlnaHQ6OnVwZGF0ZSk6CisgICAgICAgICogV2ViTm9kZUhpZ2hsaWdodC5oOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6V2ViVmlldyk6CisgICAgICAg
IChXZWJWaWV3OjpjbG9zZSk6CisgICAgICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1lKToKKyAg
ICAgICAgKFdlYlZpZXc6Omluc3BlY3Rvcik6CisgICAgICAgICogV2ViVmlldy5oOgorCiAyMDE1
LTAxLTE5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtX
aW5dIFBlcmlvZGljIGZhaWx1cmUgaW4gRHVtcFJlbmRlclRyZWUgcmVsYXRlZCB0byBXZWJBY3Rp
b25Qcm9wZXJ0eUJhZzo6UmVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGZiZjU4ZTAyZTFlYjQ2OWYxYzgxZmYz
ZDQwMTAwN2Y1MjQ2M2U1MzkuLmI1MmJlMTI1YzNlZjg1ODhhOWE1NDE5ODZkNTkwY2JkNzk4YTIy
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5OCBAQAorMjAxNS0wMS0yMCAgQ3NhYmEgT3N6dHJv
Z29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBFTkFCTEUoSU5TUEVD
VE9SKSBpZmRlZiBndWFyZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDY2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAg
ICAgICogU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0
b0FQSSk6CisgICAgICAgIChXZWJLaXQ6OnRvSW1wbCk6CisgICAgICAgICogU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3Vy
Y2VSZXF1ZXN0Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXNvdXJj
ZVJlcXVlc3Q+OjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rv
ci5jcHA6CisgICAgICAgIChXS0luc3BlY3RvckdldFR5cGVJRCk6CisgICAgICAgIChXS0luc3Bl
Y3RvckdldFBhZ2UpOgorICAgICAgICAoV0tJbnNwZWN0b3JJc0Nvbm5lY3RlZCk6CisgICAgICAg
IChXS0luc3BlY3RvcklzVmlzaWJsZSk6CisgICAgICAgIChXS0luc3BlY3RvcklzRnJvbnQpOgor
ICAgICAgICAoV0tJbnNwZWN0b3JDb25uZWN0KToKKyAgICAgICAgKFdLSW5zcGVjdG9yU2hvdyk6
CisgICAgICAgIChXS0luc3BlY3RvckhpZGUpOgorICAgICAgICAoV0tJbnNwZWN0b3JDbG9zZSk6
CisgICAgICAgIChXS0luc3BlY3RvclNob3dDb25zb2xlKToKKyAgICAgICAgKFdLSW5zcGVjdG9y
U2hvd1Jlc291cmNlcyk6CisgICAgICAgIChXS0luc3BlY3RvclNob3dNYWluUmVzb3VyY2VGb3JG
cmFtZSk6CisgICAgICAgIChXS0luc3BlY3RvcklzQXR0YWNoZWQpOgorICAgICAgICAoV0tJbnNw
ZWN0b3JBdHRhY2gpOgorICAgICAgICAoV0tJbnNwZWN0b3JEZXRhY2gpOgorICAgICAgICAoV0tJ
bnNwZWN0b3JJc1Byb2ZpbGluZ1BhZ2UpOgorICAgICAgICAoV0tJbnNwZWN0b3JUb2dnbGVQYWdl
UHJvZmlsaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAg
ICAgKFdLUGFnZUdldEluc3BlY3Rvcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfaW5zcGVjdG9yX3Nob3cpOgorICAgICAgICAo
ZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3NlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90
ZXN0cy90ZXN0X2V3azJfdmlldy5jcHA6CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclBy
b3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZWF0dGFj
aFRvV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bWF5YmVJbml0
aWFsaXplU2FuZGJveEV4dGVuc2lvbkhhbmRsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6cmVzZXRTdGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQcm94eTo6Z2V0TGF1bmNoT3B0aW9ucyk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJJ
bnNwZWN0b3JQcm94eUVmbC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0
b3JQcm94eUd0ay5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCk6
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJJbnNwZWN0b3JQcm94eUlPUy5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCk6CisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKFdL
QnVuZGxlSW5zcGVjdG9yR2V0VHlwZUlEKToKKyAgICAgICAgKFdLQnVuZGxlSW5zcGVjdG9yU2hv
dyk6CisgICAgICAgIChXS0J1bmRsZUluc3BlY3RvckNsb3NlKToKKyAgICAgICAgKFdLQnVuZGxl
SW5zcGVjdG9yRXZhbHVhdGVTY3JpcHRGb3JUZXN0KToKKyAgICAgICAgKFdLQnVuZGxlSW5zcGVj
dG9yU2V0UGFnZVByb2ZpbGluZ0VuYWJsZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdl
dEluc3BlY3Rvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHA6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6V2ViUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6On5XZWJQYWdlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjppbnNwZWN0b3JVSSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFJlY2VpdmVNZXNz
YWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yRWZsLmNwcDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dlYkluc3BlY3RvclVJRWZsLmNwcDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYkluc3BlY3Rvckd0ay5jcHA6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJJbnNwZWN0b3JVSUd0ay5jcHA6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJJbnNwZWN0b3JVSU1hYy5tbToKKyAgICAgICAgKiBjb25maWcuaDoKKwogMjAx
NS0wMS0xOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtTVkcgLT4gT1RGIENvbnZlcnRlcl0gRmxpcCB0aGUgc3dpdGNoIG9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggMWFjZTQ4YzdhOTBlOTI2MmNiM2MwYjU4NDQ4ODRkYTA0NjEwNDY1
YS4uNmM0YmY1ZDBjMjYzYmYwODRlMGU1YjM2ZmE5ODc2NDA4OTQ4OGNkNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtMTA0LDcgKzEwNCw2IEBAIEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUxbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTDsK
IEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIOwogRU5BQkxFX0lOUFVUX1RZUEVfVElNRVtzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FOwogRU5BQkxFX0lOUFVUX1RZUEVfV0VFS1tzZGs9aXBob25lKl0gPSBFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLOwotRU5BQkxFX0lOU1BFQ1RPUiA9IEVOQUJMRV9JTlNQRUNUT1I7
CiAKIEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTW3Nkaz1pcGhvbmUqXSA9
IEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTOwogRU5BQkxFX0lOU1BFQ1RP
Ul9BTFRFUk5BVEVfRElTUEFUQ0hFUlNbc2RrPW1hY29zeCpdID0gJChFTkFCTEVfSU5TUEVDVE9S
X0FMVEVSTkFURV9ESVNQQVRDSEVSU19tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9N
QUpPUikpCkBAIC0yMjYsNCArMjI1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOU1BFQ1RP
UikgJChFTkFCTEVfSU9TX0FJUlBMQVkpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVS
RV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQo
RU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU9TX0FJUlBMQVkpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVS
RV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQo
RU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2JpbmRpbmdzL1NjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iaW5kaW5ncy9TY3JpcHRWYWx1ZS5jcHAKaW5kZXggOWUyMjUxZGJiNWZmOWNkNWEwYzNi
NTM0MGM0NmUxYmM1OTcxZTM5Zi4uNzZhN2IxMTFhOGQ4NzdhNjc5YjVjOGI4ZTg5NmUxYTdiMWI2
YjhhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2JpbmRpbmdzL1NjcmlwdFZh
bHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYmluZGluZ3MvU2NyaXB0VmFsdWUu
Y3BwCkBAIC05Nyw3ICs5Nyw2IEBAIGJvb2wgU2NyaXB0VmFsdWU6OmlzRnVuY3Rpb24oKSBjb25z
dAogICAgIHJldHVybiBnZXRDYWxsRGF0YShtX3ZhbHVlLmdldCgpLCBjYWxsRGF0YSkgIT0gQ2Fs
bFR5cGVOb25lOwogfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKIHN0YXRpYyBSZWZQdHI8SW5z
cGVjdG9yVmFsdWU+IGpzVG9JbnNwZWN0b3JWYWx1ZShFeGVjU3RhdGUqIHNjcmlwdFN0YXRlLCBK
U1ZhbHVlIHZhbHVlLCBpbnQgbWF4RGVwdGgpCiB7CiAgICAgaWYgKCF2YWx1ZSkgewpAQCAtMTU5
LDYgKzE1OCw1IEBAIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gU2NyaXB0VmFsdWU6OnRvSW5zcGVj
dG9yVmFsdWUoRXhlY1N0YXRlKiBzY3JpcHRTdGF0ZSkgY29uCiAgICAgSlNMb2NrSG9sZGVyIGhv
bGRlcihzY3JpcHRTdGF0ZSk7CiAgICAgcmV0dXJuIGpzVG9JbnNwZWN0b3JWYWx1ZShzY3JpcHRT
dGF0ZSwgbV92YWx1ZS5nZXQoKSwgSW5zcGVjdG9yVmFsdWU6Om1heERlcHRoKTsKIH0KLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogCiB9IC8vIG5hbWVzcGFjZSBEZXByZWNhdGVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYmluZGluZ3MvU2NyaXB0VmFsdWUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRWYWx1ZS5oCmluZGV4IGZlZjc3MDI2
ZTQ3Yjg5OTUzNWVjYTY1MjM3ZjUzMTY5NDU1MzMxYzYuLmM0ZDAwODY1NWNlOWIyYmE1MTBlYzZj
ODI5MDY5YmE5OWI5Mjc1ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5k
aW5ncy9TY3JpcHRWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9T
Y3JpcHRWYWx1ZS5oCkBAIC02NSw5ICs2NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgb3BlcmF0
b3I9PShjb25zdCBTY3JpcHRWYWx1ZSYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUgPT0g
b3RoZXIubV92YWx1ZTsgfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBSZWZQdHI8SW5z
cGVjdG9yOjpJbnNwZWN0b3JWYWx1ZT4gdG9JbnNwZWN0b3JWYWx1ZShKU0M6OkV4ZWNTdGF0ZSop
IGNvbnN0OwotI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgSlNDOjpTdHJvbmc8SlNDOjpVbmtub3du
PiBtX3ZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmNwcAppbmRleCAyMDJlMTY0OTllN2NlZGUxYWViYjcwNTAxM2M3YWM2MWQ0Yzg5
YTU2Li4zYjk4NWUyNmMxZjliZDNlZDE1NTA3ZGZiYzZmMjYwNzVkMTRhNzEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApAQCAt
MzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNvbnNvbGVNZXNz
YWdlLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSWRlbnRpZmllcnNG
YWN0b3J5LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuaCIKQEAgLTI5MSw1ICsyODksMyBAQCB1bnNpZ25lZCBDb25zb2xlTWVz
c2FnZTo6YXJndW1lbnRDb3VudCgpIGNvbnN0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCA3YWRiNjc5ZDRhNzZjM2IwZWMx
YTc3ZjRiZWI0MmJjY2E1YTdlYzZjLi5lZjFjNzlkMTVjN2NlODczZjcwYWVhMTVkMTJkOTkzN2Nl
ZGJmN2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db25zb2xl
TWVzc2FnZS5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIENvbnNvbGVNZXNzYWdlX2gKICNk
ZWZpbmUgQ29uc29sZU1lc3NhZ2VfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgIkNvbnNvbGVUeXBlcy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hl
cnMuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtOTUsNSArOTMsMyBAQCBwcml2YXRl
OgogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBDb25zb2xlTWVzc2FnZV9o
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5jcHAKaW5kZXgg
ZjVkZjBiZjI1NTlmN2QzMzg0ZjcwOWE4ZTA0M2Y5ZDg1ZmM0NzdhNC4uMmI0MjdkZDQ5ZWQ4NDI4
ZGM1NjhjOGE0Y2UwNjVmOTczYTM5YjBlOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuY3BwCkBAIC0yOSw4
ICsyOSw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlYXJjaFV0
aWxpdGllcy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3Rv
clZhbHVlcy5oIgogI2luY2x1ZGUgIlJlZ3VsYXJFeHByZXNzaW9uLmgiCiAjaW5jbHVkZSAiWWFy
ci5oIgpAQCAtMjE3LDUgKzIxNSwzIEBAIFN0cmluZyBmaW5kU3R5bGVzaGVldFNvdXJjZU1hcFVS
TChjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAKIH0gLy8gbmFtZXNwYWNlIENvbnRlbnRTZWFyY2hV
dGlsaXRpZXMKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvQ29u
dGVudFNlYXJjaFV0aWxpdGllcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9D
b250ZW50U2VhcmNoVXRpbGl0aWVzLmgKaW5kZXggYjNiNjE2MWU0ZWIwNmY3MDU5ZGZmZDA5OTc3
MTA0OTI2ZDA0ZDcxZC4uNTQyMDY1ZmRhZGM1N2FkNTc0ZDcwYWVjMmMyMmNlZDA0ZjliZGM4YiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db250ZW50U2VhcmNo
VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Db250ZW50
U2VhcmNoVXRpbGl0aWVzLmgKQEAgLTI5LDggKzI5LDYgQEAKICNpZm5kZWYgQ29udGVudFNlYXJj
aFV0aWxpdGllc19oCiAjZGVmaW5lIENvbnRlbnRTZWFyY2hVdGlsaXRpZXNfaAogCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24u
aD4KQEAgLTU4LDYgKzU2LDQgQEAgSlNfRVhQT1JUX1BSSVZBVEUgU3RyaW5nIGZpbmRTdHlsZXNo
ZWV0U291cmNlTWFwVVJMKGNvbnN0IFN0cmluZyYgY29udGVudCk7CiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFk
ZWZpbmVkKENvbnRlbnRTZWFyY2hVdGlsaXRpZXNfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5LmNwcAppbmRleCAzMjFiNWVl
OTI1MDU3ZDY2ODhlZjJjNThkMjEwNWVkZmZhM2Q4ZTI2Li43ZTE0NWJlM2VkMTBhZjE1NGRiNTZl
MGI0MGZmZmFmYjAzMWQ3YTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgog
CiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTYyLDQgKzYwLDMgQEAgU3RyaW5nIElkZW50aWZp
ZXJzRmFjdG9yeTo6YWRkUHJvY2Vzc0lkUHJlZml4VG8oY29uc3QgU3RyaW5nJiBpZCkKIAogfSAv
LyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3Rv
cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSWRlbnRpZmllcnNGYWN0b3J5
LmgKaW5kZXggMGQ1NjExZGMyOTNkMjg0NTE0ODVmYTdkNGE0NTIxYWRhNGZiZGZmOS4uZDgxYzc5
YTRhZTNlYzI4YjIzMjJhYTMyOWYwYmViYzEwNzZkZDVjOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JZGVudGlmaWVyc0ZhY3RvcnkuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lkZW50aWZpZXJzRmFjdG9yeS5oCkBAIC0yNiw4ICsy
Niw2IEBACiAjaWZuZGVmIElkZW50aWZpZXJzRmFjdG9yeV9oCiAjZGVmaW5lIElkZW50aWZpZXJz
RmFjdG9yeV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNDcsNSArNDUsMyBAQCBw
cml2YXRlOgogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyAhZGVmaW5lZChJ
ZGVudGlmaWVyc0ZhY3RvcnlfaCkKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCmlu
ZGV4IDNiODNkMDgwZDk4NTBlMDkwZTk5MmQzYWZiYTNjYTM4MDRhMDI0OGIuLjQ3NTUwM2FlYTgx
YmUwMjM1NjVjYzllZDYwZmU3OGZiYmQwNWU4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuY3BwCkBAIC0zMiw4ICszMiw2IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRl
ICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0RnVuY3Rpb25DYWxsLmgiCkBAIC0yNjIs
NCArMjYwLDMgQEAgdm9pZCBJbmplY3RlZFNjcmlwdDo6cmVsZWFzZU9iamVjdEdyb3VwKGNvbnN0
IFN0cmluZyYgb2JqZWN0R3JvdXApCiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCAyOTA5MmIwOTg2YjU0YjFhNTc0N2M2MmUzMGUw
NjdkYThkZWM5OTNiLi4wYThiM2Q0MjIyYzg1YTVkYTUzZmIyNzg4MWI1NDFkNWVlZTAyMjNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5o
CkBAIC0zMiw4ICszMiw2IEBACiAjaWZuZGVmIEluamVjdGVkU2NyaXB0X2gKICNkZWZpbmUgSW5q
ZWN0ZWRTY3JpcHRfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluamVj
dGVkU2NyaXB0QmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CkBAIC04MCw2ICs3OCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8v
IEluamVjdGVkU2NyaXB0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSW5qZWN0ZWRTY3JpcHRCYXNlLmNwcAppbmRleCA3ZGUwNTE5OGNhZTAyNzUxMmVjYjEw
NTNmZDFlNjIxMzEwMTdlYmQ5Li44M2I3ZDhjMzk3YmNlYmIyNGMyMjdkYmYyNTI0YjQyYzhjNzQ3
MDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0QmFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdEJhc2UuY3BwCkBAIC0zMiw4ICszMiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRCYXNlLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSAiRGVidWdnZXJFdmFsRW5hYmxlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
clZhbHVlcy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTE1Myw0ICsxNTEsMyBAQCB2
b2lkIEluamVjdGVkU2NyaXB0QmFzZTo6bWFrZUV2YWxDYWxsKEVycm9yU3RyaW5nJiBlcnJvclN0
cmluZywgRGVwcmVjYXRlZDo6U2NyaQogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0QmFzZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEJhc2UuaAppbmRleCAzMTEyMDM0ZjUwM2I4ODcyYzJk
NWQ0ZmI0NzgwNjc3MGEyOWNhNzFhLi5jYjQ2MzAzMzEzMjE0YjRkYzE2MmU1YTcyYzliNTNjNzA3
YjMyMWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRCYXNlLmgKQEAgLTMyLDggKzMyLDYgQEAKICNpZm5kZWYgSW5qZWN0ZWRTY3Jp
cHRCYXNlX2gKICNkZWZpbmUgSW5qZWN0ZWRTY3JpcHRCYXNlX2gKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgImJpbmRpbmdzL1NjcmlwdE9iamVj
dC5oIgpAQCAtNzgsNiArNzYsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBJbmplY3RlZFNj
cmlwdEJhc2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdEhvc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdEhvc3QuY3BwCmluZGV4IGRiOTE3Zjg1OWMxMDg5ZmMyZTNiZjM2ZDIzYTQx
MTQyZGUzOTc0N2MuLjYzNTE0NzJlMDdlOWE5ZjYxNzczYjcxY2NmZGIwODYxNDFlZWMxM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRI
b3N0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0SG9zdC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlICJKU0luamVjdGVkU2NyaXB0SG9zdC5oIgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpA
QCAtNzksNSArNzcsMyBAQCB2b2lkIEluamVjdGVkU2NyaXB0SG9zdDo6Y2xlYXJBbGxXcmFwcGVy
cygpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0SG9zdC5oCmluZGV4IGRiOTNmODYzMWJmOGJjMGVhODhjNDk5NmRiZmM0OTFlM2Nj
MzBmYmEuLjNiMGMxN2U5MWM2OTUxY2I2YTEzOTUyMWY5MzYwMmQ1NDYzMTQwZjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3Qu
aApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBJbmplY3RlZFNjcmlwdEhvc3RfaAogI2RlZmlu
ZSBJbmplY3RlZFNjcmlwdEhvc3RfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiU3Ryb25nLmgiCiAjaW5jbHVkZSAi
U3Ryb25nSW5saW5lcy5oIgpAQCAtNTQsNiArNTIsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAv
LyAhZGVmaW5lZChJbmplY3RlZFNjcmlwdEhvc3RfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcAppbmRleCBk
MTQ4NTY4Yzg3ODFlMDIxNGVjODdhYzc1YWJhMzU3OWFkNzA4MzAzLi43ZDI0NTk3YmFmYWFkMTM2
ZmM2ZWFkMWZmMjNlMjc2Yzg5Zjc2ZDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zMSw4ICsz
MSw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29tcGxldGlvbi5o
IgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2Ny
aXB0U291cmNlLmgiCkBAIC0xOTEsNCArMTg5LDMgQEAgdm9pZCBJbmplY3RlZFNjcmlwdE1hbmFn
ZXI6OmRpZENyZWF0ZUluamVjdGVkU2NyaXB0KEluamVjdGVkU2NyaXB0KQogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIu
aAppbmRleCBmNmQwNTMwOTVmMWY2NzliYWMzMjFiOGRiNTVmOTkzZTY2MWFmY2ZhLi5jYjZjOWIz
Yjk4YzU0YjUzMTM0MWY1YTdjMGQ3NTdiYzMxOTFiMjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTMw
LDggKzMwLDYgQEAKICNpZm5kZWYgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyX2gKICNkZWZpbmUgSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckVudmlyb25tZW50LmgiCkBAIC04NSw2ICs4Myw0IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluamVjdGVkU2NyaXB0TWFuYWdlcl9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1vZHVs
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TW9k
dWxlLmNwcAppbmRleCBhM2NmYjMyMDAyZTFlZDlkNWU2YTg0MDA3YTlmODFiODMwZjFhMzExLi41
YmEyN2UwODAyM2I1YWY3YWNkNmE0ZTNlNmFlOTEyYjg1MWIzOWY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TW9kdWxlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TW9kdWxlLmNw
cApAQCAtMzIsOCArMzIsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluamVj
dGVkU2NyaXB0TW9kdWxlLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAi
SW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNp
bmNsdWRlICJTY3JpcHRGdW5jdGlvbkNhbGwuaCIKQEAgLTg4LDUgKzg2LDMgQEAgdm9pZCBJbmpl
Y3RlZFNjcmlwdE1vZHVsZTo6ZW5zdXJlSW5qZWN0ZWQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBp
bmplY3RlZFNjcmlwdE0KIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdE1vZHVsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdE1vZHVsZS5oCmluZGV4IGExNzBlNzk4ZGM5MmRmYTdkZDEy
ZjUzZTEzZWFiMGE1MjM2OWJmZWMuLmU4ODgxYjllYzYyNmM5ZGNiY2E2OTQzNGNiM2ViODVlODg1
Yjg0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5qZWN0
ZWRTY3JpcHRNb2R1bGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0TW9kdWxlLmgKQEAgLTM1LDggKzM1LDYgQEAKICNpbmNsdWRlICJJbmplY3Rl
ZFNjcmlwdEJhc2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgSlNWYWx1ZTsKIH0KQEAg
LTY0LDYgKzYyLDQgQEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAot
I2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBJbmplY3RlZFNjcmlwdE1v
ZHVsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFnZW50UmVnaXN0cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmNwcAppbmRleCBlNDM4Y2YxNmYwYzQwZTY1MmNlZTY4ZTQx
YWYyNjI4MDQxMjA3ZTExLi40MDEwOGViNDliNGU5YmRkNDgzM2Y1YThmYWQzNTM3ZWJiZGJhYjRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQWdlbnRSZWdpc3RyeS5jcHAKQEAgLTI3LDggKzI3LDYgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5LmgiCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yQWdlbnRCYXNlLmgiCiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewpAQCAtNzEsNCArNjksMyBAQCB2b2lkIEluc3BlY3RvckFnZW50UmVnaXN0
cnk6OmRpc2NhcmRBZ2VudHMoKQogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwCmluZGV4IDg5
NWEwOTY2MjJlODg1ODIzYTdjZTZhYjdmMWUyZmNjZmViMzNhODEuLjMxNTY0ZDg3NDU0ZWU1NTFl
ZTY5MjUwMjNhNzViYzU3YTE5NGUzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwCkBA
IC0yNyw4ICsyNyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXIuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMu
aCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0yNjUsNSArMjYzLDMgQEAgUmVm
UHRyPEluc3BlY3RvclZhbHVlPiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcjo6Z2V0VmFsdWUo
SW5zcGVjdG9yT2JqZWN0KiBvYmoKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oCmluZGV4IDIz
N2ViNmQ3ZTkyMTk5YmZjN2NjYzNmNTQzYWM0MTgwNDcyYzJhMWEuLjg2Y2JkOWUyMmM3MzJiNzI2
YTVjMjVkMjIyNjhmZjMyZTcxMDhkYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmgKQEAgLTI3
LDggKzI3LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJfaAogI2RlZmlu
ZSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcl9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTEwNiw1ICsxMDQsNCBA
QCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUHJvdG9jb2xUeXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm90b2NvbFR5cGVzLmgKaW5kZXggMjk2ZjNhODEwNTJmZDM3OTg2ZjYzMTM3NDZmNzQy
MDU0ZTdhODM2Yy4uNmYwNjI5NjZhNGFhNzNkNzdhZWQyNzlhOTA3ODBiMzhkNzhkM2IwOCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2Nv
bFR5cGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
cm90b2NvbFR5cGVzLmgKQEAgLTI3LDggKzI3LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9j
b2xUeXBlc19oCiAjZGVmaW5lIEluc3BlY3RvclByb3RvY29sVHlwZXNfaAogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTE3Nyw2ICsxNzUsNCBAQCB1c2luZyBQcm90b2NvbDo6Qmlu
ZGluZ1RyYWl0czsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xUeXBl
c19oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2Jh
bE9iamVjdENvbnNvbGVDbGllbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9KU0dsb2JhbE9iamVjdENvbnNvbGVDbGllbnQuY3BwCmluZGV4IDg1OThhYWRjN2ViYTE2MDA5
NDlkYzkxMWRmMzJlNDA0YTM5OWViMGIuLmRlZjlkMTI0OTBkZGJhNGFhNTJlMGUxMTU3YWM0ZTFj
OTVjYjdjYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNH
bG9iYWxPYmplY3RDb25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVudC5jcHAKQEAgLTI2LDggKzI2LDYg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdENvbnNvbGVD
bGllbnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJDb25zb2xlTWVz
c2FnZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnNvbGVBZ2VudC5oIgogI2luY2x1ZGUgIlNj
cmlwdEFyZ3VtZW50cy5oIgpAQCAtMTI2LDUgKzEyNCwzIEBAIHZvaWQgSlNHbG9iYWxPYmplY3RD
b25zb2xlQ2xpZW50Ojp3YXJuVW5pbXBsZW1lbnRlZChjb25zdCBTdHJpbmcmIG1ldGhvZCkKIH0K
IAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdElu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGRkYTU0YjEyODEyYzRjNmYyNDcwMTlkYzk0MDI1
YjZiM2E5ZGU5MzUuLjY1NTNkNTZhY2ZlYjY1OTYzMDJhZWY2M2M2MWNhNDVmYTljMjU1YTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTI2LDggKzI2LDYg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEluc3BlY3Rv
ckNvbnRyb2xsZXIuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJDb21w
bGV0aW9uLmgiCiAjaW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJFcnJvckhh
bmRsaW5nU2NvcGUuaCIKQEAgLTI0NSw0ICsyNDMsMyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0SW5z
cGVjdG9yQ29udHJvbGxlcjo6YXBwZW5kRXh0cmFBZ2VudChzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVj
dAogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNU
T1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTR2xvYmFs
T2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCAyYTAyMTg0YWVh
ZGY5ZTc0NzJkZTE2MTUzYTIwOWRhNTRjOTQxYTY3Li43NjBmNzBmYTI4ZDBkNjVlYzQ3NmQ1MmVi
M2VkZGY4YjliZmVmZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL0pTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmgK
QEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9s
bGVyX2gKICNkZWZpbmUgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyX2gKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgpAQCAtMTI2LDYgKzEyNCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVk
KEpTR2xvYmFsT2JqZWN0SW5zcGVjdG9yQ29udHJvbGxlcl9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RTY3Jp
cHREZWJ1Z1NlcnZlci5jcHAKaW5kZXggZmYwNjFlZDBiNGMzZDhhNDI5MjgxZGY5NTE5NzU0NWE5
OTRkYjQzMy4uMGU5NjhmNzMwNTUyNDRlZWExNDI3OTdmYzcxMDQ0NTk4NmUyMmYyMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNjcmlw
dERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pT
R2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZl
ci5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xvY2suaCIKQEAgLTg5LDQgKzg3
LDMgQEAgdm9pZCBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyOjpydW5FdmVudExvb3BX
aGlsZVBhdXNlZCgpCiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggOTY4
OWNhYmRmYTk1YmIxMzY2MWYzZTM1MjA2Y2ExN2U3ODgwNjMyZS4uNDg5YmYwM2EwZWIxOTU1ZGFl
YWNmOGQ4ZGFiNzM2NjFlZDA2YzUzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVy
LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgSlNHbG9iYWxPYmplY3RTY3JpcHREZWJ1Z1Nl
cnZlcl9oCiAjZGVmaW5lIEpTR2xvYmFsT2JqZWN0U2NyaXB0RGVidWdTZXJ2ZXJfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIlNjcmlwdERlYnVnU2VydmVyLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtNjQsNiArNjIsNCBAQCBwcml2YXRlOgogCiB9IC8v
IG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNl
bmRpZiAvLyBKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAK
aW5kZXggYTQ4NGNlMDI3YTQ1NTE4MTU5ZjFmNzMwYmNhNDIzZTBkZmViODM3OC4uZDkwNzc3NTE3
MjI1MWQ3ZTMyZTBmMTJlMWE2MzU0YjAyMDhjMzMyYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5jcHAKQEAgLTI2
LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0luamVjdGVkU2Ny
aXB0SG9zdC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkRhdGVJbnN0
YW5jZS5oIgogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0
LmgiCkBAIC0yMDUsNSArMjAzLDMgQEAgSlNJbmplY3RlZFNjcmlwdEhvc3QqIHRvSlNJbmplY3Rl
ZFNjcmlwdEhvc3QoSlNWYWx1ZSB2YWx1ZSkKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IGRjMjM1Njgw
MjkzMjNlNjMwYzc0YmUxMjBhMGZkOTE0MjUxNTk3NTcuLmQzYjJiZWExNzM1NTFjODYzY2NkZDM0
ZTAwNWU3OTcwZWM5ZDg4MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5k
ZWYgSlNJbmplY3RlZFNjcmlwdEhvc3RfaAogI2RlZmluZSBKU0luamVjdGVkU2NyaXB0SG9zdF9o
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSlNEZXN0cnVjdGlibGVPYmpl
Y3QuaCIKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC04NSw2ICs4Myw0IEBAIEpTSW5qZWN0
ZWRTY3JpcHRIb3N0KiB0b0pTSW5qZWN0ZWRTY3JpcHRIb3N0KEpTQzo6SlNWYWx1ZSk7CiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQog
I2VuZGlmIC8vICFkZWZpbmVkKEpTSW5qZWN0ZWRTY3JpcHRIb3N0X2gpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90
eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlw
dEhvc3RQcm90b3R5cGUuY3BwCmluZGV4IDFhZDEyMjY2ZDJlNDQ3OTUwMmNmM2UxZDVhNmNmOWEw
MzQ0OWNmYjAuLmNhZTkyMTRiZGM3NzkzN2MwOWY3MmIxZGVhMWRmMTRiNTk0ZjlmNmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhv
c3RQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJ
bmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGUuaCIK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJFcnJvci5oIgogI2luY2x1ZGUg
IkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKQEAgLTEzNyw0ICsxMzUs
MyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzSW5qZWN0ZWRTY3JpcHRIb3N0UHJv
dG90eXBlRnVuY3Rpb25HZXRJbnRlcm5hbFBybwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
IAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBl
LmgKaW5kZXggOWQwYjdiNjY2ZmQzODNhNmVhODlkNGJhM2M0YjAwMzVlYmFmMmZjMS4uM2VlYjY5
MDI2ZDgwODE3NWQ4MWUwNjE2MGE4NTQ3NjUwN2I5MzBhNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0luamVjdGVkU2NyaXB0SG9zdFByb3RvdHlwZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNJbmplY3RlZFNjcmlwdEhvc3RQ
cm90b3R5cGUuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBKU0luamVjdGVkU2NyaXB0SG9z
dFByb3RvdHlwZV9oCiAjZGVmaW5lIEpTSW5qZWN0ZWRTY3JpcHRIb3N0UHJvdG90eXBlX2gKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJKU09iamVjdC5oIgogCiBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKQEAgLTYzLDYgKzYxLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8g
IWRlZmluZWQoSlNJbmplY3RlZFNjcmlwdEhvc3RQcm90b3R5cGVfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmNw
cAppbmRleCAzZjEyNTU0YjczNzQwNmEwYjY5ZGU5N2Y1YmVmMWZlNDU3MDM5ZWJjLi4yODFiOTNh
NzM2NDZmYjY1NGMxYzBkNWY0ZDZiNzNjM2UwZDU0YmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuY3BwCkBA
IC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRGVi
dWdnZXJTY29wZS5oIgogI2luY2x1ZGUgIkVycm9yLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5o
IgpAQCAtMjE1LDQgKzIxMywzIEBAIEpTSmF2YVNjcmlwdENhbGxGcmFtZSogdG9KU0phdmFTY3Jp
cHRDYWxsRnJhbWUoSlNWYWx1ZSB2YWx1ZSkKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAK
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggMDVhMzMwN2Fh
MTQ2YWI3ZTdiMmJhMWEyYWNkMjQ0NTdlODcxZWE1YS4uN2YwNzYxYmNkYTg0ODFkYWU4NzRkZThi
OGE1YjgyMGRlZDRmNDE5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZS5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZu
ZGVmIEpTSmF2YVNjcmlwdENhbGxGcmFtZV9oCiAjZGVmaW5lIEpTSmF2YVNjcmlwdENhbGxGcmFt
ZV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSlNEZXN0cnVjdGlibGVP
YmplY3QuaCIKICNpbmNsdWRlICJKYXZhU2NyaXB0Q2FsbEZyYW1lLmgiCiAKQEAgLTk2LDYgKzk0
LDQgQEAgSlNKYXZhU2NyaXB0Q2FsbEZyYW1lKiB0b0pTSmF2YVNjcmlwdENhbGxGcmFtZShKU0M6
OkpTVmFsdWUpOwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChKU0phdmFTY3JpcHRDYWxsRnJhbWVf
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNKYXZhU2Ny
aXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvSlNKYXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmNwcAppbmRleCA4YTE2MDQ1MTAzYWU5
YzMxMmI3NDExZTA4NTFjZmRmYmE5MWNiM2IwLi41OGJiNjhiMGExZjM4OGYyMWNhZjhiNWY2MjJj
YWQ3N2IyMDc5ZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuY3BwCkBAIC0y
Niw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNKYXZhU2NyaXB0
Q2FsbEZyYW1lUHJvdG90eXBlLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVk
ZSAiRXJyb3IuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJJZGVudGlm
aWVyLmgiCkBAIC0yMzksNSArMjM3LDMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c0phdmFTY3JpcHRDYWxsRnJhbWVDb25zdGFudEZVTkNUSU9OX05BTUVfU0NPUEUoRXgKIH0KIAog
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFTY3JpcHRD
YWxsRnJhbWVQcm90b3R5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lUHJvdG90eXBlLmgKaW5kZXggYjg2OGM1M2UyNTNmNzQ4M2U1ZjVk
ZmY2NGU1NjAyNDY5MmM1MTgyNC4uOWFhN2VlMWI0ZmZiNzRjMmQ4ODI0NTkxYmNmODBiMjk2YjZi
OGNhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0phdmFT
Y3JpcHRDYWxsRnJhbWVQcm90b3R5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL0pTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZS5oCkBAIC0yNiw4ICsyNiw2IEBA
CiAjaWZuZGVmIEpTSmF2YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZV9oCiAjZGVmaW5lIEpTSmF2
YVNjcmlwdENhbGxGcmFtZVByb3RvdHlwZV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
aW5jbHVkZSAiSlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC02Myw2ICs2
MSw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEpTSmF2YVNjcmlwdENhbGxG
cmFtZVByb3RvdHlwZV9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9KYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5jcHAKaW5kZXggZjczNWE4YWE2MTI5ODk3M2RlMzkx
NmQ3YjYxZGYzNTE1NGNjYTk3Yi4uZDVmNzNkNTQwNTA2OWFhYWFiN2M4M2MxMDdmMDA5ZWZiODFh
YTA3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2Ny
aXB0Q2FsbEZyYW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL0ph
dmFTY3JpcHRDYWxsRnJhbWUuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSmF2YVNjcmlwdENhbGxGcmFtZS5oIgogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBA
IC01Miw0ICs1MCwzIEBAIEphdmFTY3JpcHRDYWxsRnJhbWUqIEphdmFTY3JpcHRDYWxsRnJhbWU6
OmNhbGxlcigpCiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
SmF2YVNjcmlwdENhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9K
YXZhU2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggNmJkNjQzYmM0MThhM2ZlZWU5ZDUwOTY5ZDkzYzgy
NGFjOGI3YzY5MC4uNGZjNGU2YmFhZjZkNDc5ZjBiYjgyNjI4OTAwYjAxZDRkMmRhMmNiZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2FsbEZy
YW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KYXZhU2NyaXB0Q2Fs
bEZyYW1lLmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgSmF2YVNjcmlwdENhbGxGcmFtZV9o
CiAjZGVmaW5lIEphdmFTY3JpcHRDYWxsRnJhbWVfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiZGVidWdnZXIvRGVi
dWdnZXJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJpbnRlcnByZXRlci9DYWxsRnJhbWUuaCIKQEAg
LTY4LDYgKzY2LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gSmF2YVNjcmlwdENhbGxGcmFt
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxGcmFtZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxG
cmFtZS5jcHAKaW5kZXggMjhjMmFmN2VmZDc4ZDI2OWUxYWRhZTUwNzBiMTY3Y2EwYjQ0MjIxZi4u
MjBlYWYwOWY0Nzg1ZWQ5Y2FjMGRmNTZjYjJhMjk1YzI5YzY1M2VkZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcApAQCAtNTcs
NyArNTcsNiBAQCBib29sIFNjcmlwdENhbGxGcmFtZTo6aXNFcXVhbChjb25zdCBTY3JpcHRDYWxs
RnJhbWUmIG8pIGNvbnN0CiAgICAgICAgICYmIG1fY29sdW1uID09IG8ubV9jb2x1bW47CiB9CiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6
OkNhbGxGcmFtZT4gU2NyaXB0Q2FsbEZyYW1lOjpidWlsZEluc3BlY3Rvck9iamVjdCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6OkNhbGxGcmFtZTo6
Y3JlYXRlKCkKQEAgLTY3LDYgKzY2LDUgQEAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNv
bGU6OkNhbGxGcmFtZT4gU2NyaXB0Q2FsbEZyYW1lOjpidWlsZEluc3BlY3Rvck9iamUKICAgICAg
ICAgLnNldENvbHVtbk51bWJlcihtX2NvbHVtbikKICAgICAgICAgLnJlbGVhc2UoKTsKIH0KLSNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oCmluZGV4IDAxN2RkZDBiNGFkYzUwY2Qw
ZWY0ODI5NGIxMDIwYzk4N2U3MDBiYTAuLjk5YWM0ODlhNzc0NjJjYzQ5YzdjYmQwZjk5NGVmZGQ1
YzdjMGM3ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3Jp
cHRDYWxsRnJhbWUuaApAQCAtMzQsMTAgKzM0LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgotI2VuZGlmCiAKIG5h
bWVzcGFjZSBJbnNwZWN0b3IgewogCkBAIC01Myw5ICs1MCw3IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgaXNFcXVhbChjb25zdCBTY3JpcHRDYWxsRnJhbWUmKSBjb25zdDsKIAotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6OkNhbGxGcmFt
ZT4gYnVpbGRJbnNwZWN0b3JPYmplY3QoKSBjb25zdDsKLSNlbmRpZgogCiBwcml2YXRlOgogICAg
IFN0cmluZyBtX2Z1bmN0aW9uTmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmNwcAppbmRleCA5OWRmODM2ZTE5M2MzMDQ5MzIxMjcx
YWQ0ZmU0NDYzZWYyMjI2ZmQyLi40OWIwNzE5ZjVhNGE3MWI5NWFiZDJlYzBjNzVhOGU3NTcxYTE5
NGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRD
YWxsU3RhY2suY3BwCkBAIC0xMDYsNyArMTA2LDYgQEAgYm9vbCBTY3JpcHRDYWxsU3RhY2s6Omlz
RXF1YWwoU2NyaXB0Q2FsbFN0YWNrKiBvKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDb25zb2xlOjpT
dGFja1RyYWNlPiBTY3JpcHRDYWxsU3RhY2s6OmJ1aWxkSW5zcGVjdG9yQXJyYXkoKSBjb25zdAog
ewogICAgIGF1dG8gZnJhbWVzID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q29uc29sZTo6U3RhY2tU
cmFjZTo6Y3JlYXRlKCk7CkBAIC0xMTQsNiArMTEzLDUgQEAgUmVmPEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkNvbnNvbGU6OlN0YWNrVHJhY2U+IFNjcmlwdENhbGxTdGFjazo6YnVpbGRJbnNwZWN0b3JB
cnIKICAgICAgICAgZnJhbWVzLT5hZGRJdGVtKG1fZnJhbWVzLmF0KGkpLmJ1aWxkSW5zcGVjdG9y
T2JqZWN0KCkpOwogICAgIHJldHVybiBXVEY6Om1vdmUoZnJhbWVzKTsKIH0KLSNlbmRpZgogCiB9
IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCmluZGV4IDI1M2Q4NTIyNDc1MTllODc0YjRjYWY2ZjVi
ZWVlMzlhYTk1MmM4MzEuLmQyY2JiNjU5NjFiYjM4ZDllOTViOTU1OWQ3NTI4OGYxNzZkMDAwMmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3Rh
Y2suaApAQCAtMzIsMTUgKzMyLDEyIEBACiAjaWZuZGVmIFNjcmlwdENhbGxTdGFja19oCiAjZGVm
aW5lIFNjcmlwdENhbGxTdGFja19oCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVj
dHMuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9i
amVjdHMuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogY2xhc3MgSlNfRVhQ
T1JUX1BSSVZBVEUgU2NyaXB0Q2FsbFN0YWNrIDogcHVibGljIFJlZkNvdW50ZWQ8U2NyaXB0Q2Fs
bFN0YWNrPiB7CkBAIC02MSw5ICs1OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNFcXVhbChT
Y3JpcHRDYWxsU3RhY2sqKSBjb25zdDsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgUmVm
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNvbnNvbGU6OlN0YWNrVHJhY2U+IGJ1aWxkSW5zcGVjdG9y
QXJyYXkoKSBjb25zdDsKLSNlbmRpZgogCiBwcml2YXRlOgogICAgIFNjcmlwdENhbGxTdGFjaygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1
Z1NlcnZlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVn
U2VydmVyLmNwcAppbmRleCBkYjk0ZmFmZTExZjA4MTA3YzYyMjQ4MWZiOTgwZGY4NjMwMDk2MmMy
Li4yMzVmMGUwZjE1ZDZjY2NhYzQyY2Q4ODIyMGEyYzA2N2I0NzYxMzgyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcApA
QCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdERl
YnVnU2VydmVyLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRGVidWdn
ZXJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJEZWJ1Z2dlclNjb3BlLmgiCiAjaW5jbHVkZSAiSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lLmgiCkBAIC0zNDksNSArMzQ3LDMgQEAgRGVwcmVjYXRlZDo6U2Ny
aXB0VmFsdWUgU2NyaXB0RGVidWdTZXJ2ZXI6OmV4Y2VwdGlvbk9yQ2F1Z2h0VmFsdWUoSlNDOjpF
eGVjU3RhdGUKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IDRmNjk1YTc1YmEwMWJiNDEzNDIz
ZDE1NDFhMTQwOGFiZjYzZTdlNWEuLmU2MmVjMmVjMDRiMGE4YjNiNmFjYWYyMTBkOTg4Njg3ZWZl
NDE4YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvckVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yVmFsdWVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKQEAgLTE1Miw1ICsxNTAs
MyBAQCB2b2lkIEluc3BlY3RvckFnZW50OjphY3RpdmF0ZUV4dHJhRG9tYWlucyhjb25zdCBWZWN0
b3I8U3RyaW5nPiYgZXh0cmFEb21haW5zKQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5oCmluZGV4IDcz
MGRjZTYzMGE3OGU4ODFhMTc0YjIwNDNhNDRiY2RmMmI5OGVmMGMuLjM4YzllZWYyNzczMWE2OGRm
MDA4OTVhNzVkNzVlNmY1ODViMWQzNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuaApAQCAtMzAsOCArMzAsNiBA
QAogI2lmbmRlZiBJbnNwZWN0b3JBZ2VudF9oCiAjZGVmaW5lIEluc3BlY3RvckFnZW50X2gKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5j
bHVkZSAiaW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oIgpAQCAtODMsNiArODEsNCBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JBZ2VudF9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggNDljN2ZjMWE2ZDcwMjU4MDVkZWE5MjMzNDYw
YzU1MzU4N2UwM2VjYi4uMDUwNTExOTMxN2UzYTIxNGRiODg5MWU5OTI3Yjc2ZDE3NDI1N2FmZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29uc29sZUFnZW50LmgiCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29uc29sZU1lc3NhZ2UuaCIKICNpbmNs
dWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMu
aCIKQEAgLTIyMyw1ICsyMjEsMyBAQCB2b2lkIEluc3BlY3RvckNvbnNvbGVBZ2VudDo6YWRkQ29u
c29sZU1lc3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPENvbnNvbGVNZXNzYWdlPiBjbwogfQogCiB9IC8v
IG5hbWVzcGFjZSBJbnNwZWN0b3IKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5oCmluZGV4IDc4MzNiZTI3YTYzNjY0YjU0NWRhNzcxZTgyYWNh
NzJiZDYwN2U4YjQuLjcyNjJjMDc1YWQyMDIxMjFiNTNjMGI1YjYzODJhYmY4YWMxNmZmMWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIElu
c3BlY3RvckNvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIEluc3BlY3RvckNvbnNvbGVBZ2VudF9oCiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogI2lu
Y2x1ZGUgImluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudEJhc2UuaCIKQEAgLTk1LDYgKzkzLDQgQEAg
cHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JDb25zb2xlQWdlbnRf
aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggM2ZkYzBlYzk2MmU4OTU0
MWZjNTEyZGJhNmVmNGM1YzY2YzY0Y2JlYy4uM2FlNzYwOWNhZTIwYjdhZjBhZjM2MzczNjliN2Y0
MmM3NDgyZmQyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTMwLDgg
KzMwLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29udGVudFNl
YXJjaFV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAi
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCkBAIC04MjksNSArODI3LDMgQEAgdm9pZCBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50OjpjbGVhckV4Y2VwdGlvblZhbHVlKCkKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5oCmluZGV4IGFiOTYxOTg5ZWNlNzViZmRhN2EyOGE5ZGVlODdjY2U4ODUz
Y2M0OGIuLjliZTMyMzMxNTEwOTQ1NTg3OGIwMWMzNGIwNjE4YzU2MzgxNDQ1MmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTMwLDggKzMwLDYgQEAKICNpZm5kZWYgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudF9oCiAjZGVmaW5lIEluc3BlY3RvckRlYnVnZ2VyQWdlbnRfaAogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVycy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNs
dWRlICJiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oIgpAQCAtMTc4LDYgKzE3Niw0IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckRlYnVnZ2VyQWdlbnRfaCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1
bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IDE1YWQ3NDY4YjYxNjExMzI5NTAxM2Q1NTM5
MGIzNDg0NjQ1ODlmZGEuLjVlZDIyNzc5ZjdjNWMxODdjYjA3YzdiMGQ3YTAwMGU1YzJmOTRkMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcApAQCAtMzIsOCArMzIsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclJ1bnRpbWVBZ2VudC5oIgogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkNvbXBsZXRpb24uaCIKICNpbmNsdWRl
ICJIZWFwSXRlcmF0aW9uU2NvcGUuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgpAQCAt
MzQ0LDUgKzM0MiwzIEBAIHZvaWQgSW5zcGVjdG9yUnVudGltZUFnZW50OjpnZXRCYXNpY0Jsb2Nr
cyhFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluCiB9CiAKIH0gLy8gbmFtZXNw
YWNlIEluc3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
UnVudGltZUFnZW50LmgKaW5kZXggMmUwMjhhMTlhOTg5Mjg2MGFkZmQxODIxNzMyOThlOGY3NDQ3
MjlmNi4uOWQ3ZmNmMGViNDlkNGJmZWNjNTAwY2VkN2NhZWI2OTUxZjVlMmJjMSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yUnVudGltZUFnZW50LmgKQEAgLTMyLDggKzMyLDYgQEAKICNpZm5kZWYgSW5zcGVjdG9y
UnVudGltZUFnZW50X2gKICNkZWZpbmUgSW5zcGVjdG9yUnVudGltZUFnZW50X2gKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAjaW5jbHVkZSAi
aW5zcGVjdG9yL0luc3BlY3RvckFnZW50QmFzZS5oIgpAQCAtOTksNSArOTcsNCBAQCBwcml2YXRl
OgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNU
T1IpCiAjZW5kaWYgLy8gSW5zcGVjdG9yUnVudGltZUFnZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFn
ZW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFs
T2JqZWN0Q29uc29sZUFnZW50LmNwcAppbmRleCA3ZDQ4ZDAzN2YyNTY5YTU2MWRjNmJkZGQwMTE2
YjFjZWMyY2UxZGNhLi5mZTExMmRkMWVhZThjYWVjZTIzY2FiOGMwMzFiMDZlNjQzOTA5ZmVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2Jh
bE9iamVjdENvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuY3BwCkBAIC0yNiw4ICsyNiw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RDb25zb2xl
QWdlbnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogCiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudDo6SlNHbG9iYWxPYmplY3RDb25zb2xlQWdl
bnQoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCkBAIC00Niw1
ICs0NCwzIEBAIHZvaWQgSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQ6OmFkZEluc3BlY3RlZE5v
ZGUoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIElu
c3BlY3RvcgotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0Q29uc29sZUFn
ZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9i
amVjdENvbnNvbGVBZ2VudC5oCmluZGV4IGI3ZTFiMzBhYzRjZDdhYTYyMzNlNWFjOTk4YWQ1ZDFk
ZWQwOGMxMDcuLjBkNzljNWQxYmYxYmJlZTc2YjlhYmI4NTNmOTkzYzFhYWMwNjVhNDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2Jq
ZWN0Q29uc29sZUFnZW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSlNHbG9iYWxPYmplY3RDb25zb2xlQWdlbnQuaApAQCAtMjYsOCArMjYsNiBAQAogI2lm
bmRlZiBKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIEpTR2xvYmFsT2JqZWN0
Q29uc29sZUFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNw
ZWN0b3JDb25zb2xlQWdlbnQuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVn
U2VydmVyLmgiCiAKQEAgLTQ5LDYgKzQ3LDQgQEAgcHVibGljOgogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVm
aW5lZChKU0dsb2JhbE9iamVjdENvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFsT2Jq
ZWN0RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggMzY3NGFiZmM2ODVmNzZmMDFjNGU0ODAxNmM5YTcw
ZmRiNTgwYjhiZi4uOWFlNzZjNjJhNmM5YzVhYjAzYzcwOTE1ZDJkMjMxZDhmZjY3M2RlOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxP
YmplY3REZWJ1Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuY3BwCkBAIC0yNiw4ICsyNiw2
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3REZWJ1Z2dl
ckFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29uc29sZU1l
c3NhZ2UuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JDb25zb2xlQWdlbnQuaCIKQEAgLTc0LDUgKzcyLDMgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdERlYnVnZ2VyQWdlbnQ6OmJyZWFrcG9pbnRBY3Rpb25Mb2coSlNDOjpFeGVjU3RhdGUqIGV4
ZWMsIGNvbnMKIH0KIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCi0KLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSlNHbG9iYWxPYmplY3REZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaAppbmRl
eCA4YzFmNjUxMTQzMTQ0YTQ5MTA2MzA4MmIxNDg1YjJmYzY4NjRlMjg3Li5hYzZiODcxNjlmNDc1
YTI4MmI2MDEwZWNiZDAxOWIzNTJkNzU1ODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdERl
YnVnZ2VyQWdlbnQuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBKU0dsb2JhbE9iamVjdERl
YnVnZ2VyQWdlbnRfaAogI2RlZmluZSBKU0dsb2JhbE9iamVjdERlYnVnZ2VyQWdlbnRfaAogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdFNjcmlwdERlYnVnU2VydmVyLmgiCiAKQEAgLTYy
LDYgKzYwLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSlNHbG9iYWxPYmpl
Y3REZWJ1Z2dlckFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudC5j
cHAKaW5kZXggNzQwNjFjNTk3MTlhMjM1OTBiMzRhZTc1OThmNzdhNDUxMmUwZmU0YS4uZGM0NGNj
N2ZmNjEyMTFiNjc3MjZiMzBjYmI0ZjRhMGNiMzg4MTdmMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0pTR2xvYmFs
T2JqZWN0UnVudGltZUFnZW50LmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgiCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNpbmNsdWRlICJJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgpAQCAt
NzQsNSArNzIsMyBAQCBJbmplY3RlZFNjcmlwdCBKU0dsb2JhbE9iamVjdFJ1bnRpbWVBZ2VudDo6
aW5qZWN0ZWRTY3JpcHRGb3JFdmFsKEVycm9yU3RyaW5nJiBlcgogfQogCiB9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2JhbE9iamVjdFJ1bnRp
bWVBZ2VudC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSlNHbG9i
YWxPYmplY3RSdW50aW1lQWdlbnQuaAppbmRleCA4ZmI4MTFlMjI2Mjg5YzczYzNjZmEwYzcwN2Ew
YzRlNjAzMDdkNjM5Li5jNjUwNjhlNjg5ZWM0NTNhM2MyNTQzYTZmOGQ0ODU3ZWUwOGNmNzk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9KU0dsb2Jh
bE9iamVjdFJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvYWdlbnRzL0pTR2xvYmFsT2JqZWN0UnVudGltZUFnZW50LmgKQEAgLTI2LDggKzI2LDYgQEAK
ICNpZm5kZWYgSlNHbG9iYWxPYmplY3RSdW50aW1lQWdlbnRfaAogI2RlZmluZSBKU0dsb2JhbE9i
amVjdFJ1bnRpbWVBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAi
SW5zcGVjdG9yUnVudGltZUFnZW50LmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNTksNiArNTcs
NCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChKU0dsb2JhbE9iamVjdFJ1bnRp
bWVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRl
cy5weQppbmRleCA0NWM1NDE3YTI3MzUxZDM5ZDc3ZGM4NmY3MmViYmNlZTg2MWVjYTJlLi4wMDI4
NmFhOGUzZWQyNjg0MzAwZjhlYTdjNjBjNjQyOTdmYTlkZGJmIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3Rl
bXBsYXRlcy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Y29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQpAQCAtMzMsOCArMzMsNiBAQCBjbGFz
cyBDcHBHZW5lcmF0b3JUZW1wbGF0ZXM6CiAgICAgIiIiI2lmbmRlZiAke2hlYWRlckd1YXJkU3Ry
aW5nfQogI2RlZmluZSAke2hlYWRlckd1YXJkU3RyaW5nfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLQogJHtpbmNsdWRlc30KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC00NCwyNCArNDIs
MTggQEAgJHt0eXBlZGVmc30iIiIpCiAgICAgSGVhZGVyUG9zdGx1ZGUgPSAoCiAgICAgIiIifSAv
LyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
ZW5kaWYgLy8gIWRlZmluZWQoJHtoZWFkZXJHdWFyZFN0cmluZ30pIiIiKQogCiAgICAgSW1wbGVt
ZW50YXRpb25QcmVsdWRlID0gKAogICAgICIiIiNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICR7cHJpbWFyeUluY2x1ZGV9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAke3NlY29uZGFy
eUluY2x1ZGVzfQogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsiIiIpCiAKICAgICBJbXBsZW1lbnRh
dGlvblBvc3RsdWRlID0gKAogICAgICIiIn0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgotCi0jZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKICIiIikKIAogICAgIEFsdGVybmF0ZURpc3BhdGNoZXJz
SGVhZGVyUHJlbHVkZSA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0
ZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdApp
bmRleCBjNWU3NDJjNzUwY2E2MzQ3MWNjMmEzYzZhNWIzMWZjYjU4MmExM2YzLi5jZmY5ODllMTYx
ODhhYTQ0MDczYjliNWI5YTNmYjM2NGQ2NWIzNGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1h
c3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmli
dXRlLmpzb24tcmVzdWx0CkBAIC0xMzksOCArMTM5LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5hY3Rp
dmF0ZURvbWFpbigiRGF0YWJhc2UiKTsKICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTIwOCw4ICsyMDYsNiBAQCBwcml2YXRlOgogCiB9
IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBF
bmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKIApAQCAtMjQ3LDggKzI0Myw2
IEBAIHByaXZhdGU6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC01
MTIsOCArNTA2LDYgQEAgdm9pZCBJbnNwZWN0b3JEYXRhYmFzZUJhY2tlbmREaXNwYXRjaGVyOjpl
eGVjdXRlU1FMQXN5bmMobG9uZyBjYWxsSWQsIGNvbnN0IEluc3AKIAogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtNTUwLDggKzU0Miw2IEBAIHZvaWQgSW5zcGVj
dG9yRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcjo6ZXhlY3V0ZVNRTEFzeW5jKGxvbmcgY2FsbElk
LCBjb25zdCBJbnNwCiAjaWZuZGVmIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogI2Rl
ZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luc3BlY3RvclZhbHVlcy5oPgpAQCAtNTYzLDggKzU1Myw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0
b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
X2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC02
MDIsMTYgKzU5MCwxMiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0
Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaApA
QCAtNjQ4LDggKzYzMiw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHNfaAogI2RlZmluZSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQ
cm90b2NvbFR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtNzYyLDgg
Kzc0NCw2IEBAIHB1YmxpYzoKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9j
b2xPYmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCiAK
QEAgLTgwMSw4ICs3ODEsNiBAQCBwdWJsaWM6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsK
QEAgLTgyOSw4ICs4MDcsNiBAQCBTdHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUp
IHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKIAogIyMj
IEJlZ2luIEZpbGU6IFJXSVByb3RvY29sQmFja2VuZERpc3BhdGNoZXJzLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9j
b21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQv
Y29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0
CmluZGV4IGEzZTM1MTY1MjZmZThkOWU4MTdhYTBkODgwMTc2YTVlN2Y4ODM0YzAuLjkwNTg3MTA5
OGU0NzVhMzljYTZmOTA2ZDU1NTYwZjgwOTk0ZDcxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9jb21tYW5kcy13aXRo
LW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2NvbW1hbmRz
LXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAtMTM0
LDggKzEzNCw2IEBAIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7
CiAjaWZuZGVmIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oCiAjZGVmaW5lIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CkBAIC0xODksOCArMTg3LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tl
bmREaXNwYXRjaGVycy5oCiAKQEAgLTIyOCw4ICsyMjQsNiBAQCBwcml2YXRlOgogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtNDA1LDggKzM5OSw2IEBAIHZvaWQgSW5z
cGVjdG9yRGF0YWJhc2VCYWNrZW5kRGlzcGF0Y2hlcjo6ZXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0
ZXJzKGxvbmcgY2FsbElkCiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
LmgKQEAgLTQ0Myw4ICs0MzUsNiBAQCB2b2lkIEluc3BlY3RvckRhdGFiYXNlQmFja2VuZERpc3Bh
dGNoZXI6OmV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVycyhsb25nIGNhbGxJZAogI2lmbmRlZiBJ
bnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRE
aXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVj
dG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KQEAg
LTQ1Niw4ICs0NDYsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRl
ZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNw
ZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApAQCAtNDk1LDE2ICs0ODMsMTIgQEAgbmFtZXNw
YWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8g
bmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMj
IEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4g
RmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKQEAgLTU0MSw4ICs1MjUsNiBAQCBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKICNk
ZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
Ci0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5oPgogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTY1NSw4ICs2MzcsNiBAQCBwdWJsaWM6CiAKIH0g
Ly8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQog
I2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oKQogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAogCkBAIC02OTQsOCArNjc0LDYgQEAgcHVi
bGljOgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2Jq
ZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC03MjIsOCArNzAwLDYgQEAgU3Ry
aW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIElu
c3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2Nv
bEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29t
bWFuZC1zaXplcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVz
Lmpzb24tcmVzdWx0CmluZGV4IDAwMDAyNzU2NTliODYzMThjODQzMjhmYzRkNTgyZTMyNjhhOTcx
ZGYuLmFlZDAzYTFhZmE1NGI4MjNhZDg1YWE5OTBmZjU3NTdjN2VmY2M5YjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9k
b21haW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9kb21haW5z
LXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0CkBAIC0xNTIsOCArMTUyLDYg
QEAgSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yazMiKTsKICNpZm5kZWYg
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTIyOSw4
ICsyMjcsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmgKIApAQCAtMjY4LDggKzI2NCw2IEBAIHByaXZhdGU6CiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5l
bC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC00ODcsOCArNDgxLDYgQEAgdm9pZCBJbnNwZWN0b3JOZXR3
b3JrM0JhY2tlbmREaXNwYXRjaGVyOjpsb2FkUmVzb3VyY2U3KGxvbmcgY2FsbElkLCBjb25zdCBJ
bnNwZWMKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAK
IAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtNTI1
LDggKzUxNyw2IEBAIHZvaWQgSW5zcGVjdG9yTmV0d29yazNCYWNrZW5kRGlzcGF0Y2hlcjo6bG9h
ZFJlc291cmNlNyhsb25nIGNhbGxJZCwgY29uc3QgSW5zcGVjCiAjaWZuZGVmIEluc3BlY3RvckZy
b250ZW5kRGlzcGF0Y2hlcnNfaAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2Nv
bE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
Lmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgpAQCAtNTM4LDggKzUy
OCw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
IAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNw
ZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZyb250
ZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC01NzcsMTYgKzU2NSwxMiBAQCBuYW1lc3BhY2UgSW5zcGVj
dG9yIHsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERp
c3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNw
ZWN0b3JQcm90b2NvbE9iamVjdHMuaApAQCAtNjIzLDggKzYwNyw2IEBAIG5hbWVzcGFjZSBJbnNw
ZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogI2RlZmluZSBJbnNw
ZWN0b3JQcm90b2NvbE9iamVjdHNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KIApAQCAtNjU2LDggKzYzOCw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFN0
cmluZyBnZXRFbnVtQ29uc3RhbnRWYWx1ZShUIGVudW1WYWx1ZSkKIAogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRl
ZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oCiAKQEAgLTY5NSw4ICs2NzUsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBTdHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoVCBlbnVtVmFsdWUpCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKQEAgLTcxNiw4ICs2OTQsNiBAQCBTdHJpbmcgZ2V0RW51bUNvbnN0
YW50VmFsdWUoaW50IGNvZGUpIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvclByb3RvY29s
T2JqZWN0cy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IFJXSVByb3RvY29sQmFja2VuZERpc3BhdGNo
ZXJzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29u
LXJlc3VsdAppbmRleCA5MGJmNGVjMDdiM2UxYjdhOTIzZDQ4YmE1ZTczOTRlMmZmNTVlNWY5Li4x
ZmFiMjM2M2Y5NzBlYTg2N2IyMTdiYTJhNGFlYjJkODAyMGMxZWMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZW51bS12
YWx1ZXMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CkBAIC0xNDAsOCAr
MTQwLDYgQEAgSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRXZlbnREb21haW4iKTsK
ICNpZm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
QEAgLTE4Nyw4ICsxODUsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IK
IAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzLmgKIApAQCAtMjI2LDggKzIyMiw2IEBAIHByaXZhdGU6CiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgiCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0yODcsOCArMjgxLDYgQEAgdm9pZCBJbnNw
ZWN0b3JDb21tYW5kRG9tYWluQmFja2VuZERpc3BhdGNoZXI6OmNvbW1hbmRXaXRoRW51bVJldHVy
blZhbHVlKGxvbmcgY2EKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMu
aApAQCAtMzI1LDggKzMxNyw2IEBAIHZvaWQgSW5zcGVjdG9yQ29tbWFuZERvbWFpbkJhY2tlbmRE
aXNwYXRjaGVyOjpjb21tYW5kV2l0aEVudW1SZXR1cm5WYWx1ZShsb25nIGNhCiAjaWZuZGVmIElu
c3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERp
c3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgpAQCAt
MzUyLDggKzM0Miw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rv
ckZyb250ZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmRE
aXNwYXRjaGVycy5oCiAKQEAgLTM5MSw4ICszNzksNiBAQCBwcml2YXRlOgogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNDEwLDggKzM5Niw2IEBAIHZvaWQgSW5zcGVjdG9yRXZl
bnREb21haW5Gcm9udGVuZERpc3BhdGNoZXI6OmV2ZW50V2l0aEVudW1QYXJhbWV0ZXIoUGFyYW1l
dGVyIHBhCiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNw
cAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKQEAgLTQ0OCw4
ICs0MzIsNiBAQCB2b2lkIEluc3BlY3RvckV2ZW50RG9tYWluRnJvbnRlbmREaXNwYXRjaGVyOjpl
dmVudFdpdGhFbnVtUGFyYW1ldGVyKFBhcmFtZXRlciBwYQogI2lmbmRlZiBJbnNwZWN0b3JQcm90
b2NvbE9iamVjdHNfaAogI2RlZmluZSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2Nv
bFR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtNDkxLDggKzQ3Myw2
IEBAIGVudW0gY2xhc3MgVHlwZURvbWFpbkVudW0gewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yUHJvdG9j
b2xPYmplY3RzLmgKIApAQCAtNTMwLDggKzUxMCw2IEBAIGVudW0gY2xhc3MgVHlwZURvbWFpbkVu
dW0gewogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2Jq
ZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC01NjAsOCArNTM4LDYgQEAgU3Ry
aW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIElu
c3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2Nv
bEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFy
YW1ldGVycy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0CmluZGV4IDZlZjkwY2I0MGY5Mzk1MTgzOGQ0NzEyZDk1ODE0NjhjMjAxNDNlMzQuLmNi
MTAzMzRiOWM4MjE1ZDdkN2Q4NWIyYWZiNGQ0Zjg1ODI0YjMxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudHMt
d2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRp
b25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CkBAIC0xMjksOCArMTI5LDYgQEAgSW5zcGVjdG9y
QmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJhc2UiKTsKICNpZm5kZWYgSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gK
IAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9i
amVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE0Myw4ICsxNDEsNiBAQCB0
eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAK
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVycy5oCiAKQEAgLTE4Miw4ICsxNzgsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0
cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3Bl
Y3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTE5OCw4ICsx
OTIsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250
ZW5kRGlzcGF0Y2hlcnMuaApAQCAtMjM2LDggKzIyOCw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewogI2lmbmRlZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVj
dG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5j
bHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JW
YWx1ZXMuaD4KQEAgLTI1OCw4ICsyNDgsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBJ
bnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVm
aW5lZChJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC0yOTcsOCArMjg1LDYgQEAgcHJpdmF0ZToK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTM1Miw4ICszMzgsNiBAQCB2b2lk
IEluc3BlY3RvckRhdGFiYXNlRnJvbnRlbmREaXNwYXRjaGVyOjpkaWRFeGVjdXRlTm9PcHRpb25h
bFBhcmFtZXRlcnMoUmVmUHRyPAogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmRE
aXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0
cy5oCkBAIC0zOTAsOCArMzc0LDYgQEAgdm9pZCBJbnNwZWN0b3JEYXRhYmFzZUZyb250ZW5kRGlz
cGF0Y2hlcjo6ZGlkRXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzKFJlZlB0cjwKICNpZm5kZWYg
SW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yUHJvdG9jb2xUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAg
LTQ5OCw4ICs0ODAsNiBAQCBwdWJsaWM6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rv
clByb3RvY29sT2JqZWN0c19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVj
dHMuaAogCkBAIC01MzcsOCArNTE3LDYgQEAgcHVibGljOgogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CkBAIC01NTgsOCArNTM2LDYgQEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGlu
dCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3Bw
CiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24tcmVzdWx0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2dl
bmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdAppbmRleCBhYmI3
MDE5MDNmYzE2YTZhNzQ3ODFmOThkZGM0NjA2YjM3MjI0ZDY2Li5kOWEyYjFlYjg5ZmM4OGIyMTk1
NDdlMmYyNjVjZTZkODlmNTg4MjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZl
YXR1cmUtZ3VhcmRzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVy
ZS1ndWFyZHMuanNvbi1yZXN1bHQKQEAgLTEzOCw4ICsxMzgsNiBAQCBJbnNwZWN0b3JCYWNrZW5k
LmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrMyIpOwogI2lmbmRlZiBJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcnNfaAogI2RlZmluZSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5o
IgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMTg0LDggKzE4Miw2IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oKQog
IyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC0yMjMsOCAr
MjE5LDYgQEAgcHJpdmF0ZToKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5z
cGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
QEAgLTI4NCw4ICsyNzgsNiBAQCB2b2lkIEluc3BlY3Rvck5ldHdvcmsxQmFja2VuZERpc3BhdGNo
ZXI6OmxvYWRSZXNvdXJjZShsb25nIGNhbGxJZCwgY29uc3QgSW5zcGVjdAogCiB9IC8vIG5hbWVz
cGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQg
RmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTog
SW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCkBAIC0zMjIsOCArMzE0LDYgQEAgdm9pZCBJ
bnNwZWN0b3JOZXR3b3JrMUJhY2tlbmREaXNwYXRjaGVyOjpsb2FkUmVzb3VyY2UobG9uZyBjYWxs
SWQsIGNvbnN0IEluc3BlY3QKICNpZm5kZWYgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19o
CiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1
ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CkBAIC0zNDUsOCArMzM1LDYgQEAgcHJpdmF0ZToKIAog
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMj
IEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApAQCAtMzg0LDggKzM3
Miw2IEBAIHByaXZhdGU6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC00MDIs
OCArMzg4LDYgQEAgdm9pZCBJbnNwZWN0b3JOZXR3b3JrM0Zyb250ZW5kRGlzcGF0Y2hlcjo6cmVz
b3VyY2VMb2FkZWQoKQogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCkBA
IC00NDAsOCArNDI0LDYgQEAgdm9pZCBJbnNwZWN0b3JOZXR3b3JrM0Zyb250ZW5kRGlzcGF0Y2hl
cjo6cmVzb3VyY2VMb2FkZWQoKQogI2lmbmRlZiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAog
I2RlZmluZSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg+CiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIApAQCAtNTQ0LDggKzUyNiw2IEBAIHB1YmxpYzoKIAog
fSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gpCiAjIyMgRW5k
IEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCiAKQEAgLTU4Myw4ICs1NjMsNiBAQCBw
dWJsaWM6CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTYwNCw4ICs1ODIsNiBAQCBT
dHJpbmcgZ2V0RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKIAogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IFJXSVByb3Rv
Y29sQmFja2VuZERpc3BhdGNoZXJzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50
LWRvbWFpbi5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJl
c3VsdAppbmRleCAzNTk5N2UzNjZjMGVjNjE1YWU2MjYxMzI4MmJjMmNlZDNjOTk0YzM2Li45YjNh
ZjI4MTQ3Y2ZmOTAwODQ1NTViNDAyNGVmMDI3ZDc2OWMwM2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2FtZS10eXBl
LWlkLWRpZmZlcmVudC1kb21haW4uanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJl
bnQtZG9tYWluLmpzb24tcmVzdWx0CkBAIC0xMjMsOCArMTIzLDYgQEAgcHJpdmF0ZToKICNpZm5k
ZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNw
ZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTEz
Nyw4ICsxMzUsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8g
IWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oCiAKQEAgLTE3Niw4ICsxNzIsNiBAQCB0eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KQEAgLTE5Miw4ICsxODYsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5k
IEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6
IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtMjMwLDggKzIyMiw2IEBAIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gK
ICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KQEAgLTI0Myw4ICsyMzMsNiBAQCBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApA
QCAtMjgyLDE2ICsyNzAsMTIgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERp
c3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmgKQEAgLTMyOCw4ICszMTIsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yUHJvdG9jb2xUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTM2
Niw4ICszNDgsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBTdHJpbmcgZ2V0RW51bUNvbnN0YW50
VmFsdWUoVCBlbnVtVmFsdWUpCiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclByb3Rv
Y29sT2JqZWN0c19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAog
CkBAIC00MDUsOCArMzg1LDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gU3RyaW5nIGdldEVudW1D
b25zdGFudFZhbHVlKFQgZW51bVZhbHVlKQogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBA
IC00MjYsOCArNDA0LDYgQEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBC
ZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvc2hh
ZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFs
LXR5cGUtc2V0dGVycy5qc29uLXJlc3VsdAppbmRleCBlNTJhMzdkYTk3YTQwMDM0MWM2ZjQxMDMx
ZDExNDBiOGI4YWIyMjEzLi4zOGFkNzk5M2ViOGVhZDAzNmZiNGQwMzMyODQ2ZjMyMzM2YTNjNDdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0Cisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQKQEAgLTEyMyw4ICsx
MjMsNiBAQCBwcml2YXRlOgogI2lmbmRlZiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaAog
I2RlZmluZSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUg
PGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgpAQCAtMTM3LDggKzEzNSw2IEBAIHR5cGVkZWYgU3RyaW5nIEVycm9y
U3RyaW5nOwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
cnNfaCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKIApAQCAt
MTc2LDggKzE3Miw2IEBAIHR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIgogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtMTkyLDggKzE4Niw2IEBAIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJz
LmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCkBA
IC0yMzAsOCArMjIyLDYgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaWZuZGVmIEluc3BlY3Rv
ckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90
b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgpAQCAtMjQzLDgg
KzIzMyw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJ
bnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckZy
b250ZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC0yODIsMTYgKzI3MCwxMiBAQCBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVu
ZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZp
bGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaApAQCAtMzI4LDggKzMxMiw2IEBAIG5hbWVzcGFjZSBJ
bnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogI2RlZmluZSBJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbFR5cGVzLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KIApAQCAtNDM2LDggKzQxOCw2IEBAIHB1YmxpYzoKIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYg
Ly8gIWRlZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IElu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5oCiAKQEAgLTQ3NSw4ICs0NTUsNiBAQCBwdWJsaWM6CiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgi
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5o
PgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKQEAgLTQ5OSw4ICs0NzcsNiBAQCBTdHJpbmcgZ2V0
RW51bUNvbnN0YW50VmFsdWUoaW50IGNvZGUpIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9y
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IFJXSVByb3RvY29sQmFja2Vu
ZERpc3BhdGNoZXJzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0
aXZlLXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10
eXBlLmpzb24tcmVzdWx0CmluZGV4IDNjYzY0MGM0M2JlN2I0MjM0ODZhYWE3YzRjYTVlNmMzZjQ4
ZWUzOTIuLmFmMWQ1MzA5N2NhNjdhYTBhMjhmNGIwNGI2MDlmM2E5M2I2MGIxOTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3Rl
ZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdApAQCAt
MTIzLDggKzEyMyw2IEBAIHByaXZhdGU6CiAjaWZuZGVmIEluc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVyc19oCiAjZGVmaW5lIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0xMzcsOCArMTM1LDYgQEAgdHlwZWRlZiBTdHJp
bmcgRXJyb3JTdHJpbmc7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
aAogCkBAIC0xNzYsOCArMTcyLDYgQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgi
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xOTIsOCArMTg2LDYgQEAgbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzLmgKQEAgLTIzMCw4ICsyMjIsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYg
SW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAjZGVmaW5lIEluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3Bl
Y3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+CkBA
IC0yNDMsOCArMjMzLDYgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFk
ZWZpbmVkKEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaCkKICMjIyBFbmQgRmlsZTogSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCiAKQEAgLTI4MiwxNiArMjcwLDEyIEBAIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiB9IC8v
IG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMj
IyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2lu
IEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCkBAIC0zMjgsOCArMzEyLDYgQEAgbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAjaWZuZGVmIEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oCiAj
ZGVmaW5lIEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclByb3RvY29sVHlwZXMuaD4KICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCkBAIC0zNjEsOCArMzQzLDYgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKFQgZW51bVZhbHVlKQogCiB9IC8v
IG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNl
bmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JQcm90b2NvbE9iamVjdHNfaCkKICMjIyBFbmQgRmls
ZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKIApAQCAtNDAwLDggKzM4MCw2IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IFN0cmluZyBnZXRFbnVtQ29uc3RhbnRWYWx1ZShUIGVudW1WYWx1ZSkK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMu
aCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNDIxLDggKzM5OSw2IEBAIFN0cmluZyBn
ZXRFbnVtQ29uc3RhbnRWYWx1ZShpbnQgY29kZSkgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVj
dG9yUHJvdG9jb2xPYmplY3RzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogUldJUHJvdG9jb2xCYWNr
ZW5kRGlzcGF0Y2hlcnMuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5q
c29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKaW5kZXgg
MDBlZGFhZWIwZTJkN2VhMjkxMzlkMGM2ZjBiZGQ0ZTg1YmYyODk1MC4uNGRhOTdmNDg0ZmY2MzVm
YzYzYzM0NmNhMThkZTMyMThhNjkyMGI0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJy
YXktdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24t
cmVzdWx0CkBAIC0xMjYsOCArMTI2LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0o
IkRlYnVnZ2VyLlJlYXNvbiIsIHtEaWVkOiAiRGllZCIsIEZhaW50ZWQ6ICJGYWludGUKICNpZm5k
ZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNw
ZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE0
MCw4ICsxMzgsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8g
IWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oCiAKQEAgLTE3OSw4ICsxNzUsNiBAQCB0eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KQEAgLTE5NSw4ICsxODksNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5k
IEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6
IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtMjMzLDggKzIyNSw2IEBAIG5hbWVz
cGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gK
ICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KQEAgLTI0Niw4ICsyMzYsNiBAQCBuYW1lc3BhY2UgSW5z
cGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApA
QCAtMjg1LDE2ICsyNzMsMTIgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERp
c3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmgKQEAgLTMzMSw4ICszMTUsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVj
dG9yUHJvdG9jb2xUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTM4
Niw4ICszNjgsNiBAQCBlbnVtIGNsYXNzIFJlYXNvbiB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3Bl
Y3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVk
KEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90
b2NvbE9iamVjdHMuaAogCkBAIC00MjUsOCArNDA1LDYgQEAgZW51bSBjbGFzcyBSZWFzb24gewog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5o
IgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC00NDksOCArNDI3LDYgQEAgU3RyaW5nIGdl
dEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tl
bmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNv
bi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
ZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQKaW5kZXggYjA0
ODc2ZThkYmQ5NmMzYjY0ODc5ZDVmNzg4MTQ1ZDllMGNlNjE3Zi4uZmI0YWVkMjAxNzBkYjlkNTNm
MjgyMzRhNTc5Y2Y0MDU2MTFiYjMyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10
eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3Vs
dApAQCAtMTI3LDggKzEyNyw2IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJSdW50
aW1lLlR3b0xlZ2dlZEFuaW1hbHMiLCB7RHVja3M6ICJEdWNrcyIsIEhlbnM6CiAjaWZuZGVmIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oCiAjZGVmaW5lIEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9y
UHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC0xNDEsOCAr
MTM5LDYgQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAKIH0gLy8gbmFtZXNwYWNlIElu
c3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZp
bmVkKEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaAogCkBAIC0xODAsOCArMTc2LDYgQEAgdHlwZWRlZiBTdHJp
bmcgRXJyb3JTdHJpbmc7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXJzLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBA
IC0xOTYsOCArMTkwLDYgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNl
IEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxl
OiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBJbnNw
ZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKQEAgLTIzNCw4ICsyMjYsNiBAQCBuYW1lc3BhY2Ug
SW5zcGVjdG9yIHsKICNpZm5kZWYgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAjZGVm
aW5lIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLQogI2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3Iv
SW5zcGVjdG9yVmFsdWVzLmg+CkBAIC0yNDcsOCArMjM3LDYgQEAgbmFtZXNwYWNlIEluc3BlY3Rv
ciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnNf
aCkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCiAKQEAgLTI4
NiwxNiArMjc0LDEyIEBAIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCkBA
IC0zMzIsOCArMzE2LDYgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaWZuZGVmIEluc3BlY3Rv
clByb3RvY29sT2JqZWN0c19oCiAjZGVmaW5lIEluc3BlY3RvclByb3RvY29sT2JqZWN0c19oCiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvclBy
b3RvY29sVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCkBAIC0zODMsOCAr
MzY1LDYgQEAgZW51bSBjbGFzcyBUd29MZWdnZWRBbmltYWxzIHsKIAogfSAvLyBuYW1lc3BhY2Ug
SW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRl
ZmluZWQoSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oCiAKQEAgLTQyMiw4ICs0MDIsNiBAQCBlbnVtIGNsYXNzIFR3b0xl
Z2dlZEFuaW1hbHMgewogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBy
b3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC00NTAsOCArNDI4
LDYgQEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGludCBjb2RlKSB7CiAKIH0gLy8gbmFt
ZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVu
ZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAKICMjIyBCZWdpbiBGaWxlOiBS
V0lQcm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpz
b24tcmVzdWx0CmluZGV4IDNhNWJmMDgzNGVkZDAxZmQ4NjQ1OWMwOTEwMmZlNGJmYzc1Yzk0YTgu
LjlmYmI1ZjUzMzQ5ZmUxMjNmMDA5ZGM2MzBkYmFkNDg0N2E1OWQxZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBl
LWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9u
LW9iamVjdC10eXBlLmpzb24tcmVzdWx0CkBAIC0xMjMsOCArMTIzLDYgQEAgcHJpdmF0ZToKICNp
Zm5kZWYgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFj
a2VuZERpc3BhdGNoZXJzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAg
LTEzNyw4ICsxMzUsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1l
c3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYg
Ly8gIWRlZmluZWQoSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oCiAKQEAgLTE3Niw4ICsxNzIsNiBAQCB0eXBl
ZGVmIFN0cmluZyBFcnJvclN0cmluZzsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KQEAgLTE5Miw4ICsxODYsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBu
YW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMg
RW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZp
bGU6IEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaApAQCAtMjMwLDggKzIyMiw2IEBAIG5h
bWVzcGFjZSBJbnNwZWN0b3IgewogI2lmbmRlZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
X2gKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaD4KQEAgLTI0Myw4ICsyMzMsNiBAQCBuYW1lc3BhY2Ug
SW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNw
YXRjaGVyc19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgK
IApAQCAtMjgyLDE2ICsyNzAsMTIgQEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5k
aWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVu
ZERpc3BhdGNoZXJzLmNwcAogCiAjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzLmgKQEAgLTMyOCw4ICszMTIsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYg
SW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yUHJvdG9jb2xUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAg
LTgyNiw4ICs4MDgsNiBAQCBwdWJsaWM6CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rv
clByb3RvY29sT2JqZWN0c19oKQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVj
dHMuaAogCkBAIC04NjUsOCArODQ1LDYgQEAgcHVibGljOgogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CkBAIC04ODYsOCArODY0LDYgQEAgU3RyaW5nIGdldEVudW1Db25zdGFudFZhbHVlKGlu
dCBjb2RlKSB7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3Bw
CiAKICMjIyBCZWdpbiBGaWxlOiBSV0lQcm90b2NvbEJhY2tlbmREaXNwYXRjaGVycy5oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZXhw
ZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29uLXJlc3VsdCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVp
cmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CmluZGV4IGViZDNlMmM5MTU0YjUxZWRlY2Rk
ZWE5YTYyNjhiN2MzYTUzMmNjZGEuLjA0NWNjYjhmMjBjZjU4MzA4NzQxOGYwNjhmYjVhMDA1MTg5
YjM3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9leHBl
Y3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CkBAIC0xMjcsOCAr
MTI3LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIlRlc3QuQ2FzdGVkQW5pbWFs
cyIsIHtEdWNrczogIkR1Y2tzIiwgSGVuczogIkhlbnMKICNpZm5kZWYgSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzX2gKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JQcm90b2NvbE9iamVj
dHMuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTE0MSw4ICsxMzksNiBAQCB0eXBl
ZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXJzX2gpCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVycy5oCiAKQEAgLTE4MCw4ICsxNzYsNiBAQCB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmlu
ZzsKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JCYWNrZW5kRGlzcGF0
Y2hlcnMuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAgLTE5Niw4ICsxOTAs
NiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAK
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVycy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcnMuaApAQCAtMjM0LDggKzIyNiw2IEBAIG5hbWVzcGFjZSBJbnNwZWN0b3Igewog
I2lmbmRlZiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzX2gKICNkZWZpbmUgSW5zcGVjdG9y
RnJvbnRlbmREaXNwYXRjaGVyc19oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2hhbm5lbC5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JWYWx1
ZXMuaD4KQEAgLTI0Nyw4ICsyMzcsNiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogfSAvLyBu
YW1lc3BhY2UgSW5zcGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5k
aWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVyc19oKQogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKIApAQCAtMjg2LDE2ICsyNzQsMTIg
QEAgbmFtZXNwYWNlIEluc3BlY3RvciB7CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
LQogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7
CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAogCiAj
IyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKQEAgLTMzMiw4ICszMTYs
NiBAQCBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKICNpZm5kZWYgSW5zcGVjdG9yUHJvdG9jb2xPYmpl
Y3RzX2gKICNkZWZpbmUgSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzX2gKIAotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xUeXBlcy5o
PgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKQEAgLTYwNSw4ICs1ODcsNiBAQCBzdGF0
aWMgdm9pZCBhc3NlcnRWYWx1ZUhhc0V4cGVjdGVkVHlwZShJbnNwZWN0b3I6Okluc3BlY3RvclZh
bHVlKik7CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclByb3RvY29sT2JqZWN0c19o
KQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAogCkBAIC02NDQsOCAr
NjI0LDYgQEAgc3RhdGljIHZvaWQgYXNzZXJ0VmFsdWVIYXNFeHBlY3RlZFR5cGUoSW5zcGVjdG9y
OjpJbnNwZWN0b3JWYWx1ZSopOwogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvclByb3RvY29sT2JqZWN0cy5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC03Nzcs
OCArNzU1LDYgQEAgdm9pZCBCaW5kaW5nVHJhaXRzPEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRlc3Q6
OlJlY3Vyc2l2ZU9iamVjdDI+Ojphc3NlcnRWYWx1ZUhhc0UKIAogfSAvLyBuYW1lc3BhY2UgSW5z
cGVjdG9yCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjIyMgRW5kIEZpbGU6IElu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKIAogIyMjIEJlZ2luIEZpbGU6IFJXSVByb3RvY29s
QmFja2VuZERpc3BhdGNoZXJzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNl
dC5jcHAKaW5kZXggMmE1NTJmOGZhMjBhZWI0OTA1OGVkNWNlYmFjYjNhODllNjQxNzEwMi4uZmY5
MjE4ZmY1NzE5Y2ViMmI1YTY3ZjU0ZjAzYzYxNTYzODEzZjIyMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKQEAgLTIzNiw3ICsyMzYsNiBAQCBTdHJpbmcgVHlw
ZVNldDo6bGVhc3RDb21tb25BbmNlc3RvcigpIGNvbnN0CiAgICAgcmV0dXJuIFN0cnVjdHVyZVNo
YXBlOjpsZWFzdENvbW1vbkFuY2VzdG9yKG1fc3RydWN0dXJlSGlzdG9yeSk7CiB9CiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rv
cjo6UHJvdG9jb2w6OlJ1bnRpbWU6OlN0cnVjdHVyZURlc2NyaXB0aW9uPj4gVHlwZVNldDo6YWxs
U3RydWN0dXJlUmVwcmVzZW50YXRpb25zKCkgY29uc3QKIHsKICAgICBhdXRvIGRlc2NyaXB0aW9u
ID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGlt
ZTo6U3RydWN0dXJlRGVzY3JpcHRpb24+OjpjcmVhdGUoKTsKQEAgLTI2MCw3ICsyNTksNiBAQCBS
ZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6VHlwZVNldD4gVHlwZVNldDo6aW5zcGVj
dG9yVHlwZVNldCgpIGNvbnN0CiAgICAgICAgIC5zZXRJc09iamVjdCgobV9zZWVuVHlwZXMgJiBU
eXBlT2JqZWN0KSAhPSBUeXBlTm90aGluZykKICAgICAgICAgLnJlbGVhc2UoKTsKIH0KLSNlbmRp
ZgogCiBTdHJpbmcgVHlwZVNldDo6dG9KU09OU3RyaW5nKCkgY29uc3QKIHsKQEAgLTUxMCw3ICs1
MDgsNiBAQCBTdHJpbmcgU3RydWN0dXJlU2hhcGU6OnRvSlNPTlN0cmluZygpIGNvbnN0CiAgICAg
cmV0dXJuIGpzb24udG9TdHJpbmcoKTsKIH0KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiBSZWY8
SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6U3RydWN0dXJlRGVzY3JpcHRpb24+IFN0cnVj
dHVyZVNoYXBlOjppbnNwZWN0b3JSZXByZXNlbnRhdGlvbigpCiB7CiAgICAgYXV0byBiYXNlID0g
SW5zcGVjdG9yOjpQcm90b2NvbDo6UnVudGltZTo6U3RydWN0dXJlRGVzY3JpcHRpb246OmNyZWF0
ZSgpLnJlbGVhc2UoKTsKQEAgLTU0MSw3ICs1MzgsNiBAQCBSZWY8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6UnVudGltZTo6U3RydWN0dXJlRGVzY3JpcHRpb24+IFN0cnVjdHVyZVNoYXBlOjppbnNwZWN0
bwogCiAgICAgcmV0dXJuIFdURjo6bW92ZShiYXNlKTsKIH0KLSNlbmRpZgogCiBib29sIFN0cnVj
dHVyZVNoYXBlOjpoYXNTYW1lUHJvdG90eXBlQ2hhaW4oUGFzc1JlZlB0cjxTdHJ1Y3R1cmVTaGFw
ZT4gcHJwT3RoZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm1FZmwuY21ha2UgYi9T
b3VyY2UvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggMWYwNTAxNDMzZjhhNTg5NDcyMzRhYTAzZDE0
NGE3NDgyN2NhYThlYS4uN2UwYjNkMmZmYmJjNzMzNDc1NGE5YTNkODUyZjg3ZTUwMzk4YmExYyAx
MDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9QbGF0Zm9y
bUVmbC5jbWFrZQpAQCAtMSw0NyArMSw0NSBAQAogYWRkX3N1YmRpcmVjdG9yeSgke1dFQkNPUkVf
RElSfS9wbGF0Zm9ybS9lZmwvRGVmYXVsdFRoZW1lKQogCi1pZiAoRU5BQkxFX0lOU1BFQ1RPUikK
LSAgICBhZGRfY3VzdG9tX3RhcmdldCgKLSAgICAgICAgd2ViLWluc3BlY3Rvci1yZXNvdXJjZXMg
QUxMCi0gICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBjb3B5X2RpcmVjdG9yeSAk
e1dFQklOU1BFQ1RPUlVJX0RJUn0vVXNlckludGVyZmFjZSAke1dFQl9JTlNQRUNUT1JfRElSfQot
ICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY29weSAke0RFUklWRURfU09VUkNF
U19XRUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzLmpzICR7V0VCX0lOU1BFQ1RPUl9ESVJ9L1Byb3RvY29sCi0gICAgICAgIENP
TU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBjb3B5ICR7V0VCSU5TUEVDVE9SVUlfRElSfS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgJHtXRUJfSU5TUEVDVE9SX0RJ
Un0KLSAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNvcHkgJHtXRUJLSVQyX0RJ
Un0vVUlQcm9jZXNzL0luc3BlY3RvclNlcnZlci9mcm9udC1lbmQvaW5zcGVjdG9yUGFnZUluZGV4
Lmh0bWwgJHtXRUJfSU5TUEVDVE9SX0RJUn0KLSAgICAgICAgREVQRU5EUyBKYXZhU2NyaXB0Q29y
ZSBXZWJDb3JlCi0gICAgICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQklOQVJZX0RJUn0K
LSAgICApCi0gICAgaW5zdGFsbChESVJFQ1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtXRUJf
SU5TUEVDVE9SX0RJUn0iCi0gICAgICAgIERFU1RJTkFUSU9OICR7REFUQV9JTlNUQUxMX0RJUn0K
LSAgICAgICAgRklMRVNfTUFUQ0hJTkcgUEFUVEVSTiAiKi5qcyIKLSAgICAgICAgICAgICAgICAg
ICAgICAgUEFUVEVSTiAiKi5odG1sIgotICAgICAgICAgICAgICAgICAgICAgICBQQVRURVJOICIq
LmNzcyIKLSAgICAgICAgICAgICAgICAgICAgICAgUEFUVEVSTiAiKi5naWYiCi0gICAgICAgICAg
ICAgICAgICAgICAgIFBBVFRFUk4gIioucG5nIgotICAgICAgICAgICAgICAgICAgICAgICBQQVRU
RVJOICIqLnN2ZyIpCithZGRfY3VzdG9tX3RhcmdldCgKKyAgICB3ZWItaW5zcGVjdG9yLXJlc291
cmNlcyBBTEwKKyAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY29weV9kaXJlY3Rvcnkg
JHtXRUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UgJHtXRUJfSU5TUEVDVE9SX0RJUn0K
KyAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY29weSAke0RFUklWRURfU09VUkNFU19X
RUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzLmpzICR7V0VCX0lOU1BFQ1RPUl9ESVJ9L1Byb3RvY29sCisgICAgQ09NTUFORCAk
e0NNQUtFX0NPTU1BTkR9IC1FIGNvcHkgJHtXRUJJTlNQRUNUT1JVSV9ESVJ9L0xvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyAke1dFQl9JTlNQRUNUT1JfRElSfQorICAg
IENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBjb3B5ICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vz
cy9JbnNwZWN0b3JTZXJ2ZXIvZnJvbnQtZW5kL2luc3BlY3RvclBhZ2VJbmRleC5odG1sICR7V0VC
X0lOU1BFQ1RPUl9ESVJ9CisgICAgREVQRU5EUyBKYXZhU2NyaXB0Q29yZSBXZWJDb3JlCisgICAg
V09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9CSU5BUllfRElSfQorKQoraW5zdGFsbChESVJFQ1RP
UlkgIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtXRUJfSU5TUEVDVE9SX0RJUn0iCisgICAgREVTVElO
QVRJT04gJHtEQVRBX0lOU1RBTExfRElSfQorICAgIEZJTEVTX01BVENISU5HIFBBVFRFUk4gIiou
anMiCisgICAgICAgICAgICAgICAgICAgUEFUVEVSTiAiKi5odG1sIgorICAgICAgICAgICAgICAg
ICAgIFBBVFRFUk4gIiouY3NzIgorICAgICAgICAgICAgICAgICAgIFBBVFRFUk4gIiouZ2lmIgor
ICAgICAgICAgICAgICAgICAgIFBBVFRFUk4gIioucG5nIgorICAgICAgICAgICAgICAgICAgIFBB
VFRFUk4gIiouc3ZnIikKIAotICAgIGZpbmRfcHJvZ3JhbShVR0xJRllKU19FWEVDVVRBQkxFIHVn
bGlmeWpzKQotICAgIGlmIChVR0xJRllKU19FWEVDVVRBQkxFIEFORCAoTk9UICR7Q01BS0VfQlVJ
TERfVFlQRX0gU1RSRVFVQUwgIkRlYnVnIikpCi0gICAgICAgIGZpbGUoR0xPQiBmcm9udGVuZF9q
c19maWxlcyAiJHtXRUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UvKi5qcyIpCi0gICAg
ICAgIHNldChhbGxfanNfZmlsZXMKLSAgICAgICAgICAgICR7ZnJvbnRlbmRfanNfZmlsZXN9Ci0g
ICAgICAgICAgICAiJHtXRUJJTlNQRUNUT1JVSV9ESVJ9L0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcyIKLSAgICAgICAgKQorZmluZF9wcm9ncmFtKFVHTElGWUpTX0VY
RUNVVEFCTEUgdWdsaWZ5anMpCitpZiAoVUdMSUZZSlNfRVhFQ1VUQUJMRSBBTkQgKE5PVCAke0NN
QUtFX0JVSUxEX1RZUEV9IFNUUkVRVUFMICJEZWJ1ZyIpKQorICAgIGZpbGUoR0xPQiBmcm9udGVu
ZF9qc19maWxlcyAiJHtXRUJJTlNQRUNUT1JVSV9ESVJ9L1VzZXJJbnRlcmZhY2UvKi5qcyIpCisg
ICAgc2V0KGFsbF9qc19maWxlcworICAgICAgICAke2Zyb250ZW5kX2pzX2ZpbGVzfQorICAgICAg
ICAiJHtXRUJJTlNQRUNUT1JVSV9ESVJ9L0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcyIKKyAgICApCiAKLSAgICAgICAgZm9yZWFjaCAoanNfZmlsZSAke2FsbF9qc19m
aWxlc30pCi0gICAgICAgICAgICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KGZpbGVuYW1lICR7anNf
ZmlsZX0gTkFNRSkKLSAgICAgICAgICAgIGluc3RhbGwoQ09ERQotICAgICAgICAgICAgICAgICJl
eGVjdXRlX3Byb2Nlc3MoCi0gICAgICAgICAgICAgICAgICAgIENPTU1BTkQgJHtVR0xJRllKU19F
WEVDVVRBQkxFfSAtLW92ZXJ3cml0ZSAke2ZpbGVuYW1lfQotICAgICAgICAgICAgICAgICAgICBX
T1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke1dFQl9JTlNQRUNUT1Jf
RElSfSkiKQotICAgICAgICBlbmRmb3JlYWNoICgpCisgICAgZm9yZWFjaCAoanNfZmlsZSAke2Fs
bF9qc19maWxlc30pCisgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQoZmlsZW5hbWUgJHtq
c19maWxlfSBOQU1FKQorICAgICAgICBpbnN0YWxsKENPREUKKyAgICAgICAgICAgICJleGVjdXRl
X3Byb2Nlc3MoCisgICAgICAgICAgICAgICAgQ09NTUFORCAke1VHTElGWUpTX0VYRUNVVEFCTEV9
IC0tb3ZlcndyaXRlICR7ZmlsZW5hbWV9CisgICAgICAgICAgICAgICAgV09SS0lOR19ESVJFQ1RP
UlkgJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtXRUJfSU5TUEVDVE9SX0RJUn0pIikKKyAgICBl
bmRmb3JlYWNoICgpCiAKLSAgICAgICAgZmlsZShHTE9CIGNvZGVtaXJyb3JfanNfZmlsZXMgIiR7
V0VCSU5TUEVDVE9SVUlfRElSfS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NvZGVNaXJyb3IvKi5q
cyIpCi0gICAgICAgIGZvcmVhY2ggKGpzX2ZpbGUgJHtjb2RlbWlycm9yX2pzX2ZpbGVzfSkKLSAg
ICAgICAgICAgIGdldF9maWxlbmFtZV9jb21wb25lbnQoZmlsZW5hbWUgJHtqc19maWxlfSBOQU1F
KQotICAgICAgICAgICAgaW5zdGFsbChDT0RFCi0gICAgICAgICAgICAgICAgImV4ZWN1dGVfcHJv
Y2VzcygKLSAgICAgICAgICAgICAgICAgICAgQ09NTUFORCAke1VHTElGWUpTX0VYRUNVVEFCTEV9
IC0tb3ZlcndyaXRlICR7ZmlsZW5hbWV9Ci0gICAgICAgICAgICAgICAgICAgIFdPUktJTkdfRElS
RUNUT1JZICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7V0VCX0lOU1BFQ1RPUl9ESVJ9L0V4dGVy
bmFsL0NvZGVNaXJyb3IvKSIpCi0gICAgICAgIGVuZGZvcmVhY2ggKCkKLSAgICBlbmRpZiAoKQor
ICAgIGZpbGUoR0xPQiBjb2RlbWlycm9yX2pzX2ZpbGVzICIke1dFQklOU1BFQ1RPUlVJX0RJUn0v
VXNlckludGVyZmFjZS9FeHRlcm5hbC9Db2RlTWlycm9yLyouanMiKQorICAgIGZvcmVhY2ggKGpz
X2ZpbGUgJHtjb2RlbWlycm9yX2pzX2ZpbGVzfSkKKyAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBv
bmVudChmaWxlbmFtZSAke2pzX2ZpbGV9IE5BTUUpCisgICAgICAgIGluc3RhbGwoQ09ERQorICAg
ICAgICAgICAgImV4ZWN1dGVfcHJvY2VzcygKKyAgICAgICAgICAgICAgICBDT01NQU5EICR7VUdM
SUZZSlNfRVhFQ1VUQUJMRX0gLS1vdmVyd3JpdGUgJHtmaWxlbmFtZX0KKyAgICAgICAgICAgICAg
ICBXT1JLSU5HX0RJUkVDVE9SWSAke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke1dFQl9JTlNQRUNU
T1JfRElSfS9FeHRlcm5hbC9Db2RlTWlycm9yLykiKQorICAgIGVuZGZvcmVhY2ggKCkKIGVuZGlm
ICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNl
L1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCA0YjA1YTQwYzU4ZmU0NmI3ODE1MTIyYTNj
NmRmNzNhMTg5NWIxNjdmLi4zMjE2ZmM1NWJlZTg0NWNlZWQ0NDc4YjYyNjZlNTNlNGM4ODE0ZDQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTc3MSwxMCArNzcxLDYgQEAgdGhlIHB1Ymxp
YyBpT1MgU0RLLiBXZSB3aWxsIGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIEZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGZpbGUKICNlcnJvciAiRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkgcmVx
dWlyZXMgRU5BQkxFKFZJREVPKSIKICNlbmRpZgogCi0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNU
T1IpICYmICFFTkFCTEUoSU5TUEVDVE9SKQotI2Vycm9yICJFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikgcmVxdWlyZXMgRU5BQkxFKElOU1BFQ1RPUikiCi0jZW5kaWYKLQogI2lmIEVOQUJMRShJTlNQ
RUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSAmJiAhRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CiAjZXJyb3IgIkVOQUJMRShJTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTKSByZXF1aXJl
cyBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMWFjZTQ4
YzdhOTBlOTI2MmNiM2MwYjU4NDQ4ODRkYTA0NjEwNDY1YS4uNmM0YmY1ZDBjMjYzYmYwODRlMGU1
YjM2ZmE5ODc2NDA4OTQ4OGNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTEwNCw3ICsxMDQsNiBAQCBFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUw7CiBFTkFCTEVfSU5QVVRfVFlQRV9NT05USFtzZGs9aXBob25lKl0g
PSBFTkFCTEVfSU5QVVRfVFlQRV9NT05USDsKIEVOQUJMRV9JTlBVVF9UWVBFX1RJTUVbc2RrPWlw
aG9uZSpdID0gRU5BQkxFX0lOUFVUX1RZUEVfVElNRTsKIEVOQUJMRV9JTlBVVF9UWVBFX1dFRUtb
c2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOUFVUX1RZUEVfV0VFSzsKLUVOQUJMRV9JTlNQRUNUT1Ig
PSBFTkFCTEVfSU5TUEVDVE9SOwogCiBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRD
SEVSU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRDSEVS
UzsKIEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTW3Nkaz1tYWNvc3gqXSA9
ICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFjb3N4XyQoVEFSR0VU
X01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKQpAQCAtMjI2LDQgKzIyNSw0IEBAIEVOQUJMRV9MTElO
VF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19T
SEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9JTlNQRUNUT1IpICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lPU19BSVJQTEFZKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KaW5kZXggYjA3YTc3OWE0MmZkZWQ2ZGM4MmVhYmI2N2U2MDMxNWJiMWIw
ZDE4NC4uMDlkMDljYmFkNjAyNjYzZGQwNmE0ODgxODUzZWExZGFkY2YwMmRhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTQyOSw2ICs0MjksNyBAQCBfX1pON1dlYkNvcmUxNFNRTGl0ZURhdGFi
YXNlRDFFdgogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTI0cmVnaXN0ZXJVUkxTY2hlbWVB
c0xvY2FsRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTI1cmVn
aXN0ZXJVUkxTY2hlbWVBc1NlY3VyZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2No
ZW1lUmVnaXN0cnkyN3JlZ2lzdGVyVVJMU2NoZW1lQXNOb0FjY2Vzc0VSS04zV1RGNlN0cmluZ0UK
K19fWk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkyN3Nob3VsZFRyZWF0VVJMU2NoZW1lQXNMb2Nh
bEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2NoZW1lUmVnaXN0cnkzMHJlZ2lzdGVy
VVJMU2NoZW1lQXNDT1JTRW5hYmxlZEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2No
ZW1lUmVnaXN0cnkzMnJlZ2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50RVJLTjNXVEY2U3Ry
aW5nRQogX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTM0cmVnaXN0ZXJVUkxTY2hlbWVBc0Rp
c3BsYXlJc29sYXRlZEVSS04zV1RGNlN0cmluZ0UKQEAgLTYyOCw2ICs2MjksNyBAQCBfX1pON1dl
YkNvcmUxNUdyYXBoaWNzTGF5ZXJDQUQyRXYKIF9fWk43V2ViQ29yZTE1SGl0VGVzdExvY2F0aW9u
MTJyZWN0Rm9yUG9pbnRFUktOU18xMUxheW91dFBvaW50RWpqamoKIF9fWk43V2ViQ29yZTE1SGl0
VGVzdExvY2F0aW9uQzFFUktOU18xMEZsb2F0UG9pbnRFCiBfX1pON1dlYkNvcmUxNUhpdFRlc3RM
b2NhdGlvbkQxRXYKK19fWk43V2ViQ29yZTE1SW5zcGVjdG9yQ2xpZW50MzFkb0Rpc3BhdGNoTWVz
c2FnZU9uRnJvbnRlbmRQYWdlRVBOU180UGFnZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29y
ZTE1SlNET01XaW5kb3dCYXNlOGNvbW1vblZNRXYKIF9fWk43V2ViQ29yZTE1UGFzdGVib2FyZElt
YWdlQzFFdgogX19aTjdXZWJDb3JlMTVQYXN0ZWJvYXJkSW1hZ2VEMUV2CkBAIC04MDUsNiArODA3
LDcgQEAgX19aTjdXZWJDb3JlMTdzbmFwc2hvdEZyYW1lUmVjdEVSTlNfNUZyYW1lRVJLTlNfN0lu
dFJlY3RFagogX19aTjdXZWJDb3JlMTdzbmFwc2hvdFNlbGVjdGlvbkVSTlNfNUZyYW1lRWoKIF9f
Wk43V2ViQ29yZTE3dXNlclZpc2libGVTdHJpbmdFUDVOU1VSTAogX19aTjdXZWJDb3JlMThET01X
aW5kb3dFeHRlbnNpb25DMUVQTlNfNUZyYW1lRVJOU18xNURPTVdyYXBwZXJXb3JsZEUKK19fWk43
V2ViQ29yZTE4SW5zcGVjdG9yUGFnZUFnZW50N2ZyYW1lSWRFUE5TXzVGcmFtZUUKIF9fWk43V2Vi
Q29yZTE4UGxhdGZvcm1DQUxheWVyTWFjMThzZXRHZW9tZXRyeUZsaXBwZWRFYgogX19aTjdXZWJD
b3JlMThQbGF0Zm9ybUNBTGF5ZXJNYWMyMmZpbHRlcnNDYW5CZUNvbXBvc2l0ZWRFUktOU18xNkZp
bHRlck9wZXJhdGlvbnNFCiBfX1pON1dlYkNvcmUxOFBsYXRmb3JtQ0FMYXllck1hYzI1bGF5ZXJU
eXBlRm9yUGxhdGZvcm1MYXllckVQN0NBTGF5ZXIKQEAgLTgzNyw2ICs4NDAsMTQgQEAgX19aTjdX
ZWJDb3JlMTlBbmltYXRpb25Db250cm9sbGVyMjBwYXVzZUFuaW1hdGlvbkF0VGltZUVQTlNfMTNS
ZW5kZXJFbGVtZW50RVJLTjMKIF9fWk43V2ViQ29yZTE5QW5pbWF0aW9uQ29udHJvbGxlcjIxcGF1
c2VUcmFuc2l0aW9uQXRUaW1lRVBOU18xM1JlbmRlckVsZW1lbnRFUktOM1dURjZTdHJpbmdFZAog
X19aTjdXZWJDb3JlMTlBbmltYXRpb25Db250cm9sbGVyMzZzZXRBbGxvd3NOZXdBbmltYXRpb25z
V2hpbGVTdXNwZW5kZWRFYgogX19aTjdXZWJDb3JlMTlIVE1MVGV4dEFyZWFFbGVtZW50OHNldFZh
bHVlRVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTVj
b25uZWN0RnJvbnRlbmRFUE45SW5zcGVjdG9yMjRJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxFYgor
X19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMThkaXNjb25uZWN0RnJvbnRlbmRFTjlJ
bnNwZWN0b3IyNUluc3BlY3RvckRpc2Nvbm5lY3RSZWFzb25FCitfX1pON1dlYkNvcmUxOUluc3Bl
Y3RvckNvbnRyb2xsZXIxOHNldFByb2ZpbGVyRW5hYmxlZEViCitfX1pON1dlYkNvcmUxOUluc3Bl
Y3RvckNvbnRyb2xsZXIyNWV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmRFUktOM1dURjZTdHJpbmdF
CitfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNnNldEluc3BlY3RvckZyb250ZW5k
Q2xpZW50RVBOU18yM0luc3BlY3RvckZyb250ZW5kQ2xpZW50RQorX19aTjdXZWJDb3JlMTlJbnNw
ZWN0b3JDb250cm9sbGVyMjdkaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmRFUktOM1dURjZTdHJp
bmdFCitfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI0c2hvd0V2CitfX1pON1dlYkNv
cmUxOUluc3BlY3RvckNvbnRyb2xsZXI1Y2xvc2VFdgogX19aTjdXZWJDb3JlMTlMYXllckZsdXNo
U2NoZWR1bGVyMTBpbnZhbGlkYXRlRXYKIF9fWk43V2ViQ29yZTE5TGF5ZXJGbHVzaFNjaGVkdWxl
cjE4bGF5ZXJGbHVzaENhbGxiYWNrRXYKIF9fWk43V2ViQ29yZTE5TGF5ZXJGbHVzaFNjaGVkdWxl
cjZyZXN1bWVFdgpAQCAtOTM1LDYgKzk0Niw5IEBAIF9fWk43V2ViQ29yZTIxQ3Jvc3NUaHJlYWRD
b3BpZXJCYXNlSUxiMEVMYjBFTlNfMTlJREJEYXRhYmFzZU1ldGFkYXRhRUU0Y29weUVSS1MxCiBf
X1pON1dlYkNvcmUyMURpc3BsYXlSZWZyZXNoTW9uaXRvcjQ2aGFuZGxlRGlzcGxheVJlZnJlc2hl
ZE5vdGlmaWNhdGlvbk9uTWFpblRocmVhZEVQdgogX19aTjdXZWJDb3JlMjFEaXNwbGF5UmVmcmVz
aE1vbml0b3JDMkVqCiBfX1pON1dlYkNvcmUyMURpc3BsYXlSZWZyZXNoTW9uaXRvckQyRXYKK19f
Wk43V2ViQ29yZTIxSW5zcGVjdG9yRnJvbnRlbmRIb3N0MTZkaXNjb25uZWN0Q2xpZW50RXYKK19f
Wk43V2ViQ29yZTIxSW5zcGVjdG9yRnJvbnRlbmRIb3N0QzFFUE5TXzIzSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRFUE5TXzRQYWdlRQorX19aTjdXZWJDb3JlMjFJbnNwZWN0b3JGcm9udGVuZEhvc3RE
MUV2CiBfX1pON1dlYkNvcmUyMU1lbW9yeVByZXNzdXJlSGFuZGxlcjEyUmVsaWVmTG9nZ2VyMTZz
X2xvZ2dpbmdFbmFibGVkRQogX19aTjdXZWJDb3JlMjFNZW1vcnlQcmVzc3VyZUhhbmRsZXIxM3Jl
bGVhc2VNZW1vcnlFYgogX19aTjdXZWJDb3JlMjFNZW1vcnlQcmVzc3VyZUhhbmRsZXI3aW5zdGFs
bEV2CkBAIC0xMDYxLDYgKzEwNzUsOCBAQCBfX1pON1dlYkNvcmUyNEZyYW1lRGVzdHJ1Y3Rpb25P
YnNlcnZlcjE0d2lsbERldGFjaFBhZ2VFdgogX19aTjdXZWJDb3JlMjRGcmFtZURlc3RydWN0aW9u
T2JzZXJ2ZXJDMkVQTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlMjRGcmFtZURlc3RydWN0aW9uT2Jz
ZXJ2ZXJEMkV2CiBfX1pON1dlYkNvcmUyNEltbXV0YWJsZVN0eWxlUHJvcGVydGllc0QxRXYKK19f
Wk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMTdzX2Zyb250ZW5kQ291bnRlckUK
K19fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uMjZpbnN0cnVtZW50aW5nQWdl
bnRzRm9yUGFnZUVQTlNfNFBhZ2VFCiBfX1pON1dlYkNvcmUyNFN0b3JhZ2VOYW1lc3BhY2VQcm92
aWRlckMyRXYKIF9fWk43V2ViQ29yZTI0U3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyRDJFdgogX19a
TjdXZWJDb3JlMjRjcmVhdGVGcmFnbWVudEZyb21NYXJrdXBFUk5TXzhEb2N1bWVudEVSS04zV1RG
NlN0cmluZ0VTNV9OU18xOVBhcnNlckNvbnRlbnRQb2xpY3lFCkBAIC0xMTAwLDYgKzExMTYsMzMg
QEAgX19aTjdXZWJDb3JlMjdyZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3JFUk4zSlNDOUV4ZWNT
dGF0ZUVQS2NTNF8KIF9fWk43V2ViQ29yZTI3c3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzRVBG
dnZFCiBfX1pON1dlYkNvcmUyOERvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24xMmFkZFVzZXJT
aGVldEVPTjNXVEYzUmVmSU5TXzE4U3R5bGVTaGVldENvbnRlbnRzRUVFCiBfX1pON1dlYkNvcmUy
OERvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24xNGFkZEF1dGhvclNoZWV0RU9OM1dURjNSZWZJ
TlNfMThTdHlsZVNoZWV0Q29udGVudHNFRUUKK19fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDExaXNVbmRlclRlc3RFdgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsMTFzaG93Q29uc29sZUV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwxMm1vdmVXaW5kb3dCeUVmZgorX19aTjdXZWJDb3JlMjhJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsMTJvcGVuSW5OZXdUYWJFUktOM1dURjZTdHJpbmdFCitfX1pO
N1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxM3Nob3dSZXNvdXJjZXNFdgor
X19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTRmcm9udGVuZExvYWRl
ZEV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxNWNhbkF0dGFj
aFdpbmRvd0V2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxN3Nl
dEF0dGFjaGVkV2luZG93RU5TXzIzSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ4RG9ja1NpZGVFCitf
X1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxOGlzRGVidWdnaW5nRW5h
YmxlZEV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxOHJlcXVl
c3RTZXREb2NrU2lkZUVOU18yM0luc3BlY3RvckZyb250ZW5kQ2xpZW50OERvY2tTaWRlRQorX19a
TjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTlzZXREZWJ1Z2dpbmdFbmFi
bGVkRWIKK19fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDE5d2luZG93
T2JqZWN0Q2xlYXJlZEV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwyMHNlbmRNZXNzYWdlVG9CYWNrZW5kRVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjFpc1Byb2ZpbGluZ0phdmFTY3JpcHRFdgorX19a
TjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjFzZXREb2NraW5nVW5hdmFp
bGFibGVFYgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjNzdG9w
UHJvZmlsaW5nSmF2YVNjcmlwdEV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwyNHNob3dNYWluUmVzb3VyY2VGb3JGcmFtZUVQTlNfNUZyYW1lRQorX19aTjdXZWJD
b3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjRzdGFydFByb2ZpbGluZ0phdmFTY3Jp
cHRFdgorX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjVjaGFuZ2VB
dHRhY2hlZFdpbmRvd1dpZHRoRWoKK19fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbDI2Y2hhbmdlQXR0YWNoZWRXaW5kb3dIZWlnaHRFagorX19aTjdXZWJDb3JlMjhJbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjZpc1RpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZEV2Citf
X1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwyN3Jlc3RvcmVBdHRhY2hl
ZFdpbmRvd0hlaWdodEV2CitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9j
YWwyN3NldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZEViCitfX1pON1dlYkNvcmUyOEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwzMGNvbnN0cmFpbmVkQXR0YWNoZWRXaW5kb3dXaWR0aEVqagor
X19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMzFjb25zdHJhaW5lZEF0
dGFjaGVkV2luZG93SGVpZ2h0RWpqCitfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWxDMkVQTlNfMTlJbnNwZWN0b3JDb250cm9sbGVyRVBOU180UGFnZUVOU3QzX18xMTB1
bmlxdWVfcHRySU5TMF84U2V0dGluZ3NFTlM1XzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVFRQorX19a
TjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsRDJFdgogX19aTjdXZWJDb3Jl
MjhVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yQzFFUktOM1dURjEyQXRvbWljU3RyaW5nRVJO
U18xNURPTVdyYXBwZXJXb3JsZEVSTlMwXzZDbGllbnRFCiBfX1pON1dlYkNvcmUyOFVzZXJNZXNz
YWdlSGFuZGxlckRlc2NyaXB0b3JEMUV2CiBfX1pON1dlYkNvcmUyOGVuY29kZVdpdGhVUkxFc2Nh
cGVTZXF1ZW5jZXNFUktOM1dURjZTdHJpbmdFCkBAIC0xMjEwLDYgKzEyNTMsNyBAQCBfX1pON1dl
YkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOU18x
M0RPTVN0cmluZ0xpc3RFCiBfX1pON1dlYkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18x
N0pTRE9NR2xvYmFsT2JqZWN0RVBOU18xNENsaWVudFJlY3RMaXN0RQogX19aTjdXZWJDb3JlNHRv
SlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTlNfMTlDU1NTdHls
ZURlY2xhcmF0aW9uRQogX19aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4ZWNTdGF0ZUVQTlNfMTdK
U0RPTUdsb2JhbE9iamVjdEVQTlNfNVJhbmdlRQorX19aTjdXZWJDb3JlNHRvSlNFUE4zSlNDOUV4
ZWNTdGF0ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTlNfOURPTVdpbmRvd0UKIF9fWk43V2Vi
Q29yZTUwcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGVF
Uk5TXzE4Vmlld3BvcnRBdHRyaWJ1dGVzRQogX19aTjdXZWJDb3JlNUNvbG9yMTF0cmFuc3BhcmVu
dEUKIF9fWk43V2ViQ29yZTVDb2xvcjV3aGl0ZUUKQEAgLTE0MzcsNiArMTQ4MSw4IEBAIF9fWk43
V2ViQ29yZTlBbmltYXRpb25DMUV2CiBfX1pON1dlYkNvcmU5QW5pbWF0aW9uRDFFdgogX19aTjdX
ZWJDb3JlOURPTVdpbmRvdzMwZGlzcGF0Y2hBbGxQZW5kaW5nVW5sb2FkRXZlbnRzRXYKIF9fWk43
V2ViQ29yZTlET01XaW5kb3czNmRpc3BhdGNoQWxsUGVuZGluZ0JlZm9yZVVubG9hZEV2ZW50c0V2
CitfX1pON1dlYkNvcmU5RE9NV2luZG93NG9wZW5FUktOM1dURjZTdHJpbmdFUktOUzFfMTJBdG9t
aWNTdHJpbmdFUzRfUlMwX1M4XworX19aTjdXZWJDb3JlOURPTVdpbmRvdzVjbG9zZUVQTlNfMjJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0RQogX19aTjdXZWJDb3JlOUZsb2F0UmVjdDVzY2FsZUVmZgog
X19aTjdXZWJDb3JlOUZsb2F0UmVjdDV1bml0ZUVSS1MwXwogX19aTjdXZWJDb3JlOUZsb2F0UmVj
dDlpbnRlcnNlY3RFUktTMF8KQEAgLTE4NjAsNiArMTkwNiw4IEBAIF9fWk5LN1dlYkNvcmUxOUhU
TUxPcHRHcm91cEVsZW1lbnQxNGdyb3VwTGFiZWxUZXh0RXYKIF9fWk5LN1dlYkNvcmUxOUhUTUxU
ZXh0QXJlYUVsZW1lbnQ1dmFsdWVFdgogX19aTks3V2ViQ29yZTE5SURCRGF0YWJhc2VNZXRhZGF0
YTEyaXNvbGF0ZWRDb3B5RXYKIF9fWk5LN1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxMmdl
dEhpZ2hsaWdodEVSTlNfOUhpZ2hsaWdodEVOU18xNkluc3BlY3Rvck92ZXJsYXkxNkNvb3JkaW5h
dGVTeXN0ZW1FCitfX1pOSzdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTNkcmF3SGlnaGxp
Z2h0RVJOU18xNUdyYXBoaWNzQ29udGV4dEUKK19fWk5LN1dlYkNvcmUxOUluc3BlY3RvckNvbnRy
b2xsZXIxNXByb2ZpbGVyRW5hYmxlZEV2CiBfX1pOSzdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9s
bGVyMjlidWlsZE9iamVjdEZvckhpZ2hsaWdodGVkTm9kZUV2CiBfX1pOSzdXZWJDb3JlMTlNZWRp
YVNlc3Npb25NYW5hZ2VyMzBhcHBsaWNhdGlvbldpbGxFbnRlckJhY2tncm91bmRFdgogX19aTks3
V2ViQ29yZTE5TWVkaWFTZXNzaW9uTWFuYWdlcjMwYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3Jv
dW5kRXYKQEAgLTIwNzUsNiArMjEyMyw3IEBAIF9fWk5LN1dlYkNvcmU4U2V0dGluZ3MxOHN0YW5k
YXJkRm9udEZhbWlseUUxMVVTY3JpcHRDb2RlCiBfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTlzYW5z
U2VyaWZGb250RmFtaWx5RTExVVNjcmlwdENvZGUKIF9fWk5LN1dlYkNvcmU4U2V0dGluZ3MyMHBp
Y3RvZ3JhcGhGb250RmFtaWx5RTExVVNjcmlwdENvZGUKIF9fWk5LN1dlYkNvcmU5RE9NV2luZG93
MjdwZW5kaW5nVW5sb2FkRXZlbnRMaXN0ZW5lcnNFdgorX19aTks3V2ViQ29yZTlET01XaW5kb3c4
ZG9jdW1lbnRFdgogX19aTks3V2ViQ29yZTlGbG9hdFF1YWQxMWJvdW5kaW5nQm94RXYKIF9fWk5L
N1dlYkNvcmU5RmxvYXRSZWN0MTBpbnRlcnNlY3RzRVJLUzBfCiBfX1pOSzdXZWJDb3JlOUZsb2F0
UmVjdDhjb250YWluc0VSS05TXzEwRmxvYXRQb2ludEVOUzBfMTJDb250YWluc01vZGVFCkBAIC0y
NjY3LDYgKzI3MTYsNyBAQCBfX1pON1dlYkNvcmUxNlRocmVhZEdsb2JhbERhdGEyNnNoYXJlZE1h
aW5UaHJlYWRTdGF0aWNEYXRhRQogX19aTjdXZWJDb3JlMTZWaXNpYmxlU2VsZWN0aW9uMjdzZWxl
Y3Rpb25Gcm9tQ29udGVudHNPZk5vZGVFUE5TXzROb2RlRQogX19aTjdXZWJDb3JlMTZWaXNpYmxl
U2VsZWN0aW9uQzFFdgogX19aTjdXZWJDb3JlMTZkZWxldGVBbGxDb29raWVzRVJLTlNfMjFOZXR3
b3JrU3RvcmFnZVNlc3Npb25FCitfX1pON1dlYkNvcmUxNmZpbmRJbnRlcnNlY3Rpb25FUktOU18x
MEZsb2F0UG9pbnRFUzJfUzJfUzJfUlMwXwogX19aTjdXZWJDb3JlMTZuZXh0V29yZFBvc2l0aW9u
RVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FCiBfX1pON1dlYkNvcmUxN0NyZWRlbnRpYWxTdG9yYWdl
MTZjbGVhckNyZWRlbnRpYWxzRXYKIF9fWk43V2ViQ29yZTE3SGlzdG9yeUNvbnRyb2xsZXIxOHJl
cGxhY2VDdXJyZW50SXRlbUVQTlNfMTFIaXN0b3J5SXRlbUUKQEAgLTI3NDIsNiArMjc5Miw3IEBA
IF9fWk43V2ViQ29yZTQxaW5pdGlhbGl6ZUhUVFBDb25uZWN0aW9uU2V0dGluZ3NPblN0YXJ0dXBF
dgogX19aTjdXZWJDb3JlNEljb24xOGNyZWF0ZUljb25Gb3JJbWFnZUVQN0NHSW1hZ2UKIF9fWk43
V2ViQ29yZTROb2RlMTdpc0NvbnRlbnRFZGl0YWJsZUVOUzBfMjJVc2VyU2VsZWN0QWxsVHJlYXRt
ZW50RQogX19aTjdXZWJDb3JlNE5vZGUyM2NvbXBhcmVEb2N1bWVudFBvc2l0aW9uRVBTMF8KK19f
Wk43V2ViQ29yZTROb2RlN2luc3BlY3RFdgogX19aTjdXZWJDb3JlNFBhZ2U1MnVwZGF0ZVN0eWxl
Rm9yQWxsUGFnZXNBZnRlckdsb2JhbENoYW5nZUluRW52aXJvbm1lbnRFdgogX19aTjdXZWJDb3Jl
NUNvbG9yQzFFUDdDR0NvbG9yCiBfX1pON1dlYkNvcmU1RXZlbnRDMUVSS04zV1RGMTJBdG9taWNT
dHJpbmdFYmIKQEAgLTI4NDcsNiArMjg5OCw4IEBAIF9fWk5LN1dlYkNvcmU3SW50U2l6ZWN2NkNH
U2l6ZUV2CiBfX1pOSzdXZWJDb3JlOERvY3VtZW50MzFpc1RlbGVwaG9uZU51bWJlclBhcnNpbmdB
bGxvd2VkRXYKIF9fWk5LN1dlYkNvcmU4RG9jdW1lbnQzMWlzVGVsZXBob25lTnVtYmVyUGFyc2lu
Z0VuYWJsZWRFdgogX19aTks3V2ViQ29yZThQb3NpdGlvbjhwcmV2aW91c0VOU18xNlBvc2l0aW9u
TW92ZVR5cGVFCitfX1pOSzdXZWJDb3JlOUZsb2F0UXVhZDEyY29udGFpbnNRdWFkRVJLUzBfCitf
X1pOSzdXZWJDb3JlOUZsb2F0UXVhZDEzY29udGFpbnNQb2ludEVSS05TXzEwRmxvYXRQb2ludEUK
IF9fWk5LN1dlYkNvcmU5RmxvYXRRdWFkMTNpc1JlY3RpbGluZWFyRXYKIF9fWk5LN1dlYkNvcmU5
RmxvYXRSZWN0Y3Y2Q0dSZWN0RXYKIF9fWk5LN1dlYkNvcmU5RmxvYXRTaXplY3Y2Q0dTaXplRXYK
QEAgLTMxODMsNjUgKzMyMzYsNiBAQCBfX1pON1dlYkNvcmU1Q29sb3JDMUVQN0NHQ29sb3IKIF9f
Wk43V2ViQ29yZTVDb2xvckMxRVJLTjNXVEY2U3RyaW5nRQogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotX19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTI3c2hvdWxkVHJlYXRVUkxT
Y2hlbWVBc0xvY2FsRVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMTVJbnNwZWN0b3JDbGll
bnQzMWRvRGlzcGF0Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2VFUE5TXzRQYWdlRVJLTjNXVEY2U3Ry
aW5nRQotX19aTjdXZWJDb3JlMThJbnNwZWN0b3JQYWdlQWdlbnQ3ZnJhbWVJZEVQTlNfNUZyYW1l
RQotX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTVjb25uZWN0RnJvbnRlbmRFUE45
SW5zcGVjdG9yMjRJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxFYgotX19aTjdXZWJDb3JlMTlJbnNw
ZWN0b3JDb250cm9sbGVyMThkaXNjb25uZWN0RnJvbnRlbmRFTjlJbnNwZWN0b3IyNUluc3BlY3Rv
ckRpc2Nvbm5lY3RSZWFzb25FCi1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxOHNl
dFByb2ZpbGVyRW5hYmxlZEViCi1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNWV2
YWx1YXRlRm9yVGVzdEluRnJvbnRlbmRFUktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNvcmUxOUlu
c3BlY3RvckNvbnRyb2xsZXIyNnNldEluc3BlY3RvckZyb250ZW5kQ2xpZW50RVBOU18yM0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50RQotX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMjdk
aXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmRFUktOM1dURjZTdHJpbmdFCi1fX1pON1dlYkNvcmUx
OUluc3BlY3RvckNvbnRyb2xsZXI0c2hvd0V2Ci1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRy
b2xsZXI1Y2xvc2VFdgotX19aTjdXZWJDb3JlMjFJbnNwZWN0b3JGcm9udGVuZEhvc3QxNmRpc2Nv
bm5lY3RDbGllbnRFdgotX19aTjdXZWJDb3JlMjFJbnNwZWN0b3JGcm9udGVuZEhvc3RDMUVQTlNf
MjNJbnNwZWN0b3JGcm9udGVuZENsaWVudEVQTlNfNFBhZ2VFCi1fX1pON1dlYkNvcmUyMUluc3Bl
Y3RvckZyb250ZW5kSG9zdEQxRXYKLV9fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uMTdzX2Zyb250ZW5kQ291bnRlckUKLV9fWk43V2ViQ29yZTI0SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uMjZpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZUVQTlNfNFBhZ2VFCi1fX1pON1dlYkNv
cmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwxMWlzVW5kZXJUZXN0RXYKLV9fWk43V2Vi
Q29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDExc2hvd0NvbnNvbGVFdgotX19aTjdX
ZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMTJtb3ZlV2luZG93QnlFZmYKLV9f
Wk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDEyb3BlbkluTmV3VGFiRVJL
TjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
MTNzaG93UmVzb3VyY2VzRXYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbDE0ZnJvbnRlbmRMb2FkZWRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsMTVjYW5BdHRhY2hXaW5kb3dFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsMTdzZXRBdHRhY2hlZFdpbmRvd0VOU18yM0luc3BlY3RvckZyb250ZW5k
Q2xpZW50OERvY2tTaWRlRQotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsMThpc0RlYnVnZ2luZ0VuYWJsZWRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsMThyZXF1ZXN0U2V0RG9ja1NpZGVFTlNfMjNJbnNwZWN0b3JGcm9udGVuZENs
aWVudDhEb2NrU2lkZUUKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bDE5c2V0RGVidWdnaW5nRW5hYmxlZEViCi1fX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwxOXdpbmRvd09iamVjdENsZWFyZWRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsMjBzZW5kTWVzc2FnZVRvQmFja2VuZEVSS04zV1RGNlN0cmlu
Z0UKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDIxaXNQcm9maWxp
bmdKYXZhU2NyaXB0RXYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bDIxc2V0RG9ja2luZ1VuYXZhaWxhYmxlRWIKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbDIzc3RvcFByb2ZpbGluZ0phdmFTY3JpcHRFdgotX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMjRzaG93TWFpblJlc291cmNlRm9yRnJhbWVFUE5T
XzVGcmFtZUUKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDI0c3Rh
cnRQcm9maWxpbmdKYXZhU2NyaXB0RXYKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbDI1Y2hhbmdlQXR0YWNoZWRXaW5kb3dXaWR0aEVqCi1fX1pON1dlYkNvcmUyOElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwyNmNoYW5nZUF0dGFjaGVkV2luZG93SGVpZ2h0RWoK
LV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDI2aXNUaW1lbGluZVBy
b2ZpbGluZ0VuYWJsZWRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsMjdyZXN0b3JlQXR0YWNoZWRXaW5kb3dIZWlnaHRFdgotX19aTjdXZWJDb3JlMjhJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsMjdzZXRUaW1lbGluZVByb2ZpbGluZ0VuYWJsZWRFYgotX19a
TjdXZWJDb3JlMjhJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsMzBjb25zdHJhaW5lZEF0dGFj
aGVkV2luZG93V2lkdGhFamoKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbDMxY29uc3RyYWluZWRBdHRhY2hlZFdpbmRvd0hlaWdodEVqagotX19aTjdXZWJDb3JlMjhJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsQzJFUE5TXzE5SW5zcGVjdG9yQ29udHJvbGxlckVQ
TlNfNFBhZ2VFTlN0M19fMTEwdW5pcXVlX3B0cklOUzBfOFNldHRpbmdzRU5TNV8xNGRlZmF1bHRf
ZGVsZXRlSVM3X0VFRUUKLV9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bEQyRXYKLV9fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9i
YWxPYmplY3RFUE5TXzlET01XaW5kb3dFCi1fX1pON1dlYkNvcmU5RE9NV2luZG93NG9wZW5FUktO
M1dURjZTdHJpbmdFUktOUzFfMTJBdG9taWNTdHJpbmdFUzRfUlMwX1M4XwotX19aTjdXZWJDb3Jl
OURPTVdpbmRvdzVjbG9zZUVQTlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0RQotX19aTks3V2Vi
Q29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjEzZHJhd0hpZ2hsaWdodEVSTlNfMTVHcmFwaGljc0Nv
bnRleHRFCi1fX1pOSzdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTVwcm9maWxlckVuYWJs
ZWRFdgotX19aTks3V2ViQ29yZTlET01XaW5kb3c4ZG9jdW1lbnRFdgotI2VuZGlmCi0KLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKSAmJiBQTEFURk9STShJT1MpCi1fX1pON1dlYkNvcmUxNmZpbmRJbnRl
cnNlY3Rpb25FUktOU18xMEZsb2F0UG9pbnRFUzJfUzJfUzJfUlMwXwotX19aTjdXZWJDb3JlNE5v
ZGU3aW5zcGVjdEV2Ci1fX1pOSzdXZWJDb3JlOUZsb2F0UXVhZDEyY29udGFpbnNRdWFkRVJLUzBf
Ci1fX1pOSzdXZWJDb3JlOUZsb2F0UXVhZDEzY29udGFpbnNQb2ludEVSS05TXzEwRmxvYXRQb2lu
dEUKLSNlbmRpZgotCiAjaWYgVVNFKElPU1VSRkFDRSkKIF9fWk43V2ViQ29yZTEzSU9TdXJmYWNl
UG9vbDEwYWRkU3VyZmFjZUVQTlNfOUlPU3VyZmFjZUUKIF9fWk43V2ViQ29yZTEzSU9TdXJmYWNl
UG9vbDEwc2hhcmVkUG9vbEV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NvbW1hbmRMaW5lQVBJSG9zdEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NvbW1hbmRMaW5lQVBJSG9zdEN1c3RvbS5jcHAKaW5kZXggZmQ0OTMyOWQ5Y2I1ZmRj
MDgwMjZiZDNiZmY4MDgxNjgxZWQ1MjFiZC4uNzQxNjIyZjQzY2NhOTNlMmM4M2QxYTAwY2FlOWYz
OWFmYmQ4OGVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDb21t
YW5kTGluZUFQSUhvc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ29tbWFuZExpbmVBUElIb3N0Q3VzdG9tLmNwcApAQCAtMzEsOSArMzEsNiBAQAogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJKU0NvbW1hbmRMaW5lQVBJSG9zdC5oIgogCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0
LmgiCkBAIC0xNjYsNSArMTYzLDMgQEAgSlNWYWx1ZSBKU0NvbW1hbmRMaW5lQVBJSG9zdDo6c3Rv
cmFnZUlkKEV4ZWNTdGF0ZSogZXhlYykKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuY3BwCmluZGV4IDA0OGQ5MWY3YjU3NmMxNmM5MDU4ZGZhOTgyZDE2
NDJiNDJhYmM1NGMuLmEyMjAzZGJkOWFlZTRmYTI1ZmMxNjQxNzI4YTk3Njk1NGM2NTRkN2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAt
MTAzLDEwICsxMDMsNiBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6cHJpbnRFcnJvck1lc3NhZ2Uo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKSBjb25zdAogCiBib29sIEpTRE9NV2luZG93QmFzZTo6c3Vw
cG9ydHNQcm9maWxpbmcoY29uc3QgSlNHbG9iYWxPYmplY3QqIG9iamVjdCkKIHsKLSNpZiAhRU5B
QkxFKElOU1BFQ1RPUikKLSAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKLSAgICByZXR1cm4gZmFs
c2U7Ci0jZWxzZQogICAgIGNvbnN0IEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IHN0YXRp
Y19jYXN0PGNvbnN0IEpTRE9NV2luZG93QmFzZSo+KG9iamVjdCk7CiAgICAgRnJhbWUqIGZyYW1l
ID0gdGhpc09iamVjdC0+aW1wbCgpLmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKQEAgLTExNywx
NSArMTEzLDEwIEBAIGJvb2wgSlNET01XaW5kb3dCYXNlOjpzdXBwb3J0c1Byb2ZpbGluZyhjb25z
dCBKU0dsb2JhbE9iamVjdCogb2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBy
ZXR1cm4gcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLnByb2ZpbGVyRW5hYmxlZCgpOwotI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCiB9CiAKIGJvb2wgSlNET01XaW5kb3dCYXNlOjpzdXBw
b3J0c1JpY2hTb3VyY2VJbmZvKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBvYmplY3QpCiB7Ci0jaWYg
IUVOQUJMRShJTlNQRUNUT1IpCi0gICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7Ci0gICAgcmV0dXJu
IGZhbHNlOwotI2Vsc2UKICAgICBjb25zdCBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBz
dGF0aWNfY2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihvYmplY3QpOwogICAgIEZyYW1lKiBm
cmFtZSA9IHRoaXNPYmplY3QtPmltcGwoKS5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCkBAIC0x
MzksNyArMTMwLDYgQEAgYm9vbCBKU0RPTVdpbmRvd0Jhc2U6OnN1cHBvcnRzUmljaFNvdXJjZUlu
Zm8oY29uc3QgSlNHbG9iYWxPYmplY3QqIG9iamVjdCkKICAgICBBU1NFUlQoZW5hYmxlZCB8fCAh
dGhpc09iamVjdC0+ZGVidWdnZXIoKSk7CiAgICAgQVNTRVJUKGVuYWJsZWQgfHwgIXN1cHBvcnRz
UHJvZmlsaW5nKHRoaXNPYmplY3QpKTsKICAgICByZXR1cm4gZW5hYmxlZDsKLSNlbmRpZgogfQog
CiBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkSW50ZXJydXB0U2NyaXB0VG9QcmV2ZW50SW5maW5p
dGVSZWN1cnNpb25XaGVuQ2xvc2luZ1BhZ2UoUGFnZSogcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9t
LmNwcAppbmRleCBjMjUwYjVmMTMxYmJjY2E3ODA0MTg2ZmFiMTc5NTdkZTBhMzg1MjNlLi5kODZh
NDgwYjBjMzgwNmJkZTY3ZTlkYjRhNjY3NDI4MjY2OWFmZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0
b20uY3BwCkBAIC0zMSw5ICszMSw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmgiCiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0ZW0uaCIKQEAgLTE1MCw1ICsxNDcsMyBAQCBK
U1ZhbHVlIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpzaG93Q29udGV4dE1lbnUoRXhlY1N0YXRl
KiBleGVjKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmNwcAppbmRleCA4NTg2N2Y5YjllOWU2MDFiYzVlZTYyNGU1OTBiODllODYwZTI5YWU5Li42
NWQzOTA4NWMwYmE0Yzc4MjJmZjBlZWE4MTA2OTI3M2U4MWNjZjJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAtMzU4LDcgKzM1OCw2
IEBAIFBhc3NSZWZQdHI8QmluZGluZ3M6OlJvb3RPYmplY3Q+IFNjcmlwdENvbnRyb2xsZXI6OmNy
ZWF0ZVJvb3RPYmplY3Qodm9pZCogbmF0aXZlCiAgICAgcmV0dXJuIHJvb3RPYmplY3QucmVsZWFz
ZSgpOwogfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6
Y29sbGVjdElzb2xhdGVkQ29udGV4dHMoVmVjdG9yPHN0ZDo6cGFpcjxKU0M6OkV4ZWNTdGF0ZSos
IFNlY3VyaXR5T3JpZ2luKj4+JiByZXN1bHQpCiB7CiAgICAgZm9yIChTaGVsbE1hcDo6aXRlcmF0
b3IgaXRlciA9IG1fd2luZG93U2hlbGxzLmJlZ2luKCk7IGl0ZXIgIT0gbV93aW5kb3dTaGVsbHMu
ZW5kKCk7ICsraXRlcikgewpAQCAtMzY3LDcgKzM2Niw2IEBAIHZvaWQgU2NyaXB0Q29udHJvbGxl
cjo6Y29sbGVjdElzb2xhdGVkQ29udGV4dHMoVmVjdG9yPHN0ZDo6cGFpcjxKU0M6OkV4ZWNTdGF0
ZSosCiAgICAgICAgIHJlc3VsdC5hcHBlbmQoc3RkOjpwYWlyPEpTQzo6RXhlY1N0YXRlKiwgU2Vj
dXJpdHlPcmlnaW4qPihleGVjLCBvcmlnaW4pKTsKICAgICB9CiB9Ci0jZW5kaWYKIAogI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDb250cm9sbGVyLmgKaW5kZXggNjQ2ZTVjYTI4MWJiOGM3MTQxYzY4M2QwODI4ZWRj
NDU4NGZmNjM5YS4uYzg4YThlYWY5YzUxZGE0YTAwOTE2MmM0M2ZiMDg0MTQ1YmFhOWQ1NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaApAQCAtMTUx
LDkgKzE1MSw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIFBhc3NSZWZQdHI8SlND
OjpCaW5kaW5nczo6Um9vdE9iamVjdD4gY3JlYXRlUm9vdE9iamVjdCh2b2lkKiBuYXRpdmVIYW5k
bGUpOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB2b2lkIGNvbGxlY3RJc29sYXRlZENv
bnRleHRzKFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpFeGVjU3RhdGUqLCBTZWN1cml0eU9yaWdpbio+
PiYpOwotI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBXRUJDT1JFX0VYUE9SVCBX
ZWJTY3JpcHRPYmplY3QqIHdpbmRvd1NjcmlwdE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9iamVjdC5jcHAKaW5kZXggOTE5NzU5Mzg5Njdm
OGNjYjViYWFmNjFmMGQ0MGQ5MDljOWY2ZGNmMS4uY2I0OTMxZGQ1NmE3NmViMzI0YmE2ZjNkZTk1
MTY0NzM0ZTgwZTQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0R2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRHbG9iYWxPYmplY3QuY3BwCkBAIC0zMiwxNCArMzIsMTEgQEAKICNpbmNsdWRlICJTY3JpcHRH
bG9iYWxPYmplY3QuaCIKIAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpT
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0T2JqZWN0
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9JZGVudGlmaWVySW5saW5lcy5oPgogI2luY2x1ZGUgPHJ1
bnRpbWUvSlNMb2NrLmg+CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIkpTSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmgiCi0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjAsNyArNTcsNiBAQCBib29sIFNjcmlwdEdsb2JhbE9i
amVjdDo6c2V0KEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSwg
Y29ucwogICAgIHJldHVybiBoYW5kbGVFeGNlcHRpb24oc2NyaXB0U3RhdGUpOwogfQogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKIGJvb2wgU2NyaXB0R2xvYmFsT2JqZWN0OjpzZXQoSlNDOjpFeGVj
U3RhdGUqIHNjcmlwdFN0YXRlLCBjb25zdCBjaGFyKiBuYW1lLCBJbnNwZWN0b3JGcm9udGVuZEhv
c3QqIHZhbHVlKQogewogICAgIEpTTG9ja0hvbGRlciBsb2NrKHNjcmlwdFN0YXRlKTsKQEAgLTY4
LDcgKzY0LDYgQEAgYm9vbCBTY3JpcHRHbG9iYWxPYmplY3Q6OnNldChKU0M6OkV4ZWNTdGF0ZSog
c2NyaXB0U3RhdGUsIGNvbnN0IGNoYXIqIG5hbWUsIEluc3AKICAgICBnbG9iYWxPYmplY3QtPnB1
dERpcmVjdChzY3JpcHRTdGF0ZS0+dm0oKSwgSWRlbnRpZmllcihzY3JpcHRTdGF0ZSwgbmFtZSks
IHRvSlMoc2NyaXB0U3RhdGUsIGdsb2JhbE9iamVjdCwgdmFsdWUpKTsKICAgICByZXR1cm4gaGFu
ZGxlRXhjZXB0aW9uKHNjcmlwdFN0YXRlKTsKIH0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9S
KQogCiBib29sIFNjcmlwdEdsb2JhbE9iamVjdDo6Z2V0KEpTQzo6RXhlY1N0YXRlKiBzY3JpcHRT
dGF0ZSwgY29uc3QgY2hhciogbmFtZSwgRGVwcmVjYXRlZDo6U2NyaXB0T2JqZWN0JiB2YWx1ZSkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmgK
aW5kZXggOTJiZjIwNmRmNTA5OWE2NGFmZTMxZDc1NjBmNjhmZTY5OTdkMWRmMy4uN2FhNTBiYTJm
MWZiYmJjNGI2ODVmODgwNDA4MjZjZTVkNmUxZTM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmgKQEAgLTQ2LDkgKzQ2LDcgQEAgY2xhc3Mg
SW5zcGVjdG9yRnJvbnRlbmRIb3N0OwogY2xhc3MgU2NyaXB0R2xvYmFsT2JqZWN0IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgYm9vbCBzZXQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBuYW1l
LCBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRPYmplY3QmKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHNldChKU0M6OkV4ZWNTdGF0ZSosIGNv
bnN0IGNoYXIqIG5hbWUsIEluc3BlY3RvckZyb250ZW5kSG9zdCopOwotI2VuZGlmCiAKICAgICBz
dGF0aWMgYm9vbCBnZXQoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBuYW1lLCBEZXByZWNh
dGVkOjpTY3JpcHRPYmplY3QmKTsKICAgICBzdGF0aWMgYm9vbCByZW1vdmUoSlNDOjpFeGVjU3Rh
dGUqLCBjb25zdCBjaGFyKiBuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCAyMmNkYzE5OTRlZmVlNGNj
OWVkZTdmZjk4YmI4ZTFjZDRkZDMzMzY4Li42YzAwYzY5YTRhZGQ4ZmM0NTA1N2VhMGM4YWM0N2Zm
NGVlN2ZjYmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJT
Y3JpcHREZWJ1Z1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0zMiw4ICszMiw2IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaCIKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJUaW1l
ci5oIgogI2luY2x1ZGUgIldvcmtlckRlYnVnZ2VyQWdlbnQuaCIKQEAgLTExMSw1ICsxMDksMyBA
QCB2b2lkIFdvcmtlclNjcmlwdERlYnVnU2VydmVyOjppbnRlcnJ1cHRBbmRSdW5UYXNrKHN0ZDo6
dW5pcXVlX3B0cjxTY3JpcHREZWJ1Z1NlcgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggMDRjOWIwMzkyNTU4NTRl
MTE5NDI5YTU2MjA3NDU0YmVlOGUxOTc2OS4uZWQ4OTU4Y2QwN2ZlNzk1NjljNjJmMjA4OTYyNWYx
ZTU1YmQzNWE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2Vy
U2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3Jr
ZXJTY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIFdvcmtlclNj
cmlwdERlYnVnU2VydmVyX2gKICNkZWZpbmUgV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXJfaAogCi0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rvci9TY3JpcHREZWJ1Z1Nl
cnZlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Nyw2ICs2NSw0IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
Ci0KICNlbmRpZiAvLyBXb3JrZXJTY3JpcHREZWJ1Z1NlcnZlcl9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5k
ZXggMjk5ZTY5M2JmZWUxODZmM2U2ZGU0Y2YyZWViNjZmZjhlMjNiY2Q3My4uYjBhMzdlMDBiZGIw
NDA4NjBjY2QxYTM2MTI3YzRjOWJmNTViYTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtNTMsNiAr
NTMsNyBAQAogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3R5
bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zZXJ0aW9uUG9pbnQuaCIKKyNpbmNsdWRlICJJbnNw
ZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNdXRhdGlvbkV2ZW50LmgiCkBAIC04NywxMCArODgsNiBA
QAogI2luY2x1ZGUgIlVJUmVxdWVzdEV2ZW50LmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgotI2VuZGlmCi0KIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTU1NCwxMCAr
NTUxLDggQEAgYm9vbCBOb2RlOjppc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpCiAKIHZvaWQgTm9k
ZTo6aW5zcGVjdCgpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoZG9jdW1lbnQo
KS5wYWdlKCkpCiAgICAgICAgIGRvY3VtZW50KCkucGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVy
KCkuaW5zcGVjdCh0aGlzKTsKLSNlbmRpZgogfQogCiBib29sIE5vZGU6Omhhc0VkaXRhYmxlU3R5
bGUoRWRpdGFibGVMZXZlbCBlZGl0YWJsZUxldmVsLCBVc2VyU2VsZWN0QWxsVHJlYXRtZW50IHRy
ZWF0bWVudCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21t
YW5kTGluZUFQSUhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5l
QVBJSG9zdC5jcHAKaW5kZXggZjIzNGE4NzY1OTU4OTZhODhkYzA0YzdjNDMwMjg5ODc0NzcwNzVl
NS4uODg3MDg4NWIzODc4NDIxZGQ3OWY0ZWNiOWZiNDVhMDhhZGExMzNiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5jcHAKQEAgLTMxLDggKzMx
LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3Qu
aCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2lu
Y2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtMTU3LDUgKzE1NSwzIEBA
IFN0cmluZyBDb21tYW5kTGluZUFQSUhvc3Q6OnN0b3JhZ2VJZEltcGwoU3RvcmFnZSogc3RvcmFn
ZSkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQ
SUhvc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5p
ZGwKaW5kZXggMjI4NDI2YzE2YWJjMmJiYTkzNDk1YWUyOWZiYWViNDRiYzY3OTExYi4uMjYyYmI0
MzZkYzU4MDNkYzNjNTk1MjkyZWY3M2EzYjc2YzM2YmNiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJSG9zdC5pZGwKQEAgLTMyLDcgKzMyLDYgQEAKIAog
WwogICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotICAgIENvbmRpdGlvbmFsPUlOU1BFQ1RPUiwKICAg
ICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBDb21tYW5kTGluZUFQSUhv
c3QgewogICAgIHZvaWQgY2xlYXJDb25zb2xlTWVzc2FnZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Db21tYW5kTGluZUFQSU1vZHVsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuY3BwCmluZGV4IDVmMmZiZTk5NmY5
OGM3ZDY4M2YwMDk5YWQ0YjcyZmNiNmNiOGEwNzIuLjcwY2EzZTk4OWVmZmI4NWNhZThhODlkNTFk
YjhlYWQwMDVhNTk5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db21t
YW5kTGluZUFQSU1vZHVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1h
bmRMaW5lQVBJTW9kdWxlLmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJTW9kdWxlLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotCiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElNb2R1bGVTb3VyY2UuaCIKICNpbmNsdWRl
ICJKU0NvbW1hbmRMaW5lQVBJSG9zdC5oIgogI2luY2x1ZGUgIldlYkluamVjdGVkU2NyaXB0TWFu
YWdlci5oIgpAQCAtNjQsNSArNjIsMyBAQCBKU0M6OkpTVmFsdWUgQ29tbWFuZExpbmVBUElNb2R1
bGU6Omhvc3QoSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbgogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbW1hbmRMaW5lQVBJTW9kdWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuaAppbmRleCAx
ZjY0MGUwMmU4NWNlMGU0MGRjZjA1NGVmZjg5N2ZjNzU4ODQxZDIzLi42NWM5MjA5YzIxMDQ3NTE1
OWJmOTVlOThhMmRkNDNhYWY4NDQzNjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvQ29tbWFuZExpbmVBUElNb2R1bGUuaApAQCAtMjgsOCArMjgsNiBAQAogCiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0TW9kdWxlLmg+CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbW1hbmRMaW5lQVBJTW9kdWxlIGZp
bmFsIDogcHVibGljIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNb2R1bGUgewpAQCAtNDUsNiAr
NDMsNCBAQCBwdWJsaWM6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChDb21tYW5kTGluZUFQSU1vZHVs
ZV9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAppbmRleCAwYmE2Njg5ZDE2
ZjUzOTBmZGIwOTFhOWRlYmU0YWNlM2NjNjYzOWEyLi4wOGI4NTQ1MmZhMmUyNzlhZTlkNDUwNjNk
MzQ0YjNiZWExOGI5NjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9N
RWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcApA
QCAtMjksOSArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJET01FZGl0b3IuaCIKIAogI2luY2x1ZGUgIkRPTVBh
dGNoU3VwcG9ydC5oIgpAQCAtNDUzLDUgKzQ1MCwzIEBAIGJvb2wgRE9NRWRpdG9yOjpyZXBsYWNl
V2hvbGVUZXh0KFRleHQqIHRleHROb2RlLCBjb25zdCBTdHJpbmcmIHRleHQsIEVycm9yU3RyaW5n
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNU
T1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmgKaW5kZXggMjk0ZDE5MDA4MGFhNWJh
MDEyMjQxNmRlZDFlZjdmNzUxOTJlNmQyNy4uNTZlMTE0Yjg1ZjA4OGM3OWIyNzRiMjJiM2ZiMDg2
NzM5NTZkYTYwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3IuaApAQCAtNDIsOCAr
NDIsNiBAQCBjbGFzcyBJbnNwZWN0b3JIaXN0b3J5OwogY2xhc3MgTm9kZTsKIGNsYXNzIFRleHQ7
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsK
IAogY2xhc3MgRE9NRWRpdG9yIHsKQEAgLTgyLDggKzgwLDYgQEAgcHJpdmF0ZToKICAgICBJbnNw
ZWN0b3JIaXN0b3J5KiBtX2hpc3Rvcnk7CiB9OwogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gIWRlZmluZWQoRE9NRWRp
dG9yX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NUGF0Y2hTdXBw
b3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwCmlu
ZGV4IDAzZDNjMDZiYjViMGExNGJiMmZkNzZlMDNhODc5ZmVjYTUxNGNlMjIuLmExOWVlODZhMjZm
M2ZlN2E5ODZmMWQ0YmY4N2FjMGFmZDU3MjdlMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwCkBAIC0yOSw5ICsyOSw2IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkRPTVBh
dGNoU3VwcG9ydC5oIgogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCkBAIC01MTUsNSArNTEyLDMg
QEAgdm9pZCBET01QYXRjaFN1cHBvcnQ6OmR1bXBNYXAoY29uc3QgUmVzdWx0TWFwJiBtYXAsIGNv
bnN0IFN0cmluZyYgbmFtZSkKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTVBh
dGNoU3VwcG9ydC5oCmluZGV4IDc2NzczYThiZWI1NDZlZjJlMWY1ZTNhZjllM2U2OWIyNzU5OTA1
NDcuLmE4NzdiZjY5NmIzNDgyNmMyNGJkOTFiYjYyOTQ1MDEwNTIzMTMyZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmgKQEAgLTQ0LDggKzQ0LDYgQEAgY2xh
c3MgRE9NRWRpdG9yOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBOb2RlOwogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogY2xhc3MgRE9NUGF0Y2hTdXBwb3J0IGZpbmFsIHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShET01QYXRjaFN1cHBvcnQpOwogcHVibGljOgpAQCAtNzksOCArNzcsNiBA
QCBwcml2YXRlOgogICAgIFVudXNlZE5vZGVzTWFwIG1fdW51c2VkTm9kZXNNYXA7CiB9OwogCi0j
ZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gIWRlZmluZWQoRE9NUGF0Y2hTdXBwb3J0X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3Bw
CmluZGV4IGNjYWY2MDg2YTIwZmRhZmVlMGQyN2MzZGYyMmQ5MzJkYmZjYTUxN2UuLmE3MDRjZDk4
NGVhOGQzOGVmMGYxYzVlZTI5MGRjNTM4NmE4YjVmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3Bw
CkBAIC0yNCw5ICsyNCw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dC5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKQEAgLTE5OSw1ICsxOTYs
MyBAQCBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXBwbGljYXRpb25DYWNoZTo6QXBwbGljYXRp
b25DYWNoZVJlc291cmNlPiBJbnNwZWN0b3JBcAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IGM3
MTI5ZDZmMzY3MTBiNzQ4Y2NjMDk2MWZhNTc4MWM0YmFjM2RhNzAuLjBiODEzMzVmNTFjZTBhNmM4
ZjUwYjZjZDM3NDRhZDY3ZTAzYzkzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI1LDggKzI1
LDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50X2gKICNkZWZpbmUg
SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
Ci0KICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
cldlYkFnZW50QmFzZS5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcnMuaD4KQEAgLTgwLDUgKzc4LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKICNlbmRpZiAvLyBJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggZjQyMWI0NmNmOGFjZDk4MDM1NjdjZjFmMWIzNTBk
YTkzNmI4MDZlNS4uZDVkYWQyZjk1ZWI1NzNkNjk4Y2VkNjljYjAwNmIyMWE4Y2NhZWI1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0y
Myw5ICsyMyw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvckNTU0FnZW50LmgiCiAKICNpbmNsdWRlICJD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCIKQEAgLTEyMDEsNSArMTE5OCwzIEBAIHZvaWQg
SW5zcGVjdG9yQ1NTQWdlbnQ6OnJlc2V0UHNldWRvU3RhdGVzKCkKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKaW5kZXggZDNhMDFmYzA1MmMwN2Y4NDBk
YTkzNDVhNWY5ODI3YjdlNWE0YzQ5OC4uZWZiOWNiMTk1Y2Y3YmQzZjc2OTM5MTIyM2RiMmYwOTVk
NzM0YTc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmgKQEAgLTYxLDggKzYxLDYgQEAgY2xhc3MgU3R5bGVSZXNvbHZlcjsKIGNsYXNzIFN0eWxlUnVs
ZTsKIGNsYXNzIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLQogY2xhc3MgSW5zcGVjdG9yQ1NTQWdlbnQgZmluYWwKICAgICA6IHB1YmxpYyBJbnNwZWN0
b3JBZ2VudEJhc2UKICAgICAsIHB1YmxpYyBJbnNwZWN0b3JET01BZ2VudDo6RE9NTGlzdGVuZXIK
QEAgLTE4NCw4ICsxODIsNiBAQCBwcml2YXRlOgogICAgIGludCBtX2xhc3RTdHlsZVNoZWV0SWQ7
CiB9OwogCi0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gIWRl
ZmluZWQoSW5zcGVjdG9yQ1NTQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNsaWVudC5jcHAKaW5kZXggYzMzZTZhYzAxMmYzODVhYjJkNDBjNzE0MTRkZjNhOWM4
YWE5ZGIxYy4uZDU1ZGFiMDc5NTQxM2E3YWUxYzk3NjNmMDNjZWQ0MmVlN2Y5Yzk1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5jcHAKQEAgLTI5LDkgKzI5
LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAKICNpbmNsdWRlICJNYWluRnJhbWUu
aCIKQEAgLTU3LDUgKzU0LDMgQEAgYm9vbCBJbnNwZWN0b3JDbGllbnQ6OmRvRGlzcGF0Y2hNZXNz
YWdlT25Gcm9udGVuZFBhZ2UoUGFnZSogZnJvbnRlbmRQYWdlLCBjb25zdAogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVu
dGF0aW9uLmgKaW5kZXggY2FmM2Y4MTAzODA1MTI1ZWYzMTdhY2FjZTBjNmUwZWRjZjUzNzRjOS4u
YWE0ZjUzNWU3ODA1NTZiYmIxNzYzMWMzNThlNzQzNWY2OWFlNjEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVJbnN0cnVtZW50YXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUluc3RydW1lbnRh
dGlvbi5oCkBAIC00MCw5NSArNDAsNTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoUGFnZSYg
cGFnZSwgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6Q29uc29sZU1lc3NhZ2U+IG1lc3NhZ2Up
CiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQog
ICAgICAgICBhZGRNZXNzYWdlVG9Db25zb2xlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgV1RG
Ojptb3ZlKG1lc3NhZ2UpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotICAgIFVO
VVNFRF9QQVJBTShtZXNzYWdlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmFkZE1lc3NhZ2VUb0NvbnNvbGUoV29ya2VyR2xvYmFsU2NvcGUqIHdv
cmtlckdsb2JhbFNjb3BlLCBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpDb25zb2xlTWVzc2Fn
ZT4gbWVzc2FnZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zvcldv
cmtlckdsb2JhbFNjb3BlKHdvcmtlckdsb2JhbFNjb3BlKSkKICAgICAgICAgYWRkTWVzc2FnZVRv
Q29uc29sZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIFdURjo6bW92ZShtZXNzYWdlKSk7Ci0j
ZWxzZQotICAgIFVOVVNFRF9QQVJBTSh3b3JrZXJHbG9iYWxTY29wZSk7Ci0gICAgVU5VU0VEX1BB
UkFNKG1lc3NhZ2UpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6Y29uc29sZUNvdW50KFBhZ2UmIHBhZ2UsIEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwg
UmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmIGFyZ3VtZW50cykKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIGNv
bnNvbGVDb3VudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBXVEY6Om1vdmUoYXJn
dW1lbnRzKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFS
QU0oc3RhdGUpOwotICAgIFVOVVNFRF9QQVJBTShhcmd1bWVudHMpOwotI2VuZGlmCiB9CiAKIGlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RhcnRDb25zb2xlVGltaW5nKEZy
YW1lJiBmcmFtZSwgY29uc3QgU3RyaW5nJiB0aXRsZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgc3RhcnRDb25zb2xlVGlt
aW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUsIHRpdGxlKTsKLSNlbHNlCi0gICAg
VU5VU0VEX1BBUkFNKGZyYW1lKTsKLSAgICBVTlVTRURfUEFSQU0odGl0bGUpOwotI2VuZGlmCiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcENvbnNvbGVUaW1p
bmcoRnJhbWUmIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWZQdHI8SW5zcGVjdG9yOjpT
Y3JpcHRDYWxsU3RhY2s+JiYgc3RhY2spCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIHN0b3BDb25zb2xlVGltaW5nSW1wbCgq
aW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUsIHRpdGxlLCBXVEY6Om1vdmUoc3RhY2spKTsKLSNl
bHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSAgICBVTlVTRURfUEFSQU0odGl0bGUpOwot
ICAgIFVOVVNFRF9QQVJBTShzdGFjayk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpjb25zb2xlVGltZVN0YW1wKEZyYW1lJiBmcmFtZSwgUmVmUHRy
PEluc3BlY3Rvcjo6U2NyaXB0QXJndW1lbnRzPiYmIGFyZ3VtZW50cykKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgY29uc29sZVRpbWVTdGFtcEltcGwo
Kmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lLCBXVEY6Om1vdmUoYXJndW1lbnRzKSk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGFyZ3VtZW50cyk7
Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzdGFy
dFByb2ZpbGluZyhQYWdlJiBwYWdlLCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5n
ICZ0aXRsZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2Uo
cGFnZSkpCiAgICAgICAgIHN0YXJ0UHJvZmlsaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywg
ZXhlYywgdGl0bGUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0gICAgVU5VU0VE
X1BBUkFNKGV4ZWMpOwotICAgIFVOVVNFRF9QQVJBTSh0aXRsZSk7Ci0jZW5kaWYKIH0KIAogaW5s
aW5lIFJlZlB0cjxKU0M6OlByb2ZpbGU+IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c3RvcFBy
b2ZpbGluZyhQYWdlJiBwYWdlLCBKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nICZ0
aXRsZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFn
ZSkpCiAgICAgICAgIHJldHVybiBzdG9wUHJvZmlsaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50
cywgZXhlYywgdGl0bGUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0gICAgVU5V
U0VEX1BBUkFNKGV4ZWMpOwotICAgIFVOVVNFRF9QQVJBTSh0aXRsZSk7Ci0jZW5kaWYKICAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDIwOTFmMWM3NmU5NmRmMTFjY2U5NDZkZTFkZjRlODNh
NjRjNDg4YTMuLjcyZjI5NDY4Y2VhZGI0ZWQ3NWYzZGQ2YWUzMzg3OGI5NDNjNGVhMzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAg
LTMyLDggKzMyLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JD
b250cm9sbGVyLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiQ29tbWFu
ZExpbmVBUElIb3N0LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCkBAIC00NTYsNSArNDU0LDMgQEAgUmVmPFN0b3B3YXRjaD4gSW5z
cGVjdG9yQ29udHJvbGxlcjo6ZXhlY3V0aW9uU3RvcHdhdGNoKCkKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDNkMzRhZGY0YzhiYTMz
ODIxZmFkZWY2MjQzZWY5ZTFmNjI1YTI3YTguLmIyNjQyMmI3NzUzZTBjNDI2ZjUwOTk1MTU2Y2Rm
MDNkNTQ5ZjNlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaApAQCAtMzEsOCArMzEsNiBAQAogI2lmbmRlZiBJbnNwZWN0b3JDb250cm9sbGVy
X2gKICNkZWZpbmUgSW5zcGVjdG9yQ29udHJvbGxlcl9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dFJlZ2lzdHJ5Lmg+CkBAIC0xNzIsNiArMTcwLDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckNvbnRy
b2xsZXJfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCmluZGV4IGRhYTBkZjA3NTRiN2Y5YjAxZDI5ZTdjMTJkMjJkMDUwMjM4NzllN2EuLjE3ZWI2
ODE4MTkxMDMzODRmNTBmMWZlMjI1OWUwMDJkYzYzMjljOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMjksOSArMjksNiBAQAogICov
CiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgpA
QCAtMjAyMCw1ICsyMDE3LDMgQEAgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUgSW5zcGVjdG9yRE9N
QWdlbnQ6Om5vZGVBc1NjcmlwdFZhbHVlKEpTQzo6RXhlY1N0YXRlKiBzdGEKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggNDEyYjdjMGQ0NDEz
ZmMwMzY2NjcxYzE4ODZlZDI4OTY3YTc5MmM2My4uZjgzOTc5MmJiMjVjOWE1YjM3ZjcwNTQ3MmZj
NDY4YTM3MTYxNjAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmgKQEAgLTc4LDggKzc4LDYgQEAgc3RydWN0IEhpZ2hsaWdodENvbmZpZzsKIHR5cGVk
ZWYgU3RyaW5nIEVycm9yU3RyaW5nOwogdHlwZWRlZiBpbnQgQmFja2VuZE5vZGVJZDsKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KIHN0cnVjdCBFdmVudExpc3RlbmVySW5mbyB7CiAgICAgRXZl
bnRMaXN0ZW5lckluZm8oTm9kZSogbm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUs
IGNvbnN0IEV2ZW50TGlzdGVuZXJWZWN0b3ImIGV2ZW50TGlzdGVuZXJWZWN0b3IpCiAgICAgICAg
IDogbm9kZShub2RlKQpAQCAtMjc1LDggKzI3Myw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Rv
Y3VtZW50UmVxdWVzdGVkOwogfTsKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvckRPTUFn
ZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
RGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
RGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZGQ4ZjUyMzdiZWY2NDE5OGNiZmMwYjY1NGY3Mzc4ODEz
ZTZmYjhkZS4uM2QwYmJhYzU2MWI4ZWIxNDQ3NDcyODJlMDg4NGQ3MDRhNWJjY2IyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFn
ZW50LmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCkBAIC00MjQsNSArNDIyLDMg
QEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpjbGVhcigpCiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAppbmRl
eCBjNjliM2I4NDUxMjZkYjI2NTdmZjY5ZjJmMmQ1ZTgyMjJlMDc1MzY0Li40NjZmMDNlNTcxY2Y4
NjcwNDNkYmNiNWJlODRiNjVmYWM3ZGFkMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKQEAgLTMxLDggKzMxLDYgQEAK
ICNpZm5kZWYgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudF9oCiAjZGVmaW5lIEluc3BlY3RvckRP
TURlYnVnZ2VyQWdlbnRfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIklu
c3BlY3RvcldlYkFnZW50QmFzZS5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaD4KQEAgLTExMyw2ICsxMTEsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8g
IWRlZmluZWQoSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAppbmRleCA4MTEz
YzU0MTgyZTIwM2MxODBjYzBkYjRmOGVjMjU1ZWI1ZmFmYjQ4Li5mYjA4OWEzOGY4MzIyNmQ1OWNl
NTI4NmZiZTBhNTI4OGI5MDU3OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcApAQCAtMjgsOSArMjgsNiBAQAogICov
CiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKIAogI2luY2x1ZGUgIkRPTVdpbmRvdy5o
IgpAQCAtMjA1LDUgKzIwMiwzIEBAIFJlZlB0cjxTdG9yYWdlQXJlYT4gSW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50OjpmaW5kU3RvcmFnZUFyZWEoRXJyb3JTdHJpbmcmIGVycm9yCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKaW5k
ZXggNzNkYWExNmYyOTAxZmFiYjNmYTZjM2ZlMDNkZTM3YWRjN2E1MjdiMy4uNDRkYWE4NjU3Njdl
M2NiNzI0ZGE5NzRhMDI4Y2I5ZGUyNmRmODI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcApAQCAtMjcsOSArMjcsNiBAQAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNp
bmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCiAKICNpbmNsdWRlICJEYXRhYmFzZS5o
IgpAQCAtMzIyLDUgKzMxOSwzIEBAIERhdGFiYXNlKiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50Ojpk
YXRhYmFzZUZvcklkKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VJZCkKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oCmluZGV4IDQ0M2ZjZDli
MWQxYzQ4YmY1MTVkZTUzNzkwOTE2MzZiMTA1ZTcxZWUuLjJlODY4OTc1ZjE2ZmNiMTY3OGRiZGIz
ZGFjZjIxZTE3Y2VkMThjY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRhdGFiYXNlQWdlbnQuaApAQCAtMjksOCArMjksNiBAQAogI2lmbmRlZiBJbnNwZWN0
b3JEYXRhYmFzZUFnZW50X2gKICNkZWZpbmUgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudF9oCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgi
CiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+CkBAIC04Myw2
ICs4MSw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JEYXRhYmFz
ZUFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oCmluZGV4IGJjZDJhMmQ4NjA5OTFhNzE1Y2Zm
NDY0ZWJhOTgwZjYwOWQ3NDhjY2YuLjFmMTAwNTI3YjVkNTVhOTliMmVhNGYzZGI5ZGRlM2QxNWM1
NmMwYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRh
YmFzZUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oCkBAIC0zOSwxNiArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
T3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFJlZlB0cjxEYXRh
YmFzZT4mJiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgZGlkT3BlbkRhdGFiYXNlSW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cywgV1RGOjptb3ZlKGRhdGFiYXNlKSwgZG9tYWluLCBuYW1l
LCB2ZXJzaW9uKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNF
RF9QQVJBTShkYXRhYmFzZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGRvbWFpbik7Ci0gICAgVU5VU0VE
X1BBUkFNKG5hbWUpOwotICAgIFVOVVNFRF9QQVJBTSh2ZXJzaW9uKTsKLSNlbmRpZgogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAKaW5kZXggODU4MjUxODkwNTkzZWJlYjkw
MzZiZmJhNjdjNjEyZGFjN2VhNDA0Zi4uNDZlZGYzMTNjNjg2M2U2Y2FmMjdhZGIyZGY0YjYyM2Q4
YTc2OGNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRh
dGFiYXNlUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JEYXRhYmFzZVJlc291cmNlLmNwcApAQCAtMjksOSArMjksNiBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0
b3JEYXRhYmFzZVJlc291cmNlLmgiCiAKICNpbmNsdWRlICJEYXRhYmFzZS5oIgpAQCAtNjksNSAr
NjYsMyBAQCB2b2lkIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U6OmJpbmQoSW5zcGVjdG9yRGF0
YWJhc2VGcm9udGVuZERpc3BhdGNoZXIqIGRhdGFiYQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgKaW5kZXggMWRiODQ0NDZk
YTk0MDAxMDEyOWQ4YTMxOGZhMTZkM2YwMDM3OGY4NC4uMjk1NjcyYzE3YTk5YjM1ZThiNDc4ODdi
YTJiY2ZkYzc4MDg4MTUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIElu
c3BlY3RvckRhdGFiYXNlUmVzb3VyY2VfaAogI2RlZmluZSBJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlX2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNjMsNiArNjEsNCBAQCBwcml2YXRlOgogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
ZW5kaWYgLy8gSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5k
ZXggM2U3MDgxOWFlZTFiM2JkMWU1ZDRkNWFlMTU5ODk3MmI3ZjdiZmZiZi4uMzQ1YTczMjAxZjhk
ZWRhNWU0NTdlODQ2YWYyNjRjODcxNWEyMjhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtMjks
OSArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgiCiAKICNp
bmNsdWRlICJDaHJvbWUuaCIKQEAgLTM1Nyw1ICszNTQsMyBAQCB2b2lkIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWw6OmV2YWx1YXRlT25Mb2FkKGNvbnN0IFN0cmluZyYgZXhwcmVzc2lvbikK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggMWMwNWJiZmFk
ZWI2NGJjM2E1NTc4YzQ4ZDIzYzM3NjVlYTBiMWUyNy4uMzljNTljNTgwMDk3YjM0MWJlMzNhYjU4
M2VmZTgzNjlmZGNkZDM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTI4LDkgKzI4LDYgQEAKICAqLwogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmgiCiAKICNpbmNsdWRlICJDb250ZXh0TWVudS5oIgpAQCAtMzI0LDUg
KzMyMSwzIEBAIGJvb2wgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpjYW5JbnNwZWN0V29ya2Vycygp
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNU
T1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsCmluZGV4IDM1OTEyMWNjOTM3NjgwYTE2MTAyZDExMTg1NzViMDMyYTI3N2VhYTguLjdk
ZTE4OTUxMmVkYjlhYTJhOWU4ODIwNGVjNWY0ZTU3ZTJkMWVmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCkBAIC0zMiw3ICsz
Miw2IEBACiAKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKLSAgICBDb25kaXRpb25hbD1JTlNQ
RUNUT1IsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0IHsKICAgICB2b2lkIGxvYWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckhpc3RvcnkuY3BwCmluZGV4IGUzOGQ4OTJjNTQ2YzgyZjg2OWMz
YWYzYTkwNjhmZjYyN2IyNDVmOTUuLjhkY2Y0ZWU3Zjg4MjJkY2JlM2MxYWE4YjY1YWRmYzdmZGRk
NDBmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JIaXN0
b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5j
cHAKQEAgLTI5LDkgKzI5LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9ySGlzdG9yeS5oIgogCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmgiCkBAIC0xNTEsNSArMTQ4LDMgQEAgdm9p
ZCBJbnNwZWN0b3JIaXN0b3J5OjpyZXNldCgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckhpc3RvcnkuaAppbmRleCAwNDk3NmRhNWQzZDZiYTZlOTk0YTUyYWEyZjBhYzYx
MzdiZjUzMTBkLi41ZmI5YzhhYWZmMjk4ODUyNzk4MDRkNWE3ODJhOGZjYjY2OTgwMmJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySGlzdG9yeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JIaXN0b3J5LmgKQEAgLTQyLDggKzQy
LDYgQEAgY2xhc3MgQ29udGFpbmVyTm9kZTsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBOb2RlOwog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogY2xhc3MgSW5zcGVjdG9ySGlzdG9yeSBmaW5hbCB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9ySGlzdG9yeSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtODIsOCArODAsNiBAQCBwcml2YXRlOgogICAgIHNp
emVfdCBtX2FmdGVyTGFzdEFjdGlvbkluZGV4OwogfTsKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFkZWZpbmVkKElu
c3BlY3Rvckhpc3RvcnlfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCmluZGV4IGY3OWMwMmU3ODdlNjQ5NWU2NWE1NDg3Yzhi
OGIwYjFjMWQxZThkNzIuLjdhNjQ5NWYxMzQ0MTc2ZjQxMTQ4MTExYWE0YTA2ZWE2Zjg0M2JkOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWRE
QkFnZW50LmNwcApAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkluc3BlY3RvckluZGV4ZWREQkFnZW50
LmgiCiAKQEAgLTc3Niw0ICs3NzYsNCBAQCB2b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50Ojpj
bGVhck9iamVjdFN0b3JlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgUwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50
LmgKaW5kZXggM2IwZTlmYTEwYjU3MWMzNDBkYWFhY2I5OGVmNGFjOGE0OWM1MzlkYS4uNzcyMGIz
YTlhYWVjOTlkYjIwN2U5YzkzNDQ5NWM2OWY1NzdmMTMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmgKQEAgLTMxLDcgKzMxLDcg
QEAKICNpZm5kZWYgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnRfaAogI2RlZmluZSBJbnNwZWN0b3JJ
bmRleGVkREJBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIklu
c3BlY3RvcldlYkFnZW50QmFzZS5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnMuaD4KQEAgLTcxLDUgKzcxLDUgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAjZW5k
aWYgLy8gIWRlZmluZWQoSW5zcGVjdG9ySW5kZXhlZERCQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXgg
MDg4OGFmYjY1ZjVkN2VkYWRkZGNkZWNhMmRlMGVhYjE5YTkzYTAzMC4uOWMwMWE0M2Q2YzhjZjli
MzMxY2I4YzJiZDJmNjdjNjMzNmFkNWUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTMyLDggKzMyLDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJDU1NSdWxlLmgiCiAjaW5j
bHVkZSAiQ1NTU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCkBAIC0xMjg5LDUg
KzEyODcsMyBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cHNldWRvRWxlbWVudERl
c3Ryb3llZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyAhRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCBjYmVkMGUw
ZWE3NTZmZTZiMDdmNjgwZGViNjAzMjY4NjNmY2YwM2ZjLi42MTBjNGNkZTQ4OTc0YjNmYmM4NTIx
YjkzZjc3ZWU2OTY1MDJmNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0yNzgsMjAgKzI3OCwxMiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyTGF5ZXJEZXN0cm95ZWQoUGFnZSosIGNvbnN0IFJlbmRl
ckxheWVyJik7CiAgICAgc3RhdGljIHZvaWQgcHNldWRvRWxlbWVudERlc3Ryb3llZChQYWdlKiwg
UHNldWRvRWxlbWVudCYpOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBzdGF0aWMgdm9p
ZCBmcm9udGVuZENyZWF0ZWQoKSB7IHNfZnJvbnRlbmRDb3VudGVyICs9IDE7IH0KICAgICBzdGF0
aWMgdm9pZCBmcm9udGVuZERlbGV0ZWQoKSB7IHNfZnJvbnRlbmRDb3VudGVyIC09IDE7IH0KICAg
ICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMoKSB7IHJldHVybiBzX2Zyb250ZW5kQ291bnRlcjsg
fQogICAgIHN0YXRpYyBib29sIGNvbnNvbGVBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopOwogICAgIHN0YXRpYyBib29sIHRpbWVsaW5lQWdlbnRFbmFibGVkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgYm9vbCByZXBsYXlBZ2VudEVuYWJsZWQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwotI2Vsc2UKLSAgICBzdGF0aWMgYm9vbCBoYXNGcm9udGVuZHMo
KSB7IHJldHVybiBmYWxzZTsgfQotICAgIHN0YXRpYyBib29sIGNvbnNvbGVBZ2VudEVuYWJsZWQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJv
b2wgcnVudGltZUFnZW50RW5hYmxlZChGcmFtZSopIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgc3Rh
dGljIGJvb2wgdGltZWxpbmVBZ2VudEVuYWJsZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsg
cmV0dXJuIGZhbHNlOyB9Ci0gICAgc3RhdGljIGJvb2wgcmVwbGF5QWdlbnRFbmFibGVkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqKSB7IHJldHVybiBmYWxzZTsgfQotI2VuZGlmCiAKICAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
c0ZvclBhZ2UoUGFnZSopOwogCkBAIC0yOTksNyArMjkxLDYgQEAgcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIHVucmVnaXN0ZXJJbnN0cnVtZW50aW5nQWdlbnRzKEluc3RydW1lbnRpbmdBZ2VudHMm
KTsKIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHN0YXRpYyB2b2lkIGRp
ZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1l
JiwgRE9NV3JhcHBlcldvcmxkJik7CiAgICAgc3RhdGljIGJvb2wgaXNEZWJ1Z2dlclBhdXNlZElt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyYpOwogCkBAIC00NzcsMTUyMSArNDY4LDg2NyBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyB2b2lkIGNhbmNlbFBhdXNlT25OYXRpdmVFdmVudChJbnN0cnVtZW50
aW5nQWdlbnRzJik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgaW50IHNfZnJvbnRlbmRD
b3VudGVyOwotI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSYgZnJhbWUsIERPTVdyYXBwZXJX
b3JsZCYgd29ybGQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JG
cmFtZShmcmFtZSkpCiAgICAgICAgIGRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZEltcGwoKmlu
c3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lLCB3b3JsZCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHdvcmxkKTsKLSNlbmRpZgogfQogCiBpbmxpbmUg
Ym9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzRGVidWdnZXJQYXVzZWQoRnJhbWUqIGZy
YW1lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJP
TlRFTkRTKGZhbHNlKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIHJl
dHVybiBpc0RlYnVnZ2VyUGF1c2VkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUo
RG9jdW1lbnQmIGRvY3VtZW50LCBOb2RlJiBwYXJlbnQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIHdpbGxJbnNlcnRET01Ob2RlSW1wbCgq
aW5zdHJ1bWVudGluZ0FnZW50cywgcGFyZW50KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRv
Y3VtZW50KTsKLSAgICBVTlVTRURfUEFSQU0ocGFyZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc2VydERPTU5vZGUoRG9jdW1lbnQm
IGRvY3VtZW50LCBOb2RlJiBub2RlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1l
bnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRJbnNlcnRET01Ob2RlSW1wbCgqaW5zdHJ1bWVudGlu
Z0FnZW50cywgbm9kZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAg
VU5VU0VEX1BBUkFNKG5vZGUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbFJlbW92ZURPTU5vZGUoRG9jdW1lbnQmIGRvY3VtZW50LCBOb2Rl
JiBub2RlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9f
RlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQog
ICAgICAgICB3aWxsUmVtb3ZlRE9NTm9kZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIG5vZGUp
OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShu
b2RlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlbW92ZURPTU5vZGUoRG9jdW1lbnQmIGRvY3VtZW50LCBOb2RlJiBub2RlKQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQo
KSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBp
bnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRSZW1v
dmVET01Ob2RlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgbm9kZSk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKG5vZGUpOwotI2VuZGlmCiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbE1vZGlmeURPTUF0
dHIoRG9jdW1lbnQmIGRvY3VtZW50LCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJp
bmcmIG9sZFZhbHVlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQogewotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICB3aWxsTW9kaWZ5RE9N
QXR0ckltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGVsZW1lbnQsIG9sZFZhbHVlLCBuZXdWYWx1
ZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFN
KGVsZW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShvbGRWYWx1ZSk7Ci0gICAgVU5VU0VEX1BBUkFN
KG5ld1ZhbHVlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZE1vZGlmeURPTUF0dHIoRG9jdW1lbnQmIGRvY3VtZW50LCBFbGVtZW50JiBlbGVt
ZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUp
CiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVO
RFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAg
IGRpZE1vZGlmeURPTUF0dHJJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBlbGVtZW50LCBuYW1l
LCB2YWx1ZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VE
X1BBUkFNKGVsZW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKLSAgICBVTlVTRURfUEFS
QU0odmFsdWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkUmVtb3ZlRE9NQXR0cihEb2N1bWVudCYgZG9jdW1lbnQsIEVsZW1lbnQmIGVsZW1l
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkUmVtb3ZlRE9NQXR0ckltcGwoKmluc3Ry
dW1lbnRpbmdBZ2VudHMsIGVsZW1lbnQsIG5hbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShlbGVtZW50KTsKLSAgICBVTlVTRURfUEFSQU0o
bmFtZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRJbnZhbGlkYXRlU3R5bGVBdHRyKERvY3VtZW50JiBkb2N1bWVudCwgTm9kZSYgbm9kZSkK
IHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAg
ZGlkSW52YWxpZGF0ZVN0eWxlQXR0ckltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIG5vZGUpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShub2Rl
KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZy
YW1lV2luZG93RGlzY2FyZGVkKEZyYW1lKiBmcmFtZSwgRE9NV2luZG93KiBkb21XaW5kb3cpCiB7
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAg
ICAgICAgIGZyYW1lV2luZG93RGlzY2FyZGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZG9t
V2luZG93KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSAgICBVTlVTRURfUEFS
QU0oZG9tV2luZG93KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246Om1lZGlhUXVlcnlSZXN1bHRDaGFuZ2VkKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2
b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgbWVk
aWFRdWVyeVJlc3VsdENoYW5nZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFB1c2hTaGFkb3dSb290KEVsZW1lbnQmIGhvc3QsIFNo
YWRvd1Jvb3QmIHJvb3QpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVS
Tl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChob3N0
LmRvY3VtZW50KCkpKQogICAgICAgICBkaWRQdXNoU2hhZG93Um9vdEltcGwoKmluc3RydW1lbnRp
bmdBZ2VudHMsIGhvc3QsIHJvb3QpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaG9zdCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKHJvb3QpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbFBvcFNoYWRvd1Jvb3QoRWxlbWVudCYgaG9zdCwgU2hhZG93
Um9vdCYgcm9vdCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGhvc3QuZG9j
dW1lbnQoKSkpCiAgICAgICAgIHdpbGxQb3BTaGFkb3dSb290SW1wbCgqaW5zdHJ1bWVudGluZ0Fn
ZW50cywgaG9zdCwgcm9vdCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShob3N0KTsKLSAgICBV
TlVTRURfUEFSQU0ocm9vdCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVOYW1lZEZsb3coRG9jdW1lbnQqIGRvY3VtZW50LCBXZWJL
aXROYW1lZEZsb3cmIG5hbWVkRmxvdykKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3Vt
ZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkQ3JlYXRlTmFtZWRGbG93SW1wbCgqaW5zdHJ1bWVu
dGluZ0FnZW50cywgZG9jdW1lbnQsIG5hbWVkRmxvdyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKG5hbWVkRmxvdyk7Ci0jZW5kaWYKIH0KIAog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVtb3ZlTmFtZWRGbG93
KERvY3VtZW50KiBkb2N1bWVudCwgV2ViS2l0TmFtZWRGbG93JiBuYW1lZEZsb3cpCiB7Ci0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgp
KTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGlu
c3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIHdpbGxSZW1v
dmVOYW1lZEZsb3dJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBkb2N1bWVudCwgbmFtZWRGbG93
KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKLSAgICBVTlVTRURfUEFSQU0o
bmFtZWRGbG93KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZENoYW5nZVJlZ2lvbk92ZXJzZXQoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJLaXRO
YW1lZEZsb3cmIG5hbWVkRmxvdykKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50
KGRvY3VtZW50KSkKICAgICAgICAgZGlkQ2hhbmdlUmVnaW9uT3ZlcnNldEltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGRvY3VtZW50LCBuYW1lZEZsb3cpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShuYW1lZEZsb3cpOwotI2VuZGlmCiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVnaXN0ZXJOYW1lZEZs
b3dDb250ZW50RWxlbWVudChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYktpdE5hbWVkRmxvdyYgbmFt
ZWRGbG93LCBOb2RlJiBjb250ZW50RWxlbWVudCwgTm9kZSogbmV4dENvbnRlbnRFbGVtZW50KQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBk
aWRSZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVtZW50SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50
cywgZG9jdW1lbnQsIG5hbWVkRmxvdywgY29udGVudEVsZW1lbnQsIG5leHRDb250ZW50RWxlbWVu
dCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFN
KG5hbWVkRmxvdyk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvbnRlbnRFbGVtZW50KTsKLSAgICBVTlVT
RURfUEFSQU0obmV4dENvbnRlbnRFbGVtZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFVucmVnaXN0ZXJOYW1lZEZsb3dDb250ZW50RWxl
bWVudChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYktpdE5hbWVkRmxvdyYgbmFtZWRGbG93LCBOb2Rl
JiBjb250ZW50RWxlbWVudCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRv
Y3VtZW50KSkKICAgICAgICAgZGlkVW5yZWdpc3Rlck5hbWVkRmxvd0NvbnRlbnRFbGVtZW50SW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZG9jdW1lbnQsIG5hbWVkRmxvdywgY29udGVudEVsZW1l
bnQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJB
TShuYW1lZEZsb3cpOwotICAgIFVOVVNFRF9QQVJBTShjb250ZW50RWxlbWVudCk7Ci0jZW5kaWYK
IH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjptb3VzZURpZE1vdmVP
dmVyRWxlbWVudChQYWdlJiBwYWdlLCBjb25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIHVuc2ln
bmVkIG1vZGlmaWVyRmxhZ3MpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JF
VFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2Up
KQogICAgICAgICBtb3VzZURpZE1vdmVPdmVyRWxlbWVudEltcGwoKmluc3RydW1lbnRpbmdBZ2Vu
dHMsIHJlc3VsdCwgbW9kaWZpZXJGbGFncyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdl
KTsKLSAgICBVTlVTRURfUEFSQU0ocmVzdWx0KTsKLSAgICBVTlVTRURfUEFSQU0obW9kaWZpZXJG
bGFncyk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpoYW5kbGVUb3VjaEV2ZW50KEZyYW1lJiBmcmFtZSwgTm9kZSYgbm9kZSkKIHsKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICByZXR1cm4gaGFuZGxlVG91Y2hF
dmVudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIG5vZGUpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShub2RlKTsKLSNlbmRpZgogICAgIHJldHVy
biBmYWxzZTsKIH0KIAogaW5saW5lIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYW5k
bGVNb3VzZVByZXNzKEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAgICAgaWYgKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJh
bWUoZnJhbWUpKQogICAgICAgICByZXR1cm4gaGFuZGxlTW91c2VQcmVzc0ltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCiBpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmZvcmNlUHNldWRvU3RhdGUoRWxlbWVudCYgZWxlbWVudCwgQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzVHlwZSBwc2V1ZG9TdGF0ZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhmYWxzZSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1l
bnQoZWxlbWVudC5kb2N1bWVudCgpKSkKICAgICAgICAgcmV0dXJuIGZvcmNlUHNldWRvU3RhdGVJ
bXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBlbGVtZW50LCBwc2V1ZG9TdGF0ZSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShlbGVtZW50KTsKLSAgICBVTlVTRURfUEFSQU0ocHNldWRvU3RhdGUp
OwotI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmNoYXJhY3RlckRhdGFNb2RpZmllZChEb2N1bWVudCYgZG9jdW1lbnQs
IENoYXJhY3RlckRhdGEmIGNoYXJhY3RlckRhdGEpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNG
b3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIGNoYXJhY3RlckRhdGFNb2RpZmllZEltcGwo
Kmluc3RydW1lbnRpbmdBZ2VudHMsIGNoYXJhY3RlckRhdGEpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oZG9jdW1lbnQpOwotICAgIFVOVVNFRF9QQVJBTShjaGFyYWN0ZXJEYXRhKTsKLSNlbmRp
ZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kWE1M
SHR0cFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5n
JiB1cmwpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAg
ICAgICB3aWxsU2VuZFhNTEh0dHBSZXF1ZXN0SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgdXJs
KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTSh1
cmwpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkSW5zdGFsbFRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludCB0aW1l
cklkLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgZGlkSW5zdGFsbFRpbWVySW1wbCgqaW5z
dHJ1bWVudGluZ0FnZW50cywgdGltZXJJZCwgdGltZW91dCwgc2luZ2xlU2hvdCwgY29udGV4dCk7
Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0odGlt
ZXJJZCk7Ci0gICAgVU5VU0VEX1BBUkFNKHRpbWVvdXQpOwotICAgIFVOVVNFRF9QQVJBTShzaW5n
bGVTaG90KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFJlbW92ZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludCB0
aW1lcklkKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9f
RlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAg
ICAgICAgZGlkUmVtb3ZlVGltZXJJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCB0aW1lcklkLCBj
b250ZXh0KTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9Q
QVJBTSh0aW1lcklkKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbENhbGxGdW5jdGlvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGlu
dCBzY3JpcHRMaW5lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5f
SUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpKTsKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICByZXR1cm4gd2lsbENhbGxGdW5j
dGlvbkltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIHNjcmlwdE5hbWUsIHNjcmlwdExpbmUsIGNv
bnRleHQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BB
UkFNKHNjcmlwdE5hbWUpOwotICAgIFVOVVNFRF9QQVJBTShzY3JpcHRMaW5lKTsKLSNlbmRpZgog
ICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KIAogCiBpbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENhbGxGdW5jdGlvbihjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJO
X0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQogICAg
ICAgICBkaWRDYWxsRnVuY3Rpb25JbXBsKGNvb2tpZSwgY29udGV4dCk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShjb29raWUpOwotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSNlbmRpZgog
fQogCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2ZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFhNTEh0dHBSZXF1ZXN0JiByZXF1ZXN0KQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNv
bnRleHQpKQogICAgICAgICByZXR1cm4gd2lsbERpc3BhdGNoWEhSUmVhZHlTdGF0ZUNoYW5nZUV2
ZW50SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgcmVxdWVzdCwgY29udGV4dCk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7Ci0j
ZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJSZWFk
eVN0YXRlQ2hhbmdlRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBj
b29raWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlk
RGlzcGF0Y2hYSFJSZWFkeVN0YXRlQ2hhbmdlRXZlbnRJbXBsKGNvb2tpZSk7Ci0jZWxzZQotICAg
IFVOVVNFRF9QQVJBTShjb29raWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hF
dmVudChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEV2ZW50JiBldmVudCwgYm9vbCBoYXNFdmVu
dExpc3RlbmVycykKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICByZXR1cm4gd2lsbERpc3BhdGNo
RXZlbnRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBkb2N1bWVudCwgZXZlbnQsIGhhc0V2ZW50
TGlzdGVuZXJzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKLSAgICBVTlVT
RURfUEFSQU0oZXZlbnQpOwotICAgIFVOVVNFRF9QQVJBTShoYXNFdmVudExpc3RlbmVycyk7Ci0j
ZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKIHsKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwog
ICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQogICAgICAgICBkaWREaXNwYXRjaEV2ZW50SW1wbChj
b29raWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29va2llKTsKLSNlbmRpZgogfQogCiBp
bmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbEhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEV2ZW50JiBldmVudCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAg
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIHdpbGxIYW5k
bGVFdmVudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGV2ZW50KTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShldmVudCk7Ci0jZW5kaWYKICAg
ICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSGFuZGxlRXZlbnQoY29uc3QgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29v
a2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlkSGFuZGxlRXZlbnRJbXBsKGNvb2tpZSk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShjb29raWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlz
cGF0Y2hFdmVudE9uV2luZG93KEZyYW1lKiBmcmFtZSwgY29uc3QgRXZlbnQmIGV2ZW50LCBET01X
aW5kb3cmIHdpbmRvdykKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJO
X0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICByZXR1cm4gd2lsbERpc3BhdGNoRXZl
bnRPbldpbmRvd0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGV2ZW50LCB3aW5kb3cpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShldmVudCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKHdpbmRvdyk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSYgY29va2llKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlk
KCkpCiAgICAgICAgIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29va2llKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxFdmFs
dWF0ZVNjcmlwdChGcmFtZSYgZnJhbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJl
cikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05U
RU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9y
RnJhbWUoZnJhbWUpKQogICAgICAgICByZXR1cm4gd2lsbEV2YWx1YXRlU2NyaXB0SW1wbCgqaW5z
dHJ1bWVudGluZ0FnZW50cywgZnJhbWUsIHVybCwgbGluZU51bWJlcik7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHVybCk7Ci0gICAgVU5VU0VEX1BB
UkFNKGxpbmVOdW1iZXIpOwotI2VuZGlmCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSgpOwogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZEV2YWx1YXRlU2NyaXB0KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYg
Y29va2llLCBGcmFtZSYgZnJhbWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNU
X1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQo
KSkKICAgICAgICAgZGlkRXZhbHVhdGVTY3JpcHRJbXBsKGNvb2tpZSwgZnJhbWUpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0oY29va2llKTsKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2Vu
ZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0c0Vu
YWJsZWQoUGFnZSYgcGFnZSwgYm9vbCBpc0VuYWJsZWQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICByZXR1cm4gc2NyaXB0c0VuYWJsZWRJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBpc0VuYWJsZWQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFn
ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGlzRW5hYmxlZCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxGaXJlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgaW50IHRpbWVySWQp
CiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVO
RFMoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNv
bnRleHQoY29udGV4dCkpCiAgICAgICAgIHJldHVybiB3aWxsRmlyZVRpbWVySW1wbCgqaW5zdHJ1
bWVudGluZ0FnZW50cywgdGltZXJJZCwgY29udGV4dCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0odGltZXJJZCk7Ci0jZW5kaWYKICAgICByZXR1
cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZVRpbWVyKGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
RkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1Zh
bGlkKCkpCiAgICAgICAgIGRpZEZpcmVUaW1lckltcGwoY29va2llKTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGNvb2tpZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlkYXRlTGF5b3V0KEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkp
OwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgZGlkSW52YWxpZGF0ZUxh
eW91dEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsKLSNlbHNlCi0gICAgVU5VU0VE
X1BBUkFNKGZyYW1lKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbExheW91dChGcmFtZSYgZnJh
bWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9O
VEVORFMoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckZyYW1lKGZyYW1lKSkKICAgICAgICAgcmV0dXJuIHdpbGxMYXlvdXRJbXBsKCppbnN0cnVtZW50
aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5k
aWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTGF5b3V0KGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCBSZW5kZXJPYmplY3QqIHJvb3QpCiB7
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMo
dm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlkTGF5b3V0SW1w
bChjb29raWUsIHJvb3QpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29va2llKTsKLSAgICBV
TlVTRURfUEFSQU0ocm9vdCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRTY3JvbGwoUGFnZSYgcGFnZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0Fn
ZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIGRpZFNjcm9sbEltcGwoKmluc3RydW1lbnRpbmdB
Z2VudHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0jZW5kaWYKIH0KIAogaW5s
aW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxEaXNwYXRjaFhIUkxvYWRFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBYTUxIdHRwUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgcmV0
dXJuIHdpbGxEaXNwYXRjaFhIUkxvYWRFdmVudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIHJl
cXVlc3QsIGNvbnRleHQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAg
VU5VU0VEX1BBUkFNKHJlcXVlc3QpOwotI2VuZGlmCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSgpOwogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSYgY29va2llKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9S
RVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkp
CiAgICAgICAgIGRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb29raWUpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oY29va2llKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludChSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZv
aWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMg
PSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUmVuZGVyZXIocmVuZGVyZXIpKQogICAgICAgICByZXR1
cm4gd2lsbFBhaW50SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgcmVuZGVyZXIpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0ocmVuZGVyZXIpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwg
Y29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclJlbmRl
cmVyKHJlbmRlcmVyKSkKICAgICAgICAgZGlkUGFpbnRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRz
LCByZW5kZXJlciwgcmVjdCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShyZW5kZXJlcik7Ci0g
ICAgVU5VU0VEX1BBUkFNKHJlY3QpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbFNjcm9sbExheWVyKEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkp
OwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgd2lsbFNjcm9sbExheWVy
SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0oZnJhbWUpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkU2Nyb2xsTGF5ZXIoRnJhbWUmIGZyYW1lKQogewotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkaWRTY3JvbGxMYXllckltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiB9
CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsUmVjYWxjdWxhdGVTdHlsZShEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50
KGRvY3VtZW50KSkKICAgICAgICAgcmV0dXJuIHdpbGxSZWNhbGN1bGF0ZVN0eWxlSW1wbCgqaW5z
dHJ1bWVudGluZ0FnZW50cywgZG9jdW1lbnQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9j
dW1lbnQpOwotI2VuZGlmCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSgpOwogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2Fs
Y3VsYXRlU3R5bGUoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUp
CiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVO
RFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKICAgICAgICAgZGlkUmVjYWxj
dWxhdGVTdHlsZUltcGwoY29va2llKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7
Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRT
Y2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQpCiB7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIGRpZFNjaGVkdWxl
U3R5bGVSZWNhbGN1bGF0aW9uSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZG9jdW1lbnQpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlFbXVsYXRlZE1lZGlhKEZyYW1lJiBm
cmFtZSwgU3RyaW5nJiBtZWRpYSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1Rf
UkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZy
YW1lKSkKICAgICAgICAgYXBwbHlFbXVsYXRlZE1lZGlhSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50
cywgbWVkaWEpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9Q
QVJBTShtZWRpYSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsU2VuZFJlcXVlc3QoRnJhbWUqIGZyYW1lLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgd2lsbFNl
bmRSZXF1ZXN0SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllciwgbG9hZGVyLCBy
ZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1l
KTsKLSAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRl
cik7Ci0gICAgVU5VU0VEX1BBUkFNKHJlcXVlc3QpOwotICAgIFVOVVNFRF9QQVJBTShyZWRpcmVj
dFJlc3BvbnNlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmNvbnRpbnVlQWZ0ZXJQaW5nTG9hZGVyKEZyYW1lJiBmcmFtZSwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoJmZyYW1lKSkKICAgICAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyUGluZ0xvYWRlckltcGwoKmluc3RydW1l
bnRpbmdBZ2VudHMsIGlkZW50aWZpZXIsIGxvYWRlciwgcmVxdWVzdCwgcmVzcG9uc2UpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVy
KTsKLSAgICBVTlVTRURfUEFSQU0obG9hZGVyKTsKLSAgICBVTlVTRURfUEFSQU0ocmVxdWVzdCk7
Ci0gICAgVU5VU0VEX1BBUkFNKHJlc3BvbnNlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKFBhZ2UmIHBhZ2Us
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIG1hcmtSZXNvdXJjZUFzQ2FjaGVkSW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cywgaWRlbnRpZmllcik7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7Ci0jZW5kaWYKIH0KIAog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRMb2FkUmVzb3VyY2VGcm9t
TWVtb3J5Q2FjaGUoUGFnZSYgcGFnZSwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yUGFnZShwYWdlKSkKICAgICAgICAgZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlSW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cywgbG9hZGVyLCByZXNvdXJjZSk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0obG9hZGVyKTsKLSAgICBVTlVTRURf
UEFSQU0ocmVzb3VyY2UpOwotI2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNl
UmVzcG9uc2UoRnJhbWUqIGZyYW1lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICByZXR1cm4gd2lsbFJlY2VpdmVSZXNvdXJj
ZVJlc3BvbnNlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShmcmFtZSk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
UmVjZWl2ZVJlc291cmNlUmVzcG9uc2UoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llJiBjb29raWUsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFJlc291cmNlTG9hZGVyKiBy
ZXNvdXJjZUxvYWRlcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIC8vIENhbGwgdGhp
cyB1bmNvbmRpdGlvbmFsbHkgc28gdGhhdCB3ZSdyZSBhYmxlIHRvIGxvZyB0byBjb25zb2xlIHdp
dGggbm8gZnJvbnQtZW5kIGF0dGFjaGVkLgogICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQogICAg
ICAgICBkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwoY29va2llLCBpZGVudGlmaWVyLCBs
b2FkZXIsIHJlc3BvbnNlLCByZXNvdXJjZUxvYWRlcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShjb29raWUpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFS
QU0obG9hZGVyKTsKLSAgICBVTlVTRURfUEFSQU0ocmVzcG9uc2UpOwotICAgIFVOVVNFRF9QQVJB
TShyZXNvdXJjZUxvYWRlcik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjb250aW51ZUFmdGVyWEZyYW1lT3B0aW9uc0RlbmllZChGcmFtZSogZnJh
bWUsIERvY3VtZW50TG9hZGVyJiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6Y29udGludWVBZnRlclhGcmFtZU9wdGlvbnNEZW5pZWRJbXBsKGZyYW1lLCBsb2Fk
ZXIsIGlkZW50aWZpZXIsIHIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAg
IFVOVVNFRF9QQVJBTShsb2FkZXIpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAg
ICBVTlVTRURfUEFSQU0ocik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjb250aW51ZVdpdGhQb2xpY3lEb3dubG9hZChGcmFtZSogZnJhbWUsIERv
Y3VtZW50TG9hZGVyJiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6Y29udGludWVXaXRoUG9saWN5RG93bmxvYWRJbXBsKGZyYW1lLCBsb2FkZXIsIGlkZW50aWZp
ZXIsIHIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJB
TShsb2FkZXIpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFS
QU0ocik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojpjb250aW51ZVdpdGhQb2xpY3lJZ25vcmUoRnJhbWUqIGZyYW1lLCBEb2N1bWVudExvYWRlciYg
bG9hZGVyLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHIpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9O
VEVORFModm9pZCgpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlV2l0
aFBvbGljeUlnbm9yZUltcGwoZnJhbWUsIGxvYWRlciwgaWRlbnRpZmllciwgcik7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7Ci0gICAg
VU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShyKTsKLSNlbmRpZgog
fQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVEYXRh
KEZyYW1lKiBmcmFtZSwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBkYXRh
LCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkaWRSZWNl
aXZlRGF0YUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIsIGRhdGEsIGRhdGFM
ZW5ndGgsIGVuY29kZWREYXRhTGVuZ3RoKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyYW1l
KTsKLSAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGRhdGEp
OwotICAgIFVOVVNFRF9QQVJBTShkYXRhTGVuZ3RoKTsKLSAgICBVTlVTRURfUEFSQU0oZW5jb2Rl
ZERhdGFMZW5ndGgpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRmluaXNoTG9hZGluZyhGcmFtZSogZnJhbWUsIERvY3VtZW50TG9hZGVyKiBs
b2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAg
ICAgIGRpZEZpbmlzaExvYWRpbmdJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVy
LCBsb2FkZXIsIGZpbmlzaFRpbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwot
ICAgIFVOVVNFRF9QQVJBTShsb2FkZXIpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsK
LSAgICBVTlVTRURfUEFSQU0oZmluaXNoVGltZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9hZGluZyhGcmFtZSogZnJhbWUsIERv
Y3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VFcnJvciYgZXJyb3IpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGRpZEZhaWxMb2FkaW5nSW1wbCgqaW5zdHJ1bWVu
dGluZ0FnZW50cywgaWRlbnRpZmllciwgbG9hZGVyLCBlcnJvcik7Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7Ci0gICAgVU5VU0VEX1BB
UkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShlcnJvcik7Ci0jZW5kaWYKIH0KIAog
aW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkb2N1bWVudFRocmVhZGFibGVM
b2FkZXJTdGFydGVkTG9hZGluZ0ZvckNsaWVudChEb2N1bWVudCYgZG9jdW1lbnQsIHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50KQogewotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQog
ICAgICAgICBkb2N1bWVudFRocmVhZGFibGVMb2FkZXJTdGFydGVkTG9hZGluZ0ZvckNsaWVudElt
cGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIsIGNsaWVudCk7Ci0jZWxzZQotICAg
IFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwot
ICAgIFVOVVNFRF9QQVJBTShjbGllbnQpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbExvYWRYSFIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIG1l
dGhvZCwgY29uc3QgVVJMJiB1cmwsIGJvb2wgYXN5bmMsIFJlZlB0cjxGb3JtRGF0YT4mJiBmb3Jt
RGF0YSwgY29uc3QgSFRUUEhlYWRlck1hcCYgaGVhZGVycywgYm9vbCBpbmNsdWRlQ3JlZGVudGlh
bHMpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNv
bnRleHQpKQogICAgICAgICB3aWxsTG9hZFhIUkltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGNs
aWVudCwgbWV0aG9kLCB1cmwsIGFzeW5jLCBXVEY6Om1vdmUoZm9ybURhdGEpLCBoZWFkZXJzLCBp
bmNsdWRlQ3JlZGVudGlhbHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0g
ICAgVU5VU0VEX1BBUkFNKGNsaWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKG1ldGhvZCk7Ci0gICAg
VU5VU0VEX1BBUkFNKHVybCk7Ci0gICAgVU5VU0VEX1BBUkFNKGFzeW5jKTsKLSAgICBVTlVTRURf
UEFSQU0oZm9ybURhdGEpOwotICAgIFVOVVNFRF9QQVJBTShoZWFkZXJzKTsKLSAgICBVTlVTRURf
UEFSQU0oaW5jbHVkZUNyZWRlbnRpYWxzKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxYSFJMb2FkaW5nKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAg
ICAgIGRpZEZhaWxYSFJMb2FkaW5nSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgY2xpZW50KTsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShjbGll
bnQpOwotI2VuZGlmCiB9CiAKIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRGaW5pc2hYSFJMb2FkaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZywgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgc2VuZFVSTCwgdW5zaWduZWQgc2VuZExpbmVOdW1iZXIsIHVuc2lnbmVkIHNlbmRDb2x1bW5O
dW1iZXIpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0
KGNvbnRleHQpKQogICAgICAgICBkaWRGaW5pc2hYSFJMb2FkaW5nSW1wbCgqaW5zdHJ1bWVudGlu
Z0FnZW50cywgY2xpZW50LCBpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcsIHVybCwgc2VuZFVSTCwg
c2VuZExpbmVOdW1iZXIsIHNlbmRDb2x1bW5OdW1iZXIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNsaWVudCk7Ci0gICAgVU5VU0VEX1BBUkFN
KGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShzb3VyY2VTdHJpbmcpOwotICAgIFVOVVNF
RF9QQVJBTSh1cmwpOwotICAgIFVOVVNFRF9QQVJBTShzZW5kVVJMKTsKLSAgICBVTlVTRURfUEFS
QU0oc2VuZExpbmVOdW1iZXIpOwotICAgIFVOVVNFRF9QQVJBTShzZW5kQ29sdW1uTnVtYmVyKTsK
LSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJl
Y2VpdmVYSFJSZXNwb25zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCB1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICBkaWRSZWNlaXZlWEhSUmVzcG9uc2VJbXBs
KCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKGNvbnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSNlbmRpZgogfQog
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxMb2FkWEhSU3luY2hy
b25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgd2ls
bExvYWRYSFJTeW5jaHJvbm91c2x5SW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExvYWRYSFJTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdB
Z2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICBkaWRMb2FkWEhSU3luY2hyb25vdXNs
eUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29u
dGV4dCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpzY3JpcHRJbXBvcnRlZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCB1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlU3RyaW5nKQogewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAg
ICAgc2NyaXB0SW1wb3J0ZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBz
b3VyY2VTdHJpbmcpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5V
U0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShzb3VyY2VTdHJpbmcpOwot
I2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0
RXhlY3V0aW9uQmxvY2tlZEJ5Q1NQKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkJs
b2NrZWRCeUNTUEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGRpcmVjdGl2ZVRleHQpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGRpcmVjdGl2
ZVRleHQpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVNjcmlwdFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1
bWVudGluZ0FnZW50c0ZvckNvbnRleHQoY29udGV4dCkpCiAgICAgICAgIGRpZFJlY2VpdmVTY3Jp
cHRSZXNwb25zZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIp
OwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZG9t
Q29udGVudExvYWRlZEV2ZW50RmlyZWQoRnJhbWUmIGZyYW1lKQogewotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMg
PSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAgICAgICBkb21Db250ZW50
TG9hZGVkRXZlbnRGaXJlZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmxvYWRFdmVudEZpcmVkKEZyYW1lKiBmcmFtZSkKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAg
ICAgbG9hZEV2ZW50RmlyZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZURldGFjaGVkRnJvbVBhcmVudChGcmFtZSYgZnJh
bWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFt
ZSkpCiAgICAgICAgIGZyYW1lRGV0YWNoZWRGcm9tUGFyZW50SW1wbCgqaW5zdHJ1bWVudGluZ0Fn
ZW50cywgZnJhbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2VuZGlmCiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ29tbWl0TG9hZChG
cmFtZSYgZnJhbWUsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiB7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCiAgICAgICAgIGRpZENvbW1pdExv
YWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZS5wYWdlKCksIGxvYWRlcik7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGxvYWRlcik7Ci0j
ZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZURv
Y3VtZW50VXBkYXRlZChGcmFtZSogZnJhbWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JG
cmFtZShmcmFtZSkpCiAgICAgICAgIGZyYW1lRG9jdW1lbnRVcGRhdGVkSW1wbCgqaW5zdHJ1bWVu
dGluZ0FnZW50cywgZnJhbWUpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotI2Vu
ZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bG9hZGVyRGV0
YWNoZWRGcm9tRnJhbWUoRnJhbWUmIGZyYW1lLCBEb2N1bWVudExvYWRlciYgbG9hZGVyKQogewot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQogICAg
ICAgICBsb2FkZXJEZXRhY2hlZEZyb21GcmFtZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGxv
YWRlcik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFN
KGxvYWRlcik7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpmcmFtZVN0YXJ0ZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKCZmcmFtZSkpCiAgICAgICAgIGZyYW1lU3Rh
cnRlZExvYWRpbmdJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxzZQotICAg
IFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0b3BwZWRMb2FkaW5nKEZyYW1lJiBmcmFtZSkKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKCZmcmFtZSkpCiAgICAg
ICAgIGZyYW1lU3RvcHBlZExvYWRpbmdJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7
Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24oRnJh
bWUmIGZyYW1lLCBkb3VibGUgZGVsYXkpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JGcmFtZSgmZnJhbWUpKQogICAgICAgICBmcmFtZVNjaGVkdWxlZE5hdmlnYXRp
b25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSwgZGVsYXkpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShkZWxheSk7Ci0jZW5kaWYKIH0K
IAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZUNsZWFyZWRTY2hl
ZHVsZWROYXZpZ2F0aW9uKEZyYW1lJiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1
bWVudGluZ0FnZW50c0ZvckZyYW1lKCZmcmFtZSkpCiAgICAgICAgIGZyYW1lQ2xlYXJlZFNjaGVk
dWxlZE5hdmlnYXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSdW5KYXZh
U2NyaXB0RGlhbG9nKFBhZ2UmIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkK
ICAgICAgICAgcmV0dXJuIHdpbGxSdW5KYXZhU2NyaXB0RGlhbG9nSW1wbCgqaW5zdHJ1bWVudGlu
Z0FnZW50cywgbWVzc2FnZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBV
TlVTRURfUEFSQU0obWVzc2FnZSk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkUnVuSmF2YVNjcmlwdERpYWxvZyhjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmIGNvb2tpZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQog
ICAgICAgICBkaWRSdW5KYXZhU2NyaXB0RGlhbG9nSW1wbChjb29raWUpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0oY29va2llKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2Um
IGNhY2hlZFJlc291cmNlKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRV
Uk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJj
ZUltcGwoY2FjaGVkUmVzb3VyY2UpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oY2FjaGVkUmVz
b3VyY2UpOwotI2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MKERvY3VtZW50KiBkb2N1
bWVudCwgdW5zaWduZWQgc3RhcnRMaW5lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
RkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9
IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIHJldHVy
biB3aWxsV3JpdGVIVE1MSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhcnRMaW5lLCBkb2N1
bWVudC0+ZnJhbWUoKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAg
VU5VU0VEX1BBUkFNKHN0YXJ0TGluZSk7Ci0jZW5kaWYKICAgICByZXR1cm4gSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkV3JpdGVIVE1MKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSYgY29va2llLCB1bnNpZ25lZCBlbmRMaW5lKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5p
c1ZhbGlkKCkpCiAgICAgICAgIGRpZFdyaXRlSFRNTEltcGwoY29va2llLCBlbmRMaW5lKTsKLSNl
bHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGVuZExpbmUp
OwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RGlzcGF0Y2hET01TdG9yYWdlRXZlbnQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYg
b2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIFN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBl
LCBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIFBhZ2UqIHBhZ2UpCiB7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBkaWREaXNwYXRjaERPTVN0b3Jh
Z2VFdmVudEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGtleSwgb2xkVmFsdWUsIG5ld1ZhbHVl
LCBzdG9yYWdlVHlwZSwgc2VjdXJpdHlPcmlnaW4sIHBhZ2UpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oa2V5KTsKLSAgICBVTlVTRURfUEFSQU0ob2xkVmFsdWUpOwotICAgIFVOVVNFRF9QQVJB
TShuZXdWYWx1ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHN0b3JhZ2VUeXBlKTsKLSAgICBVTlVTRURf
UEFSQU0oc2VjdXJpdHlPcmlnaW4pOwotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQogfQogCiBpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnNob3VsZFBhdXNlRGVkaWNhdGVkV29ya2VyT25TdGFydChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRV
Uk5fSUZfTk9fRlJPTlRFTkRTKGZhbHNlKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRl
eHQpKQogICAgICAgICByZXR1cm4gc2hvdWxkUGF1c2VEZWRpY2F0ZWRXb3JrZXJPblN0YXJ0SW1w
bCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb250ZXh0
KTsKLSNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckdsb2JhbFNjb3BlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFdvcmtlckdsb2JhbFNjb3BlUHJveHkqIHByb3h5LCBjb25zdCBV
UkwmIHVybCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckNvbnRl
eHQoY29udGV4dCkpCiAgICAgICAgIGRpZFN0YXJ0V29ya2VyR2xvYmFsU2NvcGVJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBwcm94eSwgdXJsKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNv
bnRleHQpOwotICAgIFVOVVNFRF9QQVJBTShwcm94eSk7Ci0gICAgVU5VU0VEX1BBUkFNKHVybCk7
Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3b3Jr
ZXJHbG9iYWxTY29wZVRlcm1pbmF0ZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
V29ya2VyR2xvYmFsU2NvcGVQcm94eSogcHJveHkpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3Ry
dW1lbnRpbmdBZ2VudHNGb3JDb250ZXh0KGNvbnRleHQpKQogICAgICAgICB3b3JrZXJHbG9iYWxT
Y29wZVRlcm1pbmF0ZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBwcm94eSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBVTlVTRURfUEFSQU0ocHJveHkpOwotI2Vu
ZGlmCiB9CiAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZENyZWF0ZVdlYlNvY2tldChEb2N1bWVudCogZG9jdW1lbnQsIHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgVVJMJiByZXF1ZXN0VVJMLCBjb25zdCBVUkwm
IGRvY3VtZW50VVJMLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogewotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMg
PSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRD
cmVhdGVXZWJTb2NrZXRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCByZXF1
ZXN0VVJMLCBkb2N1bWVudFVSTCwgcHJvdG9jb2wsIGRvY3VtZW50KTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGRvY3VtZW50KTsKLSAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7Ci0gICAg
VU5VU0VEX1BBUkFNKHJlcXVlc3RVUkwpOwotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudFVSTCk7
Ci0gICAgVU5VU0VEX1BBUkFNKHByb3RvY29sKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVz
dChEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICB3aWxsU2VuZFdlYlNvY2tldEhh
bmRzaGFrZVJlcXVlc3RJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCByZXF1
ZXN0LCBkb2N1bWVudCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAg
VU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShyZXF1ZXN0KTsKLSNl
bmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2Vp
dmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZShEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkp
CiAgICAgICAgIGRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZUltcGwoKmluc3Ry
dW1lbnRpbmdBZ2VudHMsIGlkZW50aWZpZXIsIHJlc3BvbnNlLCBkb2N1bWVudCk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIp
OwotICAgIFVOVVNFRF9QQVJBTShyZXNwb25zZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDbG9zZVdlYlNvY2tldChEb2N1bWVudCogZG9j
dW1lbnQsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkQ2xvc2VX
ZWJTb2NrZXRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVudGlmaWVyLCBkb2N1bWVudCk7
Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGlk
ZW50aWZpZXIpOwotI2VuZGlmCiB9CisKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lKERvY3VtZW50KiBkb2N1bWVudCwgdW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2NrZXRGcmFtZSYgZnJhbWUpCiB7Ci0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAg
ICAgICAgIGRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMs
IGlkZW50aWZpZXIsIGZyYW1lKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsK
LSAgICBVTlVTRURfUEFSQU0oaWRlbnRpZmllcik7Ci0gICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsK
LSNlbmRpZgogfQorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJl
Y2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKERvY3VtZW50KiBkb2N1bWVudCwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKICAgICAgICAg
ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3JJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBp
ZGVudGlmaWVyLCBlcnJvck1lc3NhZ2UpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1l
bnQpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURfUEFSQU0oZXJy
b3JNZXNzYWdlKTsKLSNlbmRpZgogfQorCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZFNlbmRXZWJTb2NrZXRGcmFtZShEb2N1bWVudCogZG9jdW1lbnQsIHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViU29ja2V0RnJhbWUmIGZyYW1lKQogewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAg
ICAgICBkaWRTZW5kV2ViU29ja2V0RnJhbWVJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBpZGVu
dGlmaWVyLCBmcmFtZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAg
VU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwotICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7Ci0jZW5k
aWYKIH0KLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShXRUJfU09DS0VUUykKIAogI2lmIEVOQUJM
RShXRUJfUkVQTEFZKQogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXNz
aW9uQ3JlYXRlZChQYWdlJiBwYWdlLCBSZWZQdHI8UmVwbGF5U2Vzc2lvbj4mJiBzZXNzaW9uKQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRT
KHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgc2Vzc2lvbkNy
ZWF0ZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBXVEY6Om1vdmUoc2Vzc2lvbikpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHNlc3Npb24pOwot
I2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2Vzc2lv
bkxvYWRlZChQYWdlJiBwYWdlLCBSZWZQdHI8UmVwbGF5U2Vzc2lvbj4mJiBzZXNzaW9uKQogewot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZv
aWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMg
PSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgc2Vzc2lvbkxvYWRl
ZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIFdURjo6bW92ZShzZXNzaW9uKSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbik7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZXNzaW9uTW9k
aWZpZWQoUGFnZSYgcGFnZSwgUmVmUHRyPFJlcGxheVNlc3Npb24+JiYgc2Vzc2lvbikKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lk
KCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHNlc3Npb25Nb2RpZmll
ZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIFdURjo6bW92ZShzZXNzaW9uKSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbik7Ci0jZW5k
aWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzZWdtZW50Q3Jl
YXRlZChQYWdlJiBwYWdlLCBSZWZQdHI8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+JiYgc2VnbWVudCkK
IHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHNlZ21lbnRD
cmVhdGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgV1RGOjptb3ZlKHNlZ21lbnQpKTsKLSNl
bHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotICAgIFVOVVNFRF9QQVJBTShzZWdtZW50KTsK
LSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNlZ21l
bnRDb21wbGV0ZWQoUGFnZSYgcGFnZSwgUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiYmIHNl
Z21lbnQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAgICBz
ZWdtZW50Q29tcGxldGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgV1RGOjptb3ZlKHNlZ21l
bnQpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotICAgIFVOVVNFRF9QQVJBTShz
ZWdtZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OnNlZ21lbnRMb2FkZWQoUGFnZSYgcGFnZSwgUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50
PiYmIHNlZ21lbnQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9J
Rl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAg
ICAgICBzZWdtZW50TG9hZGVkSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgV1RGOjptb3ZlKHNl
Z21lbnQpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotICAgIFVOVVNFRF9QQVJB
TShzZWdtZW50KTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OnNlZ21lbnRVbmxvYWRlZChQYWdlJiBwYWdlKQogewotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdl
bnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgc2VnbWVudFVubG9hZGVkSW1wbCgqaW5zdHJ1bWVu
dGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSNlbmRpZgogfQog
CiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNhcHR1cmVTdGFydGVkKFBh
Z2UmIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQogICAgICAg
ICBjYXB0dXJlU3RhcnRlZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0ocGFnZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjYXB0dXJlU3RvcHBlZChQYWdlJiBwYWdlKQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAg
aWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50
aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgY2FwdHVyZVN0b3BwZWRJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotI2VuZGlm
CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cGxheWJhY2tTdGFy
dGVkKFBhZ2UmIHBhZ2UpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVS
Tl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQog
ICAgICAgICBwbGF5YmFja1N0YXJ0ZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6cGxheWJhY2tQYXVzZWQoUGFnZSYgcGFnZSwgY29uc3QgUmVw
bGF5UG9zaXRpb24mIHBvc2l0aW9uKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShw
YWdlKSkKICAgICAgICAgcGxheWJhY2tQYXVzZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBw
b3NpdGlvbik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFS
QU0ocG9zaXRpb24pOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6cGxheWJhY2tGaW5pc2hlZChQYWdlJiBwYWdlKQogewotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgcGxheWJhY2tGaW5pc2hlZEltcGwoKmluc3Ry
dW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0jZW5kaWYK
IH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpwbGF5YmFja0hpdFBv
c2l0aW9uKFBhZ2UmIHBhZ2UsIGNvbnN0IFJlcGxheVBvc2l0aW9uJiBwb3NpdGlvbikKIHsKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lk
KCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHBsYXliYWNrSGl0UG9z
aXRpb25JbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBwb3NpdGlvbik7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShwYWdlKTsKLSAgICBVTlVTRURfUEFSQU0ocG9zaXRpb24pOwotI2VuZGlmCiB9
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkpCiAKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6bmV0d29ya1N0YXRlQ2hhbmdlZChQYWdlKiBwYWdlKQogewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7
CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0
cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgbmV0d29ya1N0YXRlQ2hhbmdl
ZEltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFn
ZSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp1
cGRhdGVBcHBsaWNhdGlvbkNhY2hlU3RhdHVzKEZyYW1lKiBmcmFtZSkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAg
IGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVu
dGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgdXBkYXRlQXBwbGljYXRpb25DYWNo
ZVN0YXR1c0ltcGwoKmluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGZyYW1lKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZFJlcXVlc3RBbmltYXRpb25GcmFtZShEb2N1bWVudCogZG9jdW1lbnQs
IGludCBjYWxsYmFja0lkKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yRG9jdW1lbnQoZG9jdW1lbnQpKQogICAgICAgICBkaWRSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJ
bXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBjYWxsYmFja0lkLCBkb2N1bWVudC0+ZnJhbWUoKSk7
Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNh
bGxiYWNrSWQpOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkQ2FuY2VsQW5pbWF0aW9uRnJhbWUoRG9jdW1lbnQqIGRvY3VtZW50LCBpbnQgY2Fs
bGJhY2tJZCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3Vt
ZW50KGRvY3VtZW50KSkKICAgICAgICAgZGlkQ2FuY2VsQW5pbWF0aW9uRnJhbWVJbXBsKCppbnN0
cnVtZW50aW5nQWdlbnRzLCBjYWxsYmFja0lkLCBkb2N1bWVudC0+ZnJhbWUoKSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrSWQp
OwotI2VuZGlmCiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKERvY3VtZW50KiBk
b2N1bWVudCwgaW50IGNhbGxiYWNrSWQpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBp
ZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRp
bmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCiAgICAgICAgIHJldHVybiB3aWxsRmlyZUFu
aW1hdGlvbkZyYW1lSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgY2FsbGJhY2tJZCwgZG9jdW1l
bnQtPmZyYW1lKCkpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwotICAgIFVO
VVNFRF9QQVJBTShjYWxsYmFja0lkKTsKLSNlbmRpZgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUoKTsKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJhbWUoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llJiBjb29raWUpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JF
VFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkK
ICAgICAgICAgZGlkRmlyZUFuaW1hdGlvbkZyYW1lSW1wbChjb29raWUpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0oY29va2llKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmxheWVyVHJlZURpZENoYW5nZShQYWdlKiBwYWdlKQogewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKICAgICAgICAgbGF5
ZXJUcmVlRGlkQ2hhbmdlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cyk7Ci0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShwYWdlKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnJlbmRlckxheWVyRGVzdHJveWVkKFBhZ2UqIHBhZ2UsIGNvbnN0IFJlbmRl
ckxheWVyJiByZW5kZXJMYXllcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0Fn
ZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHJlbmRlckxheWVyRGVzdHJveWVkSW1wbCgqaW5z
dHJ1bWVudGluZ0FnZW50cywgcmVuZGVyTGF5ZXIpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
cGFnZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHJlbmRlckxheWVyKTsKLSNlbmRpZgogfQogCiBpbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnBzZXVkb0VsZW1lbnREZXN0cm95ZWQo
UGFnZSogcGFnZSwgUHNldWRvRWxlbWVudCYgcHNldWRvRWxlbWVudCkKIHsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCiAgICAgICAgIHBzZXVkb0Vs
ZW1lbnREZXN0cm95ZWRJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCBwc2V1ZG9FbGVtZW50KTsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotICAgIFVOVVNFRF9QQVJBTShwc2V1ZG9F
bGVtZW50KTsKLSNlbmRpZgogfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKIGlubGluZSBJbnN0
cnVtZW50aW5nQWdlbnRzKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdB
Z2VudHNGb3JDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAg
aWYgKCFjb250ZXh0KQpAQCAtMjAyNSw3ICsxMzYyLDYgQEAgaW5saW5lIEluc3RydW1lbnRpbmdB
Z2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRv
Y3UKICNlbmRpZgogICAgIHJldHVybiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKTsK
IH0KLSNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCmluZGV4IDQ1NTVk
YjIxMzUzYjZmMTY3YTc4MzE1OGVlNWViZjNlNGNmNjljYzUuLmM1OTAyYmE3NzdiMDM2MGUxMDFi
N2E1ZjAxZWJhMjgyODU1NmMzOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcApAQCAtMjksOSArMjksNiBAQAogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
ICJJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIgogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdl
bnQuaCIKQEAgLTM2MSw1ICszNTgsMyBAQCB2b2lkIEluc3BlY3RvckxheWVyVHJlZUFnZW50Ojp1
bmJpbmRQc2V1ZG9FbGVtZW50KFBzZXVkb0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQpCiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCmlu
ZGV4IDI3NGUyM2VmNGM4ODAzOWMzMzU2ZjQwMmY5YmMxZDVjMDdiMmEyNTMuLjE2NmU5YTYxOGYx
NWMzNTFhMDkyYTJmMGFjZmMzZDQwM2EwYjdjY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oCkBAIC0yOSw4ICsyOSw2IEBACiAj
aWZuZGVmIEluc3BlY3RvckxheWVyVHJlZUFnZW50X2gKICNkZWZpbmUgSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnRfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3Rv
cldlYkFnZW50QmFzZS5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRj
aGVycy5oPgpAQCAtOTUsNiArOTMsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQo
SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCBmZDJmY2RkNjgyMmNhYmE2YTM2ZTMyNDkyYWFiODU3
NzY3M2Y4YzIyLi4yODJhMTYwMzc4NmM2Mzc4MDVkMjIzM2IwN2UxNzY5OTkzYzc5NTUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC0yNyw4
ICsyNyw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmgiCiAKICNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgpAQCAtOTAzLDUgKzkwMSwzIEBAIHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6ZnJl
ZVBhZ2UoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFn
ZW50LmNwcAppbmRleCA0YmQzMDQzMjBhNzNmNGRkNWVmMTIwN2RkMjFlNWZlNWVkZjc1M2I4Li5m
ZDczM2Q2NTY3Zjc3OGE2ZDBiNGExZGY2M2E2ODBjMDJmZDc0N2ViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMzEsOCArMzEsNiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkNhY2hlZENTU1N0eWxlU2hlZXQu
aCIKICNpbmNsdWRlICJDYWNoZWRGb250LmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKQEAg
LTEwNzQsNSArMTA3MiwzIEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjphcmNoaXZlKEVycm9y
U3RyaW5nJiBlcnJvclN0cmluZywgU3RyaW5nKiBkYXRhKQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IGJmMjY0YTdkMjhmMzEzM2ZkOWQy
MmE2ZGU4MGY2ZDFjYjJiNDM5ZjYuLmJmZDU3NzUxNzcwY2U3NjBiZDdjY2QzODlhYTJiY2RkNTQw
NTdlMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmgKQEAgLTMxLDggKzMxLDYgQEAKICNpZm5kZWYgSW5zcGVjdG9yUGFnZUFnZW50X2gKICNkZWZp
bmUgSW5zcGVjdG9yUGFnZUFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVjdC5oIgpAQCAtMTkxLDYgKzE4OSw0IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JQYWdlckFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcAppbmRleCAwNjEwNWQ1MGNjZjgy
YzNiZWI5M2Q0ZDU1NGRmYTQ0NDU3MzBjMTFmLi42ZWNkN2MwZmJlZmI1MmQ2MGJlYjEyZWQxYmMy
MjliMDlmMGZmOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUmVwbGF5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSZXBsYXlBZ2VudC5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JSZXBsYXlBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikgJiYgRU5BQkxFKFdFQl9SRVBMQVkpCisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNs
dWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC01MDksNCArNTA5
LDQgQEAgdm9pZCBJbnNwZWN0b3JSZXBsYXlBZ2VudDo6Z2V0U2VnbWVudERhdGEoRXJyb3JTdHJp
bmcmIGVycm9yU3RyaW5nLCBJbnNwZWN0b3I6OlAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQl9SRVBMQVkpCisjZW5k
aWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSZXBsYXlBZ2VudC5oCmluZGV4IDExZjJhOTQxOWUyNGRlZTM5ZDI2MTdmNWQxZGQ2
NWU1Y2I5MDk5MWYuLjM2MzJjNGY0MTNlNGNmMmQwYzM0OWUyZmMyZTIzN2I1MWQwYzEyMzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5oCkBA
IC0yOCw3ICsyOCw3IEBACiAjaWZuZGVmIEluc3BlY3RvclJlcGxheUFnZW50X2gKICNkZWZpbmUg
SW5zcGVjdG9yUmVwbGF5QWdlbnRfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxF
KFdFQl9SRVBMQVkpCisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlICJJbnNwZWN0
b3JXZWJBZ2VudEJhc2UuaCIKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzLmg+CkBAIC0xMjQsNiArMTI0LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKFdFQl9S
RVBMQVkpCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNlbmRpZiAvLyBJbnNwZWN0
b3JSZXBsYXlBZ2VudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggNGNlZmU0YWY3YTdhMWY3OTYwOTIwNmE3YWQyYjMx
OTlhYmI2Zjg2NS4uNWUxNjZiY2E4ODk4MDE5M2Y3MWQzYmY3YjUzMDEyYjc3YTczYzE5YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50
LmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklu
c3BlY3RvclJlc291cmNlQWdlbnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKQEAgLTc5Niw1ICs3OTQsMyBAQCB2b2lk
IEluc3BlY3RvclJlc291cmNlQWdlbnQ6Om1haW5GcmFtZU5hdmlnYXRlZChEb2N1bWVudExvYWRl
ciYgbG9hZGVyKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFC
TEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JS
ZXNvdXJjZUFnZW50LmgKaW5kZXggNzAwY2YzNTg2NDAxYWQ5YTIzOGZiYzM1ZWYzNDVhYzA4Yzcx
MTM2Zi4uZTg0NjU5MWIxZDRmNTI5MTIzMDI3YzBjYWE1YzY3Nzk1OTdkM2QxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCkBAIC0z
OSw4ICszOSw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogbmFtZXNwYWNlIEluc3Bl
Y3RvciB7CiBjbGFzcyBJbnNwZWN0b3JBcnJheTsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKQEAg
LTE1OSw2ICsxNTcsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclN0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clN0eWxlU2hlZXQuY3BwCmluZGV4IGE0M2EzMDRiMDA1OGM5ODJkMjJlZmZlNjdkNDFlZDdiY2E5
MjhhMDkuLmFlMzdkNmRiNTlkN2Q3ZWRmZDRiYTJhN2QwNThhMTBhYjVhMzRlNjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKQEAgLTIz
LDkgKzIzLDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVTaGVldC5oIgogCiAjaW5jbHVkZSAi
Q1NTSW1wb3J0UnVsZS5oIgpAQCAtMTU3MSw1ICsxNTY4LDMgQEAgYm9vbCBJbnNwZWN0b3JTdHls
ZVNoZWV0Rm9ySW5saW5lU3R5bGU6OmdldFN0eWxlQXR0cmlidXRlUmFuZ2VzKENTU1J1bGVTb3Vy
Y2VEYXQKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JT
dHlsZVNoZWV0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVl
dC5oCmluZGV4IDI3Mzg0Y2UwOTQ4OWI3NTJmZTlkZjBiMTkyNTY2NDdmNmUzZTgzNWQuLmMyMmNk
NzcxN2NlZTlkMDE1MDA4ZjExODYxNjAxMmMwMjhjYTExZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaApAQCAtNTIsOCArNTIsNiBAQCBjbGFz
cyBJbnNwZWN0b3JQYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JTdHlsZVNoZWV0OwogY2xhc3Mg
Tm9kZTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KIHR5cGVkZWYgU3RyaW5nIEVycm9yU3Ry
aW5nOwogCiBjbGFzcyBJbnNwZWN0b3JDU1NJZCB7CkBAIC0yOTEsOCArMjg5LDYgQEAgcHJpdmF0
ZToKICAgICBtdXRhYmxlIGJvb2wgbV9pc1N0eWxlVGV4dFZhbGlkOwogfTsKIAotI2VuZGlmCi0K
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclN0
eWxlU2hlZXRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JTdHlsZVRleHRFZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clN0eWxlVGV4dEVkaXRvci5jcHAKaW5kZXggYjlmZjA5NjhmMmIwMzhkZGEyN2QzZjliYTVhYzk4
ZmI1ODk1NjdiZS4uMjljYjFmZjAyMmFhMzhhMDAyZTlkMTA4ZDc0YzViZTYzNzhjNGNkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVk
aXRvci5jcHAKQEAgLTIzLDkgKzIzLDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0K
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5zcGVjdG9yU3R5bGVUZXh0RWRp
dG9yLmgiCiAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTI2Miw1ICsy
NTksMyBAQCB2b2lkIEluc3BlY3RvclN0eWxlVGV4dEVkaXRvcjo6aW50ZXJuYWxSZXBsYWNlUHJv
cGVydHkoY29uc3QgSW5zcGVjdG9yU3R5bGVQcm9wZQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlVGV4dEVkaXRvci5oCmluZGV4IGQ3NTAyNTYxYjBh
NWI5OWZkZTkyZTA4M2IzMDBhMTRjYWQ3NWJmMzEuLjQ1YzE4YTJhZDBmYjk0NDliN2I1NTM4ZDc4
MzU0MWQ4YzQ4MmU1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JTdHlsZVRleHRFZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yU3R5bGVUZXh0RWRpdG9yLmgKQEAgLTMyLDggKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogc3RydWN0IEluc3BlY3RvclN0eWxl
UHJvcGVydHk7CiBzdHJ1Y3QgU291cmNlUmFuZ2U7CiAKQEAgLTYwLDggKzU4LDYgQEAgcHJpdmF0
ZToKICAgICBjb25zdCBzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+IG1fZm9ybWF0OwogfTsKIAot
I2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFkZWZpbmVkKElu
c3BlY3RvclN0eWxlVGV4dEVkaXRvcl9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IGEyN2E5NDY5OTY1ZDA2MWNkNDI2
NzgwMmFmMTUwODA2ZDE3ZGNlZjYuLjgwZGIxOWQzNDk2M2ZiYWYzODYzNGIwOTMxN2VkYTI2MTQz
YTU4YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAKQEAgLTMwLDkgKzMwLDYgQEAKICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmgiCiAKICNpbmNsdWRlICJFdmVudC5oIgpAQCAtNzA2LDUgKzcwMywzIEBAIFBhZ2Uq
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnBhZ2UoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggMzc4ZjljODZkNzQzN2Nh
YjZhNjQxMzgyNGQ3NWYwM2RhOWMzMGVkNi4uZWE0NDg1YjMyZDMyY2Q2M2E3OWUyYWZhM2ZmNzg1
ZmQxYWQ5YzYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCkBAIC0zMiw4ICszMiw2IEBACiAjaWZuZGVmIEluc3BlY3RvclRpbWVs
aW5lQWdlbnRfaAogI2RlZmluZSBJbnNwZWN0b3JUaW1lbGluZUFnZW50X2gKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIKICNpbmNs
dWRlICJMYXlvdXRSZWN0LmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVycy5oPgpAQCAtMjUwLDUgKzI0OCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vICFFTkFCTEUoSU5TUEVDVE9SKQogI2VuZGlmIC8vICFk
ZWZpbmVkKEluc3BlY3RvclRpbWVsaW5lQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwCmluZGV4IGNhNjllYjQ5MWExMTk3Y2Zh
OWU0YWU3NTE5OTNkYWIyNTc2MTQyYWUuLjNiYjE0MDNlYjBiZTY3NWY5ODk0MmU0MGM4OWU1NTI5
YTQ3YjAxNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JX
b3JrZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldv
cmtlckFnZW50LmNwcApAQCAtMjksOSArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJB
Z2VudC5oIgogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRm9yd2FyZGluZy5oIgpAQCAtMjQwLDUgKzIz
NywzIEBAIHZvaWQgSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZVdvcmtlckZyb250ZW5kQ2hh
bm5lbChXb3JrZXJHbG9iYWxTY29wZVByb3h5KiB3CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oCmluZGV4IGJmMTE2YjNhMDI2ODhl
YWJlNTY3ODAzOWJjZWRlNmVhMDJiNzM1NGQuLmY4YmVkNTI0YzJhNzIwN2JiYzg5MzUwMzM0MmQ3
ZWE4MzY4MTUzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJSZXNvdXJjZS5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIEluc3BlY3Rvcldv
cmtlclJlc291cmNlX2gKICNkZWZpbmUgSW5zcGVjdG9yV29ya2VyUmVzb3VyY2VfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC02NSw2ICs2
Myw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAKaW5k
ZXggMzlmNzYwZTk4NjU1MWNhMDYwMWI2MmMyYjIwZTBmYTE2YThlMmQ1Ni4uZWMwNDY0MjFiZjI2
ZGQ3OGY0NGZjNmQ0Y2U2NmQwOWZiNjI1NWRkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcApAQCAtMzIsOCArMzIsNiBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCkBAIC05Niw1ICs5
NCwzIEBAIHZvaWQgSW5zdHJ1bWVudGluZ0FnZW50czo6cmVzZXQoKQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAKaW5kZXggZTRhMjY2
NDgxMmJmZmEyNWI1ZmZiM2E5MTM5MmJlNjdhMjZmOWFmMC4uNTFlYzVmMjlhNjZmMDM3ODY0ZDBj
MDVjOTU1OGQ2OTllYmUwNDEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
TmV0d29ya1Jlc291cmNlc0RhdGEuY3BwCkBAIC0yNyw5ICsyNyw2IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIk5ldHdv
cmtSZXNvdXJjZXNEYXRhLmgiCiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgpAQCAtMzgy
LDUgKzM3OSwzIEBAIGJvb2wgTmV0d29ya1Jlc291cmNlc0RhdGE6OmVuc3VyZUZyZWVTcGFjZShz
aXplX3Qgc2l6ZSkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5B
QkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3
b3JrUmVzb3VyY2VzRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNv
dXJjZXNEYXRhLmgKaW5kZXggNTM5Mzg4NTY0ODE1YWM2ODIxNjRlNTczY2U2NDAyZTMzMzAxMWZj
MC4uYjI2Y2I4Y2U5ZDQ3M2Y2Y2EzZDM2ODdjYzY5NTM3YzA5NTUyMGRjZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKQEAgLTM5LDggKzM5
LDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIENhY2hlZFJlc291cmNlOwpAQCAtMTgzLDYgKzE4MSw0IEBAIHBy
aXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChOZXR3b3JrUmVzb3VyY2VzRGF0YV9oKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQuY3BwCmluZGV4IDBhYThj
NTc3ODljNWJiMDc3ZDU4NmI1MGQ3MGZhYTE5ZGVlY2E2NTQuLmU3NTlhYTgwNTc2OTg1MGUzZjM5
NTlmYzM0YzBjNWQ2NTEyN2RjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9QYWdlQ29uc29sZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFn
ZUNvbnNvbGVBZ2VudC5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJQYWdlQ29uc29sZUFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW5jbHVkZSAiQ29tbWFuZExpbmVBUElIb3N0LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9N
QWdlbnQuaCIKICNpbmNsdWRlICJOb2RlLmgiCkBAIC03OSw1ICs3NywzIEBAIHZvaWQgUGFnZUNv
bnNvbGVBZ2VudDo6YWRkSW5zcGVjdGVkTm9kZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGlu
dCBub2RlSWQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZUNv
bnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VDb25zb2xlQWdlbnQu
aAppbmRleCAyNWQ5YWYzOTY0OTI0MDVhYzIzM2VlYjk0YTRkZDJmYTI3NGE4MTRmLi4zNmMzMGMy
NGQ4MjYzYjgwMGYzZmIyNDlmMDY5YTY1YmU5NDlhMDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvUGFnZUNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9QYWdlQ29uc29sZUFnZW50LmgKQEAgLTMzLDggKzMzLDYgQEAKIAogI2luY2x1ZGUg
IldlYkNvbnNvbGVBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsKQEAgLTU2LDYgKzU0LDQgQEAg
cHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKFBhZ2VDb25zb2xlQWdlbnRfaCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IGQ1ZjE5
ZDUzNTVkNjk2NDM3M2U3ZjllNTE2OGUyNDIwODMzNWEzN2MuLjVlNWFkZDI5YzJiMjU5YzJhNTU5
N2Y3OGY4YzQ0ODQ1YmIyMmY0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9QYWdlRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Bh
Z2VEZWJ1Z2dlckFnZW50LmNwcApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlBhZ2VEZWJ1Z2dlckFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2UuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVy
bGF5LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCkBAIC0xNDYsNSArMTQ0LDMg
QEAgdm9pZCBQYWdlRGVidWdnZXJBZ2VudDo6ZGlkQ2xlYXJNYWluRnJhbWVXaW5kb3dPYmplY3Qo
KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAppbmRl
eCA4MjI5OTllNWQxYTFkNDQxOTA5MWJiM2VjMjNiYTgyMGU5YjkxY2UzLi41NDlmN2QzZmM2ZWI5
MWYwOWYwM2Y3N2I1NWIxZmE1ODY1MGRmYTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvUGFnZURlYnVnZ2VyQWdlbnQuaApAQCAtMzEsOCArMzEsNiBAQAogI2lmbmRlZiBQYWdlRGVi
dWdnZXJBZ2VudF9oCiAjZGVmaW5lIFBhZ2VEZWJ1Z2dlckFnZW50X2gKIAotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNpbmNsdWRlICJQYWdlU2NyaXB0RGVidWdTZXJ2ZXIuaCIKICNpbmNsdWRl
ICJXZWJEZWJ1Z2dlckFnZW50LmgiCiAKQEAgLTc5LDYgKzc3LDQgQEAgcHJpdmF0ZToKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2Vu
ZGlmIC8vICFkZWZpbmVkKFBhZ2VEZWJ1Z2dlckFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5jcHAKaW5kZXggMTFmYjJkNTU1Y2U5MGU0NWVlZWZl
NDNiNTE4NjI0ZTUyMWIwNWYxOC4uN2E3Yjc2MjQyNTlmYmNiNjI2OWYxMjVlOTZhZTVlMmE2ZDZi
ZTY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1lQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmNw
cApAQCAtMzEsOCArMzEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBhZ2VS
dW50aW1lQWdlbnQuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50
LmgiCkBAIC0xNzcsNSArMTc1LDMgQEAgdm9pZCBQYWdlUnVudGltZUFnZW50Ojpub3RpZnlDb250
ZXh0Q3JlYXRlZChjb25zdCBTdHJpbmcmIGZyYW1lSWQsIEpTQzo6RXhlY1N0YXQKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlUnVudGltZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVJ1bnRpbWVBZ2VudC5oCmluZGV4IGM0MTJmYmNmNWVl
N2Q2ZDg1M2Q5ZWI5ODkwZTc2ZGVlNzNiOTgwZWEuLmY4MmNmYzAxMGM3MjY5MjNjZDM5M2M5NmI4
MDMzZmY5NzI4OTM4OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
UnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VSdW50aW1l
QWdlbnQuaApAQCAtMzEsOCArMzEsNiBAQAogI2lmbmRlZiBQYWdlUnVudGltZUFnZW50X2gKICNk
ZWZpbmUgUGFnZVJ1bnRpbWVBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRl
IDxpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oPgogCkBAIC04Myw2ICs4
MSw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JQYWdlckFnZW50
X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVNjcmlwdERlYnVn
U2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwCmluZGV4IDFkNTcwMzAyYjc2ZTA0NzliYTYyMWFiYWM0NDAxMjA2OGE2ZmY3YzguLjk1
OGNiZmU0OGFkMzdjYTA0NDkyMDcxNzQ2OGY4MzZhZWMzYTM5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0yNyw4ICsy
Nyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGFnZVNjcmlwdERlYnVnU2Vy
dmVyLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKQEAgLTIwMCw1
ICsxOTgsMyBAQCB2b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6c2V0SmF2YVNjcmlwdFBhdXNl
ZChGcmFtZVZpZXcqIHZpZXcsIGJvb2wgcGF1c2VkKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IGE4ZmQzYzMxNTdkMDM4ZjFl
NjM1MWY2M2NhYjBkNDIyZjFhNTNhMzQuLjczZDE2MDdiNzJlOTkxMjkzYmY0ZDIwN2JmMWM2NTM4
YzUwN2Y0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlU2NyaXB0
RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZVNjcmlwdERl
YnVnU2VydmVyLmgKQEAgLTI3LDggKzI3LDYgQEAKICNpZm5kZWYgUGFnZVNjcmlwdERlYnVnU2Vy
dmVyX2gKICNkZWZpbmUgUGFnZVNjcmlwdERlYnVnU2VydmVyX2gKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC03MSw2ICs2OSw0IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyBQYWdlU2NyaXB0RGVidWdTZXJ2ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAppbmRleCBiYjEwMzAxNmMxM2I3MjMxZjIw
ZDNjMzQyZjZkMTE0MzJjN2U5OGNmLi5mNzA2MzAxOTE0NTQ3ZTdkZjk4ZDVjMzBhMDZlMmQxZjU4
MTM4Nzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmNwcApAQCAtMzAsOSArMzAsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJUaW1lbGluZVJlY29yZEZh
Y3RvcnkuaCIKIAogI2luY2x1ZGUgIkV2ZW50LmgiCkBAIC0yNjcsNSArMjY0LDMgQEAgdm9pZCBU
aW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZFByb2ZpbGUoSW5zcGVjdG9yT2JqZWN0KiBkYXRh
LCBSZWZQdHI8SlNDOjpQcm8KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNv
bGVBZ2VudC5jcHAKaW5kZXggZTBhODA5ODgyYTJkODdhZmZkMTBmMmQyZWY2NjIxNzk5MGZjN2M0
NC4uNDcwMDU4ZWU0M2U5MmI5NTI1MDQ5MWU5YThhZjUzZmU2MjQ1MjY4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5jcHAKQEAgLTI3LDggKzI3LDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJDb25zb2xlQWdlbnQuaCIKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJDb21tYW5kTGluZUFQSUhvc3QuaCIKICNp
bmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCkBAIC0xMTEs
NSArMTA5LDMgQEAgdm9pZCBXZWJDb25zb2xlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVk
IGxvbmcgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFJlc28KIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9XZWJDb25zb2xlQWdlbnQuaAppbmRleCAyODFiOWI4YmRjMDc4ODJhYTEwMmM5YjBm
YWExZjBlN2E5MjI1NzM1Li5jYWYxYjFkZWE1NDExOTI5NTliNzEyYTNkMGJmNmVkOWMxMDFmOTll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViQ29uc29sZUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkNvbnNvbGVBZ2VudC5oCkBAIC0yNiw4
ICsyNiw2IEBACiAjaWZuZGVmIFdlYkNvbnNvbGVBZ2VudF9oCiAjZGVmaW5lIFdlYkNvbnNvbGVB
Z2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTksNiArNTcsNCBAQCBwcm90ZWN0ZWQ6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChXZWJDb25zb2xl
QWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dl
ckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50LmNw
cAppbmRleCA1N2QyMTc0NGNjN2ZjOThmOTcwMTNkMDE5OWYzMzQyYzA3ODdlZDY3Li5kZDY5ZTVm
M2YxNDI0ZmM4YzNlNTQ2ZGVlMmEyZjdmOWI2NWQ5OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdlbnQuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRGVidWdnZXJBZ2VudC5oIgogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKIAogdXNpbmcg
bmFtZXNwYWNlIEluc3BlY3RvcjsKQEAgLTUzLDUgKzUxLDMgQEAgdm9pZCBXZWJEZWJ1Z2dlckFn
ZW50OjpkaXNhYmxlKGJvb2wgaXNCZWluZ0Rlc3Ryb3llZCkKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV2ViRGVidWdnZXJBZ2VudC5oCmluZGV4IDBlNDI1ZWE3ZjU1NmJhYTg0MDc3ODhm
NmFlNTMxNWExYjYxZjA0ZGIuLjA3NDE2NjIxNjFkY2MxNTViZDEyOTFkZWI2YTg1MzRlYzRiOTNk
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJEZWJ1Z2dlckFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkRlYnVnZ2VyQWdlbnQuaApAQCAt
MjYsOCArMjYsNiBAQAogI2lmbmRlZiBXZWJEZWJ1Z2dlckFnZW50X2gKICNkZWZpbmUgV2ViRGVi
dWdnZXJBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8aW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTUxLDYgKzQ5LDQgQEAgcHJvdGVjdGVkOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQoV2Vi
RGVidWdnZXJBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dl
YkluamVjdGVkU2NyaXB0SG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5q
ZWN0ZWRTY3JpcHRIb3N0LmNwcAppbmRleCBlNGIzNTllOTIzMTg1MTRmMmFlZmViYWEwZGJkNjg4
MDc4OTdkY2JlLi41NWY3YTZkYTIyMmI4Yjc4MDI2N2EyNmU5MjQ1N2Q0NWIzMDUyZGJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmNw
cApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYklu
amVjdGVkU2NyaXB0SG9zdC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUg
IkV4Y2VwdGlvbkhlYWRlcnMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25JbnRlcmZhY2VzLmgiCiAj
aW5jbHVkZSAiSlNIVE1MQWxsQ29sbGVjdGlvbi5oIgpAQCAtNjMsNSArNjEsMyBAQCBib29sIFdl
YkluamVjdGVkU2NyaXB0SG9zdDo6aXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUgdmFs
dWUpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRT
Y3JpcHRIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRI
b3N0LmgKaW5kZXggMzlkNzA2MTQ1NzE5MjM4ZWZlMTdlMzI4MmVlYTEzMmI4NDYxOTZlNy4uNjNh
NzI0ZDA0MmE5ZTViOGI4NzMyYTY2NTIxYzA5ZjM2YzM0ZDc0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdEhvc3QuaApAQCAtMjYsOCArMjYsNiBA
QAogI2lmbmRlZiBXZWJJbmplY3RlZFNjcmlwdEhvc3RfaAogI2RlZmluZSBXZWJJbmplY3RlZFNj
cmlwdEhvc3RfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdEhvc3QuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNiAr
NDAsNCBAQCBwdWJsaWM6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyAhZGVmaW5lZChXZWJJbmplY3RlZFNjcmlwdEhv
c3RfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNj
cmlwdE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2Ny
aXB0TWFuYWdlci5jcHAKaW5kZXggNWIwOGQ0NDY0MmYxN2NiZDcwOWNmMDA4ZGFjOWMwNGU4NGFh
ZTUxNC4uOWY0YWY0MjY5M2VjNTc1OTUzMTMzOTQ0NjBiMTkwNWRmZTBhZDU4NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5j
cHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJ
bmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNs
dWRlICJDb21tYW5kTGluZUFQSU1vZHVsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAK
QEAgLTg0LDUgKzgyLDMgQEAgdm9pZCBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXI6OmRpc2NhcmRJ
bmplY3RlZFNjcmlwdHNGb3IoRE9NV2luZG93KiB3aW5kb3cpCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKaW5kZXggNjU2MTE2
NjQwMzZkNGE5NWI5NzU2ZmMzN2IzMjNmNTdjYTU5MzE2Ni4uZThmYzQ1MjJhYjEyMTlhN2EzMDU1
NDNhZGQ5MjMxYTk4ZmYwYTA2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaApAQCAtMjYsOCArMjYsNiBAQAogI2lmbmRlZiBX
ZWJJbmplY3RlZFNjcmlwdE1hbmFnZXJfaAogI2RlZmluZSBXZWJJbmplY3RlZFNjcmlwdE1hbmFn
ZXJfaAogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkNvbW1hbmRMaW5lQVBJ
SG9zdC5oIgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdE1hbmFnZXIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01Niw2ICs1NCw0IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCi0KICNlbmRp
ZiAvLyAhZGVmaW5lZChXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXJfaCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggYmIzMGFmN2EzNjNi
ZGRlZWMyY2FhZGNiYjc2MjBjNGY2OTg5NGQxZC4uZGMxY2I3OWRiMGIwOWJiN2NlZjViOTA4ZDU1
MWY3MGMzMDUwOGQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtl
ckNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNv
bnNvbGVBZ2VudC5jcHAKQEAgLTI5LDkgKzI5LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmln
LmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiV29ya2VyQ29uc29sZUFn
ZW50LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CkBAIC00OSw1ICs0NiwzIEBAIHZv
aWQgV29ya2VyQ29uc29sZUFnZW50OjphZGRJbnNwZWN0ZWROb2RlKEVycm9yU3RyaW5nJiBlcnJv
ciwgaW50KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNv
bnNvbGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckNvbnNvbGVBZ2Vu
dC5oCmluZGV4IGYwZjFiNDU5NmNhNWIwNzE3MzgwOTdmNWZmMmVjNWUxMzg0NWUzNmMuLjg4OTdi
NTBkZTA1OGZiYjJjYmZlNDkyNmMzNTk5MmZiNTI4OGViZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvV29ya2VyQ29uc29sZUFnZW50LmgKQEAgLTMzLDggKzMzLDYgQEAKIAogI2lu
Y2x1ZGUgIldlYkNvbnNvbGVBZ2VudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBXb3JrZXJDb25zb2xlQWdlbnQgZmluYWwgOiBwdWJs
aWMgV2ViQ29uc29sZUFnZW50IHsKQEAgLTUyLDYgKzUwLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKLQogI2VuZGlm
IC8vICFkZWZpbmVkKFdvcmtlckNvbnNvbGVBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IGQzNjlkN2M2ZDQzYzc4OWEz
NzY5MDhmZjIzMzY3MmE1ZWQ0ZjViYTUuLjIyNWQ1NTNlOGJkZDgxZmNmYWI3YWFjZjY0Y2Q1MGFk
NTAyODQyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1
Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdn
ZXJBZ2VudC5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXb3JrZXJEZWJ1Z2dlckFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIK
ICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaD4KQEAgLTE1OSw1ICsxNTcsMyBA
QCB2b2lkIFdvcmtlckRlYnVnZ2VyQWdlbnQ6OnVubXV0ZUNvbnNvbGUoKQogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlckFnZW50LmgKaW5kZXggY2NiZGFhNDI3
Nzk3Y2NmMWZjZWYxMTUzMDkyOTkyMGZhYWQzNWMwZC4uZDg3OWQxODlhMWZmZjA0MGNjZmRiOGUy
MTZhYjlhNDA3NTg5MThjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dv
cmtlckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
RGVidWdnZXJBZ2VudC5oCkBAIC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIFdvcmtlckRlYnVnZ2Vy
QWdlbnRfaAogI2RlZmluZSBXb3JrZXJEZWJ1Z2dlckFnZW50X2gKIAotI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNpbmNsdWRlICJXZWJEZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiV29ya2Vy
U2NyaXB0RGVidWdTZXJ2ZXIuaCIKIApAQCAtNjcsNiArNjUsNCBAQCBwcml2YXRlOgogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5k
aWYgLy8gIWRlZmluZWQoV29ya2VyRGVidWdnZXJBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDA0
YzhiZWI3Y2RjY2VmZjQzNWI2OGU4MmVhOWU2MzdkNTM5ZTdiZTEuLjc3N2NmNzIzM2FkNzJlNDI2
ZjE4YjQ4MGZmYmU3ZDI5OGQxNGVjZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTI5LDkgKzI5LDYgQEAK
ICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
aW5jbHVkZSAiV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogCiAjaW5jbHVkZSAiQ29tbWFu
ZExpbmVBUElIb3N0LmgiCkBAIC0xNzYsNSArMTczLDMgQEAgUmVmPFN0b3B3YXRjaD4gV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZXhlY3V0aW9uU3RvcHdhdGNoKCkKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4
IGU5NDgyM2M3YmNjMjIxNTU2MWFiZDYzOWJkNDM5ZTNhN2ZiMmQ4YWEuLmY4Nzc5NDM3ODM5M2Ez
MWQzMjBiYTQ0ZTIyODliMzM1NjE0NWYyZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMzEsOCArMzEsNiBAQAog
I2lmbmRlZiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyX2gKICNkZWZpbmUgV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlcl9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdl
bnRCYXNlLmgiCiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckFnZW50UmVnaXN0cnkuaD4K
QEAgLTkyLDYgKzkwLDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BF
Q1RPUikKLQogI2VuZGlmIC8vICFkZWZpbmVkKFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXJfaCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKaW5k
ZXggMjFkNDMwMWI2MWE3N2VlM2E4MzRmYjE3NGJkZWU4ZWUyNDhmODRjYy4uNzY5MDQ5ZTMyMmY1
YTY1OTk0M2FhNjcwYjAyYmQ5MjUzMmQzYjc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5jcHAKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXb3JrZXJSdW50aW1lQWdlbnQuaCIKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVk
ZSAiSlNET01XaW5kb3dCYXNlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKQEAgLTEwOCw1
ICsxMDYsMyBAQCB2b2lkIFdvcmtlclJ1bnRpbWVBZ2VudDo6cGF1c2VXb3JrZXJHbG9iYWxTY29w
ZShXb3JrZXJHbG9iYWxTY29wZSogY29udGV4dCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9Xb3JrZXJSdW50aW1lQWdlbnQuaAppbmRleCBjYjgyYzNiYzc3NTIwMTBhZTU5YTczN2Qy
NGVkY2MyZDcxYTBhNGVhLi44MTRjNjZkNmJjOWQ0NjE4MzE5MTRhOWJmYjQxZTI4ODJlMWMwZDM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyUnVudGltZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlclJ1bnRpbWVBZ2VudC5oCkBA
IC0zMSw4ICszMSw2IEBACiAjaWZuZGVmIFdvcmtlclJ1bnRpbWVBZ2VudF9oCiAjZGVmaW5lIFdv
cmtlclJ1bnRpbWVBZ2VudF9oCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNjQsNiArNjIsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gIWRlZmluZWQo
SW5zcGVjdG9yUGFnZXJBZ2VudF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCAzMjI5Nzc4NjMxMDA0ZmIxYmI5MjBiOWJh
YTcyYzQ1YjllNWUzMzU3Li5hNzM3MTgyNDYzOTY2ODkwZjllZDg4OWFiOTY5Yjk3NzNlYWQxNTli
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
RnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNp
bmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIK
QEAgLTQ5LDEwICs1MCw2IEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRl
IDx3dGYvUmVmLmg+CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotI2luY2x1ZGUgIlByb2dyZXNz
VHJhY2tlci5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdm9pZCBEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQmIGRv
Y3VtZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCkBA
IC0yNDEsMTEgKzIzOCw5IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRSZWNl
aXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zCiAKICAgICBTdHJpbmcg
YWNjZXNzQ29udHJvbEVycm9yRGVzY3JpcHRpb247CiAgICAgaWYgKG1fYWN0dWFsUmVxdWVzdCkg
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIERvY3VtZW50TG9hZGVyKiBsb2FkZXIg
PSBtX2RvY3VtZW50LmZyYW1lKCktPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCk7CiAgICAgICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZShtX2RvY3VtZW50LmZyYW1lKCkp
OwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJl
c3BvbnNlKGNvb2tpZSwgaWRlbnRpZmllciwgbG9hZGVyLCByZXNwb25zZSwgMCk7Ci0jZW5kaWYK
IAogICAgICAgICBpZiAoIXBhc3Nlc0FjY2Vzc0NvbnRyb2xDaGVjayhyZXNwb25zZSwgbV9vcHRp
b25zLmFsbG93Q3JlZGVudGlhbHMoKSwgc2VjdXJpdHlPcmlnaW4oKSwgYWNjZXNzQ29udHJvbEVy
cm9yRGVzY3JpcHRpb24pKSB7CiAgICAgICAgICAgICBwcmVmbGlnaHRGYWlsdXJlKGlkZW50aWZp
ZXIsIHJlc3BvbnNlLnVybCgpLCBhY2Nlc3NDb250cm9sRXJyb3JEZXNjcmlwdGlvbik7CkBAIC0z
NzMsMTIgKzM2OCwxMCBAQCB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlcXVl
c3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTZWN1cgogICAgICAgICBBU1NFUlQo
IW1fcmVzb3VyY2UpOwogICAgICAgICBtX3Jlc291cmNlID0gbV9kb2N1bWVudC5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpLT5yZXF1ZXN0UmF3UmVzb3VyY2UobmV3UmVxdWVzdCk7CiAgICAgICAgIGlm
IChtX3Jlc291cmNlKSB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgICAgIGlmICht
X3Jlc291cmNlLT5sb2FkZXIoKSkgewogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciA9IG1fcmVzb3VyY2UtPmxvYWRlcigpLT5pZGVudGlmaWVyKCk7CiAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkb2N1bWVudFRocmVhZGFibGVMb2FkZXJT
dGFydGVkTG9hZGluZ0ZvckNsaWVudChtX2RvY3VtZW50LCBpZGVudGlmaWVyLCBtX2NsaWVudCk7
CiAgICAgICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgICAgIG1fcmVzb3VyY2UtPmFkZENsaWVu
dCh0aGlzKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAppbmRleCA3MDBjZjU0ZjFhZGFjZGM5ODllZjY4YWE3MDg5Mjg5YTZjNmMy
YTUxLi5mMGQzMWY2ODg2MzlmMTc3NWUyMzQzNjEzZTE2MmRmMjAxZmYxMTFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI5NDQsMTIgKzI5NDQsMTAgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWUKICAgICBpZiAoIW1fZnJhbWUucGFnZSgpKQogICAgICAgICByZXR1
cm47CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFt
ZS5wYWdlKCkpIHsKICAgICAgICAgaWYgKG1fZnJhbWUuaXNNYWluRnJhbWUoKSkKICAgICAgICAg
ICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5yZXN1bWUoKTsKICAgICB9Ci0jZW5kaWYK
IAogICAgIHNldFByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIobV9wb2xpY3lEb2N1bWVudExvYWRl
ci5nZXQoKSk7CiAgICAgbV9sb2FkVHlwZSA9IHR5cGU7CkBAIC0zMzE4LDEwICszMzE2LDggQEAg
dm9pZCBGcmFtZUxvYWRlcjo6ZGlzcGF0Y2hEaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRE9N
V3JhcHBlcldvcmxkJiB3b3JsZCkKIAogICAgIG1fY2xpZW50LmRpc3BhdGNoRGlkQ2xlYXJXaW5k
b3dPYmplY3RJbldvcmxkKHdvcmxkKTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYg
KFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkKICAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29u
dHJvbGxlcigpLmRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChtX2ZyYW1lLCB3b3JsZCk7Ci0j
ZW5kaWYKIAogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2xlYXJXaW5kb3dPYmpl
Y3RJbldvcmxkKG1fZnJhbWUsIHdvcmxkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggOTFiMGQ5
Nzg1NzkzYzQzM2IzOTMwZWFmYzY2NzVlZmQzMWFjMWJlNC4uNDlhNWNjMjFiMGVhNjM0MTdlMjg3
Yzg0YTljNGUzM2EwMWQwODI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTQxLDE2ICs0MSwxMyBA
QAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIk1hbmlm
ZXN0UGFyc2VyLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tl
ci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0jaW5j
bHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBVUkwm
IG1hbmlmZXN0VVJMLCBib29sIGlzQ29weSkKQEAgLTQ4OSwyOSArNDg2LDI2IEBAIFBhc3NSZWZQ
dHI8UmVzb3VyY2VIYW5kbGU+IEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6Y3JlYXRlUmVzb3VyY2VI
YW5kbGUoY29uc3QgVVJMCiAgICAgfQogCiAgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5k
bGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG1fZnJhbWUtPmxvYWRlcigpLm5ldHdvcmtpbmdD
b250ZXh0KCksIHJlcXVlc3QsIHRoaXMsIGZhbHNlLCB0cnVlKTsKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorCiAgICAgLy8gQmVjYXVzZSB3aWxsU2VuZFJlcXVlc3Qgb25seSBnZXRzIGNhbGxlZCBk
dXJpbmcgcmVkaXJlY3RzLCB3ZSBpbml0aWFsaXplCiAgICAgLy8gdGhlIGlkZW50aWZpZXIgYW5k
IHRoZSBmaXJzdCB3aWxsU2VuZFJlcXVlc3QgaGVyZS4KICAgICBtX2N1cnJlbnRSZXNvdXJjZUlk
ZW50aWZpZXIgPSBtX2ZyYW1lLT5wYWdlKCktPnByb2dyZXNzKCkuY3JlYXRlVW5pcXVlSWRlbnRp
ZmllcigpOwogICAgIFJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSA9IFJlc291cmNl
UmVzcG9uc2UoKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kUmVxdWVz
dChtX2ZyYW1lLCBtX2N1cnJlbnRSZXNvdXJjZUlkZW50aWZpZXIsIG1fZnJhbWUtPmxvYWRlcigp
LmRvY3VtZW50TG9hZGVyKCksIHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOwotI2VuZGlmCiAg
ICAgcmV0dXJuIGhhbmRsZTsKIH0KIAogdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIgPSAoaGFuZGxlID09IG1fbWFuaWZlc3RIYW5kbGUpID8gbnVsbHB0ciA6IG1f
ZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2Vp
dmVSZXNvdXJjZVJlc3BvbnNlKG1fZnJhbWUpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UoY29va2llLCBtX2N1cnJlbnRSZXNvdXJjZUlk
ZW50aWZpZXIsIGxvYWRlciwgcmVzcG9uc2UsIDApOwotI2VuZGlmCiAKICAgICBpZiAoaGFuZGxl
ID09IG1fbWFuaWZlc3RIYW5kbGUpIHsKICAgICAgICAgZGlkUmVjZWl2ZU1hbmlmZXN0UmVzcG9u
c2UocmVzcG9uc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCiAgICAgQVNTRVJU
KGhhbmRsZSA9PSBtX2N1cnJlbnRIYW5kbGUpOwogCiAgICAgVVJMIHVybChoYW5kbGUtPmZpcnN0
UmVxdWVzdCgpLnVybCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuY3BwCmluZGV4IDQ5MzQ0NThlMzg4NjRiOGJjMzk3
OTI5MDZjMTdlN2Y2M2RhYzZmZDcuLjFmMzZhOTVkZWVlY2UzYjU1Yjg4N2M4MTY3NThkYTU1NTNj
YzhkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmNwcApAQCAtMjc5LDcgKzI3OSw2IEBAIHZvaWQgQXBwbGljYXRp
b25DYWNoZUhvc3Q6OnN0b3BEZWZlcnJpbmdFdmVudHMoKQogICAgIG1fZGVmZXJzRXZlbnRzID0g
ZmFsc2U7CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9pZCBBcHBsaWNhdGlvbkNhY2hl
SG9zdDo6ZmlsbFJlc291cmNlTGlzdChSZXNvdXJjZUluZm9MaXN0KiByZXNvdXJjZXMpCiB7CiAg
ICAgQXBwbGljYXRpb25DYWNoZSogY2FjaGUgPSBhcHBsaWNhdGlvbkNhY2hlKCk7CkBAIC0yOTks
MTcgKzI5OCwxNiBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVIb3N0OjpmaWxsUmVzb3VyY2VMaXN0
KFJlc291cmNlSW5mb0xpc3QqIHJlc291cmNlcykKICAgICAgICAgcmVzb3VyY2VzLT5hcHBlbmQo
UmVzb3VyY2VJbmZvKHJlc291cmNlLT51cmwoKSwgaXNNYXN0ZXIsIGlzTWFuaWZlc3QsIGlzRmFs
bGJhY2ssIGlzRm9yZWlnbiwgaXNFeHBsaWNpdCwgcmVzb3VyY2UtPmVzdGltYXRlZFNpemVJblN0
b3JhZ2UoKSkpOwogICAgIH0KIH0KLSAKKwogQXBwbGljYXRpb25DYWNoZUhvc3Q6OkNhY2hlSW5m
byBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6YXBwbGljYXRpb25DYWNoZUluZm8oKQogewogICAgIEFw
cGxpY2F0aW9uQ2FjaGUqIGNhY2hlID0gYXBwbGljYXRpb25DYWNoZSgpOwogICAgIGlmICghY2Fj
aGUgfHwgIWNhY2hlLT5pc0NvbXBsZXRlKCkpCiAgICAgICAgIHJldHVybiBDYWNoZUluZm8oVVJM
KCksIDAsIDAsIDApOwotICAKKwogICAgIC8vIEZJWE1FOiBBZGQgIkNyZWF0aW9uIFRpbWUiIGFu
ZCAiVXBkYXRlIFRpbWUiIHRvIEFwcGxpY2F0aW9uIENhY2hlcy4KICAgICByZXR1cm4gQ2FjaGVJ
bmZvKGNhY2hlLT5tYW5pZmVzdFJlc291cmNlKCktPnVybCgpLCAwLCAwLCBjYWNoZS0+ZXN0aW1h
dGVkU2l6ZUluU3RvcmFnZSgpKTsKIH0KLSNlbmRpZgogCiB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVI
b3N0OjpkaXNwYXRjaERPTUV2ZW50KEV2ZW50SUQgaWQsIGludCB0b3RhbCwgaW50IGRvbmUpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCmluZGV4IDNkZGY2OTQxNTEzY2VlZmE4NTkzZjZlOTNjZDFiZTgwODJkYWVjM2Mu
LjQ1YmYwNWI3OTQyZTFhNDJmOGVmMTBjNTIxOGFhOGZmYmY0NGJhODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCkBA
IC03NSw3ICs3NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIE9CU09MRVRF
X0VWRU5UICAvLyBNdXN0IHJlbWFpbiB0aGUgbGFzdCB2YWx1ZSwgdGhpcyBpcyB1c2VkIHRvIHNp
emUgYXJyYXlzLgogICAgICAgICB9OwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAg
c3RydWN0IENhY2hlSW5mbyB7CiAgICAgICAgICAgICBDYWNoZUluZm8oY29uc3QgVVJMJiBtYW5p
ZmVzdCwgZG91YmxlIGNyZWF0aW9uVGltZSwgZG91YmxlIHVwZGF0ZVRpbWUsIGxvbmcgbG9uZyBz
aXplKQogICAgICAgICAgICAgICAgIDogbV9tYW5pZmVzdChtYW5pZmVzdCkKQEAgLTEwNyw3ICsx
MDYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIH07CiAKICAgICAgICAgdHlwZWRl
ZiBWZWN0b3I8UmVzb3VyY2VJbmZvPiBSZXNvdXJjZUluZm9MaXN0OwotI2VuZGlmCiAKICAgICAg
ICAgZXhwbGljaXQgQXBwbGljYXRpb25DYWNoZUhvc3QoRG9jdW1lbnRMb2FkZXImKTsKICAgICAg
ICAgfkFwcGxpY2F0aW9uQ2FjaGVIb3N0KCk7CkBAIC0xNDQsMTAgKzE0Miw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICB2b2lkIHN0b3BEZWZlcnJpbmdFdmVudHMoKTsgLy8gQWxz
byByYWlzZXMgdGhlIGV2ZW50cyB0aGF0IGhhdmUgYmVlbiBxdWV1ZWQgdXAuCiAKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgICAgICB2b2lkIGZpbGxSZXNvdXJjZUxpc3QoUmVzb3VyY2VJbmZv
TGlzdCopOwogICAgICAgICBDYWNoZUluZm8gYXBwbGljYXRpb25DYWNoZUluZm8oKTsKLSNlbmRp
ZgogCiAgICAgICAgIGJvb2wgc2hvdWxkTG9hZFJlc291cmNlRnJvbUFwcGxpY2F0aW9uQ2FjaGUo
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgQXBwbGljYXRpb25DYWNoZVJlc291cmNlKiYpOwogICAg
ICAgICBib29sIGdldEFwcGxpY2F0aW9uQ2FjaGVGYWxsYmFja1Jlc291cmNlKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZSomLCBBcHBsaWNhdGlvbkNhY2hl
KiA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggZGE4NzE1MWM3OWUyYzViOTJhZDgyN2I3OTkzMmNmMWJmNDg4
NGQ5Ny4uN2I3NGM5YWIyOGIwZDY0OTAzYzZjNjQ5YjUyNDhiMzJlZTMzNDgwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC00MjYsMTQgKzQyNiwxMCBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpzaG91bGRD
b250aW51ZUFmdGVyTm90aWZ5aW5nTG9hZGVkRnJvbU1lbW9yeUNhY2hlKGNvbgogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAogICAgIFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0ID0gUmVzb3VyY2VS
ZXF1ZXN0KHJlc291cmNlLT51cmwoKSk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAo
cmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5oaWRkZW5Gcm9tSW5zcGVjdG9yKCkpCiAgICAgICAg
IG5ld1JlcXVlc3Quc2V0SGlkZGVuRnJvbUluc3BlY3Rvcih0cnVlKTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKHJlcXVlc3QpOwotI2VuZGlmCiAgICAgZnJhbWUoKS0+bG9hZGVyKCkubG9hZGVk
UmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUocmVzb3VyY2UsIG5ld1JlcXVlc3QpOwotICAgIAorCiAg
ICAgLy8gRklYTUUgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTEzMjUxPjogSWYgdGhlIGRlbGVnYXRl
IG1vZGlmaWVzIHRoZSByZXF1ZXN0J3MKICAgICAvLyBVUkwsIGl0IGlzIG5vIGxvbmdlciBhcHBy
b3ByaWF0ZSB0byB1c2UgdGhpcyBDYWNoZWRSZXNvdXJjZS4KICAgICByZXR1cm4gIW5ld1JlcXVl
c3QuaXNOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAKaW5kZXggN2VhODE5N2Q2YzI2YTI2ZmQyNjIzMDViNTRmNGM0ZTkzYjE2NWY2Ny4uOTIy
NGVlZWVhZGRjMmViMGFkMmQyMzYwNmQwZDAwNTdmMzdjNmEzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMTc4LDEwICsxNzgsOCBAQCBz
dGQ6OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+IENvbnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVD
cmVhdGVDb250ZXh0TWVudShFdmVudAogCiB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hv
d0NvbnRleHRNZW51KEV2ZW50KiBldmVudCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChtX3BhZ2UuaW5zcGVjdG9yQ29udHJvbGxlcigpLmVuYWJsZWQoKSkKICAgICAgICAgYWRk
SW5zcGVjdEVsZW1lbnRJdGVtKCk7Ci0jZW5kaWYKIAogI2lmIFVTRShDUk9TU19QTEFURk9STV9D
T05URVhUX01FTlVTKQogICAgIG1fY29udGV4dE1lbnUgPSBtX2NsaWVudC5jdXN0b21pemVNZW51
KFdURjo6bW92ZShtX2NvbnRleHRNZW51KSk7CkBAIC01MjEsMTIgKzUxOSwxMCBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJ
dGVtKiBpdGVtKQogICAgICAgICBmcmFtZS0+ZWRpdG9yKCkudG9nZ2xlQXV0b21hdGljU3BlbGxp
bmdDb3JyZWN0aW9uKCk7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgogICAgICAg
ICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5pbnNw
ZWN0b3JDb250cm9sbGVyKCkuaW5zcGVjdChtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLmlubmVy
Tm9uU2hhcmVkTm9kZSgpKTsKICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKICAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlOgogICAgICAgICBmcmFtZS0+ZWRpdG9y
KCkuYXBwbHlEaWN0YXRpb25BbHRlcm5hdGl2ZWx0ZXJuYXRpdmUoaXRlbS0+dGl0bGUoKSk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtOTE5LDkgKzkxNSw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9s
bGVyOjpwb3B1bGF0ZSgpCiAgICAgICAgICAgICAgICAgYXBwZW5kSXRlbShTcGVlY2hNZW51SXRl
bSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAjZW5kaWYgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICB9IGVsc2UgewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgICAgICAgICAgaWYg
KCEoZnJhbWUtPnBhZ2UoKSAmJiAoZnJhbWUtPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
Lmhhc0luc3BlY3RvckZyb250ZW5kQ2xpZW50KCkgfHwgZnJhbWUtPnBhZ2UoKS0+aW5zcGVjdG9y
Q29udHJvbGxlcigpLmhhc1JlbW90ZUZyb250ZW5kKCkpKSkgewotI2VuZGlmCiAKICAgICAgICAg
ICAgICAgICAvLyBJbiBHVEsrIHVuYXZhaWxhYmxlIGl0ZW1zIGFyZSBub3QgaGlkZGVuIGJ1dCBp
bnNlbnNpdGl2ZS4KICNpZiBQTEFURk9STShHVEspCkBAIC05NDMsOSArOTM3LDcgQEAgdm9pZCBD
b250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkKICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgIGFwcGVuZEl0ZW0oUmVsb2FkSXRlbSwgbV9jb250ZXh0TWVudS5n
ZXQoKSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICAgICAgICAgIH0K
LSNlbmRpZgogCiAgICAgICAgICAgICAgICAgaWYgKGZyYW1lLT5wYWdlKCkgJiYgIWZyYW1lLT5p
c01haW5GcmFtZSgpKQogICAgICAgICAgICAgICAgICAgICBhcHBlbmRJdGVtKE9wZW5GcmFtZUl0
ZW0sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwpAQCAtMTExMyw3ICsxMTA1LDYgQEAgdm9pZCBDb250
ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmFkZEluc3BlY3RFbGVtZW50SXRl
bSgpCiB7CiAgICAgTm9kZSogbm9kZSA9IG1fY29udGV4dC5oaXRUZXN0UmVzdWx0KCkuaW5uZXJO
b25TaGFyZWROb2RlKCk7CkBAIC0xMTM3LDcgKzExMjgsNiBAQCB2b2lkIENvbnRleHRNZW51Q29u
dHJvbGxlcjo6YWRkSW5zcGVjdEVsZW1lbnRJdGVtKCkKICAgICAgICAgYXBwZW5kSXRlbSgqc2Vw
YXJhdG9ySXRlbSgpLCBtX2NvbnRleHRNZW51LmdldCgpKTsKICAgICBhcHBlbmRJdGVtKEluc3Bl
Y3RFbGVtZW50SXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiB9Ci0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKIAogdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibGVJ
Zk5lZWRlZChDb250ZXh0TWVudUl0ZW0mIGl0ZW0pIGNvbnN0CiB7CkBAIC0xNDA0LDkgKzEzOTQs
NyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkKENv
bnRleHRNZW51SXRlbSYgaXRlbSkgY29uc3QKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdUZXh0RGlyZWN0aW9uTWVudToKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdQREZT
aW5nbGVQYWdlU2Nyb2xsaW5nOgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1BERkZh
Y2luZ1BhZ2VzU2Nyb2xsaW5nOgotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIGNhc2Ug
Q29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ6Ci0jZW5kaWYKICAgICAgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnOgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRl
bUN1c3RvbVRhZ05vQWN0aW9uOgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbUxhc3RDdXN0
b21UYWc6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMmQ5ODI2MjViNjVlN2UyMjlj
OTgyYjNkYjY2NTIwNzY2NDBmZjBhOC4uNzY4YThhZDNlZjcwMWE2NTQ3NGY4OGYxMmQ5YWQwODlh
NzBjYTcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzAxNywxNCArMzAxNywx
MiBAQCB2b2lkIEZyYW1lVmlldzo6c2VuZFJlc2l6ZUV2ZW50SWZOZWVkZWQoKQogICAgICAgICBm
cmFtZSgpLmRvY3VtZW50KCktPmVucXVldWVXaW5kb3dFdmVudChyZXNpemVFdmVudC5yZWxlYXNl
KCkpOwogICAgIH0KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkgJiYgaXNNYWluRnJhbWUpIHsKICAgICAgICAg
aWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICAgICAgaWYgKEluc3Bl
Y3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50ID0gcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
Lmluc3BlY3RvckNsaWVudCgpKQogICAgICAgICAgICAgICAgIGluc3BlY3RvckNsaWVudC0+ZGlk
UmVzaXplTWFpbkZyYW1lKCZmcmFtZSgpKTsKICAgICAgICAgfQogICAgIH0KLSNlbmRpZgogfQog
CiB2b2lkIEZyYW1lVmlldzo6d2lsbFN0YXJ0TGl2ZVJlc2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApp
bmRleCAxYzkyYWI3NDBmMjhkMzFkN2I0NGY5NzZlMDY1YzNjMmJiNTQwMzgzLi44YzMxOGIyZmJk
OWNjZDU4NWUzOWM4Y2ZkOWM5MGM3MmQ1YTgzYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTE0
MSw5ICsxNDEsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiBwYWdlQ29uZmlndXJh
dGlvbikKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkKICAgICAsIG1fcmVwbGF5Q29udHJvbGxlcihz
dGQ6Om1ha2VfdW5pcXVlPFJlcGxheUNvbnRyb2xsZXI+KCp0aGlzKSkKICNlbmRpZgotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIoc3RkOjptYWtlX3Vu
aXF1ZTxJbnNwZWN0b3JDb250cm9sbGVyPigqdGhpcywgcGFnZUNvbmZpZ3VyYXRpb24uaW5zcGVj
dG9yQ2xpZW50KSkKLSNlbmRpZgogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgLCBtX3Bv
aW50ZXJMb2NrQ29udHJvbGxlcihzdGQ6Om1ha2VfdW5pcXVlPFBvaW50ZXJMb2NrQ29udHJvbGxl
cj4oKnRoaXMpKQogI2VuZGlmCkBAIC0yNTgsOSArMjU2LDcgQEAgUGFnZTo6flBhZ2UoKQogICAg
IGlmIChtX2FsdGVybmF0aXZlVGV4dENsaWVudCkKICAgICAgICAgbV9hbHRlcm5hdGl2ZVRleHRD
bGllbnQtPnBhZ2VEZXN0cm95ZWQoKTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgbV9p
bnNwZWN0b3JDb250cm9sbGVyLT5pbnNwZWN0ZWRQYWdlRGVzdHJveWVkKCk7Ci0jZW5kaWYKIAog
ICAgIGlmIChtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yKQogICAgICAgICBtX3Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLT5wYWdlRGVzdHJveWVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGViZmVkN2EyNjVjNTBm
YWZhMDFhMjEyMGZmNTFlOTRiZjg5MDQ5ZjMuLjI4YzA0ZDhjN2Y3YjYyNGZhMTMzNGFhNTdjMzVm
MTRiZjJlMWUwYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0xODEsOSArMTgxLDcgQEAgcHVibGljOgog
I2lmIEVOQUJMRShXRUJfUkVQTEFZKQogICAgIFJlcGxheUNvbnRyb2xsZXImIHJlcGxheUNvbnRy
b2xsZXIoKSBjb25zdCB7IHJldHVybiAqbV9yZXBsYXlDb250cm9sbGVyOyB9CiAjZW5kaWYKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEluc3BlY3RvckNvbnRyb2xsZXImIGluc3BlY3RvckNv
bnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiAqbV9pbnNwZWN0b3JDb250cm9sbGVyOyB9Ci0jZW5k
aWYKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIFBvaW50ZXJMb2NrQ29udHJvbGxlciYg
cG9pbnRlckxvY2tDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gKm1fcG9pbnRlckxvY2tDb250
cm9sbGVyOyB9CiAjZW5kaWYKQEAgLTQ2OCw5ICs0NjYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJM
RShXRUJfUkVQTEFZKQogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxSZXBsYXlDb250cm9sbGVy
PiBtX3JlcGxheUNvbnRyb2xsZXI7CiAjZW5kaWYKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JDb250cm9sbGVyPiBtX2luc3BlY3RvckNv
bnRyb2xsZXI7Ci0jZW5kaWYKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogICAgIGNvbnN0IHN0
ZDo6dW5pcXVlX3B0cjxQb2ludGVyTG9ja0NvbnRyb2xsZXI+IG1fcG9pbnRlckxvY2tDb250cm9s
bGVyOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0
TWVudUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmlu
ZGV4IGQ2MDQwZWIzZTkwOWJjY2M3MzRlOWM5MTU5NzRjNzJlNmJmZTdiZDYuLjJhOTY2OTFiMDgy
ZmEzMjMwNjI3YmRlYjg2NjRlMTJlOWY0Mjg0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NvbnRleHRNZW51SXRlbS5oCkBAIC0xMzAsOSArMTMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCwKICAgICAgICAgQ29udGV4
dE1lbnVJdGVtVGFnUERGU2luZ2xlUGFnZVNjcm9sbGluZywKICAgICAgICAgQ29udGV4dE1lbnVJ
dGVtVGFnUERGRmFjaW5nUGFnZXNTY3JvbGxpbmcsCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICAgICAgQ29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQsCi0jZW5kaWYKICAgICAgICAg
Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUsIC8vIFRleHQgRGlyZWN0aW9uIHN1
Yi1tZW51CiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0LAog
ICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvRWZsSW5zcGVjdG9yVXRpbGl0aWVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxJbnNwZWN0b3JVdGlsaXRpZXMu
Y3BwCmluZGV4IDIxODdhYjk3NDJkZmNkNDcwMDNlODFjYjQzOWI0NWI4MDFlOGI3OGYuLjE5OTQ5
MzU1M2MwNDlhMDEzOGQ2YzIwOTQ1NDQ3NTk0MjMwZWI3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxJbnNwZWN0b3JVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxJbnNwZWN0b3JVdGlsaXRpZXMuY3BwCkBAIC0xNyw4
ICsxNyw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICNpbmNsdWRlICJFZmxJbnNwZWN0b3JVdGlsaXRpZXMuaCIKIAogI2luY2x1ZGUgPHVu
aXN0ZC5oPgpAQCAtMzYsNSArMzQsMyBAQCBTdHJpbmcgaW5zcGVjdG9yUmVzb3VyY2VQYXRoKCkK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxJbnNwZWN0b3JVdGlsaXRpZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9FZmxJbnNwZWN0b3JVdGlsaXRpZXMuaAppbmRleCA5MzNhMzI0
NWQyMDEyYTlhNTAwMDY0YTRkNzI4NzQ3N2I5NzI4NDNjLi45NzU0MTliNDVhYTU4YzcwNjgzMDZk
NzgxNWNmODIzYWU1NjExNTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvRWZsSW5zcGVjdG9yVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
ZWZsL0VmbEluc3BlY3RvclV0aWxpdGllcy5oCkBAIC0xOSw4ICsxOSw2IEBACiAjaWZuZGVmIEVm
bEluc3BlY3RvclV0aWxpdGllc19oCiAjZGVmaW5lIEVmbEluc3BlY3RvclV0aWxpdGllc19oCiAK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI5LDUgKzI3LDQgQEAgU3RyaW5nIGluc3BlY3Rv
clJlc291cmNlUGF0aCgpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgogI2Vu
ZGlmIC8vIEVmbEluc3BlY3RvclV0aWxpdGllc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDNmODllYmU3ODUw
M2Y5Y2U0NTFhNDBhMDQ2NmY2OGIwMmQ0ZjY0MGUuLjliNWU3OTcwNzE4YjA0NGQ5YzM0ZjIyYzdi
ZDhlZTA1NThlNjYwNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC0xNDMsMTEgKzE0Myw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCByZXBvcnRSYXdIZWFkZXJzKCkgY29uc3QgeyByZXR1
cm4gbV9yZXBvcnRSYXdIZWFkZXJzOyB9CiAgICAgICAgIHZvaWQgc2V0UmVwb3J0UmF3SGVhZGVy
cyhib29sIHJlcG9ydFJhd0hlYWRlcnMpIHsgbV9yZXBvcnRSYXdIZWFkZXJzID0gcmVwb3J0UmF3
SGVhZGVyczsgfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgLy8gV2hldGhlciB0
aGlzIHJlcXVlc3Qgc2hvdWxkIGJlIGhpZGRlbiBmcm9tIHRoZSBJbnNwZWN0b3IuCiAgICAgICAg
IGJvb2wgaGlkZGVuRnJvbUluc3BlY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuRnJvbUlu
c3BlY3RvcjsgfQogICAgICAgICB2b2lkIHNldEhpZGRlbkZyb21JbnNwZWN0b3IoYm9vbCBoaWRk
ZW5Gcm9tSW5zcGVjdG9yKSB7IG1faGlkZGVuRnJvbUluc3BlY3RvciA9IGhpZGRlbkZyb21JbnNw
ZWN0b3I7IH0KLSNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogICAgICAgICBib29sIGVu
Y29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkBAIC0x
NzUsOSArMTczLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX3JlcG9y
dFVwbG9hZFByb2dyZXNzKGZhbHNlKQogICAgICAgICAgICAgLCBtX3JlcG9ydExvYWRUaW1pbmco
ZmFsc2UpCiAgICAgICAgICAgICAsIG1fcmVwb3J0UmF3SGVhZGVycyhmYWxzZSkKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQogICAgICAgICAgICAgLCBtX2hpZGRlbkZyb21JbnNwZWN0b3IoZmFsc2Up
Ci0jZW5kaWYKICAgICAgICAgICAgICwgbV9wcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eUxv
dykKICAgICAgICAgewogICAgICAgICB9CkBAIC0xOTksOSArMTk1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgLCBtX3JlcG9ydFVwbG9hZFByb2dyZXNzKGZhbHNlKQogICAg
ICAgICAgICAgLCBtX3JlcG9ydExvYWRUaW1pbmcoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcmVw
b3J0UmF3SGVhZGVycyhmYWxzZSkKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICAgICAg
LCBtX2hpZGRlbkZyb21JbnNwZWN0b3IoZmFsc2UpCi0jZW5kaWYKICAgICAgICAgICAgICwgbV9w
cmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eUxvdykKICAgICAgICAgewogICAgICAgICB9CkBA
IC0yMjgsOSArMjIyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fcmVw
b3J0VXBsb2FkUHJvZ3Jlc3MgOiAxOwogICAgICAgICBib29sIG1fcmVwb3J0TG9hZFRpbWluZyA6
IDE7CiAgICAgICAgIGJvb2wgbV9yZXBvcnRSYXdIZWFkZXJzIDogMTsKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgICAgICBib29sIG1faGlkZGVuRnJvbUluc3BlY3RvciA6IDE7Ci0jZW5kaWYK
ICAgICAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgbV9wcmlvcml0eSA6IDQ7IC8vIG5vdCB1bnNp
Z25lZCBiZWNhdXNlIFJlc291cmNlTG9hZFByaW9yaXR5IGhhcyBuZWdhdGl2ZSB2YWx1ZXMKIAog
ICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCmluZGV4IGYyZDE3MDBhYzYwMzdjZjky
MjZlMDY2YThiMWVhYjA3NTFkZjFkNzEuLmM2NDc1ZGZkY2FjZWVjMTI4YTExM2UwM2JkNmU3MmVh
MzdmZjUyMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCkBAIC0yMzIsMTcgKzIzMiwxMyBAQCB2
b2lkIFJlc291cmNlUmVxdWVzdDo6dXBkYXRlRnJvbURlbGVnYXRlUHJlc2VydmluZ09sZFByb3Bl
cnRpZXMoY29uc3QgUmVzb3VyY2VSZQogewogICAgIFJlc291cmNlTG9hZFByaW9yaXR5IG9sZFBy
aW9yaXR5ID0gcHJpb3JpdHkoKTsKICAgICBSZWZQdHI8Rm9ybURhdGE+IG9sZEhUVFBCb2R5ID0g
aHR0cEJvZHkoKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGJvb2wgaXNIaWRkZW5Gcm9t
SW5zcGVjdG9yID0gaGlkZGVuRnJvbUluc3BlY3RvcigpOwotI2VuZGlmCiAKICAgICAqdGhpcyA9
IGRlbGVnYXRlUHJvdmlkZWRSZXF1ZXN0OwogCiAgICAgc2V0UHJpb3JpdHkob2xkUHJpb3JpdHkp
OwogICAgIHNldEhUVFBCb2R5KG9sZEhUVFBCb2R5LnJlbGVhc2UoKSk7Ci0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICBzZXRIaWRkZW5Gcm9tSW5zcGVjdG9yKGlzSGlkZGVuRnJvbUluc3BlY3Rv
cik7Ci0jZW5kaWYKIH0KIAogdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VS
ZXF1ZXN0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29j
b2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL1Jlc291cmNlUmVxdWVzdENvY29hLm1tCmluZGV4IDA0NTM4NDEwZmE2ZGRjNGIy
ZjQzMTY5NDZjZjcyNjRkNjEwN2IxYzkuLjBhNjA5ZmMyNzUwNTlkZDUyOGZjZDE4ODI0ZDc1OTA5
ODI5ZjdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29j
b2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jb2NvYS9SZXNvdXJjZVJlcXVlc3RDb2NvYS5tbQpAQCAtMjEyLDE3ICsyMTIsMTMg
QEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRQ
cm9wZXJ0aWVzKGNvbnN0IFJlc291cmNlUmUKIHsKICAgICBSZXNvdXJjZUxvYWRQcmlvcml0eSBv
bGRQcmlvcml0eSA9IHByaW9yaXR5KCk7CiAgICAgUmVmUHRyPEZvcm1EYXRhPiBvbGRIVFRQQm9k
eSA9IGh0dHBCb2R5KCk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBib29sIGlzSGlkZGVu
RnJvbUluc3BlY3RvciA9IGhpZGRlbkZyb21JbnNwZWN0b3IoKTsKLSNlbmRpZgogCiAgICAgKnRo
aXMgPSBkZWxlZ2F0ZVByb3ZpZGVkUmVxdWVzdDsKIAogICAgIHNldFByaW9yaXR5KG9sZFByaW9y
aXR5KTsKICAgICBzZXRIVFRQQm9keShvbGRIVFRQQm9keS5yZWxlYXNlKCkpOwotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgc2V0SGlkZGVuRnJvbUluc3BlY3Rvcihpc0hpZGRlbkZyb21JbnNw
ZWN0b3IpOwotI2VuZGlmCiB9CiAKICNpZiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IDA2YmZjZmZiOTJjNDc2NzJmNzYwMmMyMjFmMDI2ZWM1OGNj
NzZkOTIuLjhmYTM4NmFmZmYwOGFjNzNlMDAwZmY5Y2UwZDRmM2MwYzFlYjJiM2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE3OSw3ICsxNzksNiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnREdW1teSA6IHB1YmxpYyBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudExvY2FsIHsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudER1bW15KEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdlKik7CkBAIC0yMjQsNyArMjIz
LDYgQEAgYm9vbCBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxEdW1teTo6c2VuZE1lc3NhZ2VUb0Zy
b250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICByZXR1cm4gSW5zcGVjdG9yQ2xp
ZW50Ojpkb0Rpc3BhdGNoTWVzc2FnZU9uRnJvbnRlbmRQYWdlKG1fZnJvbnRlbmRQYWdlLCBtZXNz
YWdlKTsKIH0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogCiBzdGF0aWMgYm9vbCBtYXJr
ZXJUeXBlc0Zyb20oY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlLCBEb2N1bWVudE1hcmtlcjo6TWFy
a2VyVHlwZXMmIHJlc3VsdCkKIHsKQEAgLTI4OCw5ICsyODYsNyBAQCB2b2lkIEludGVybmFsczo6
cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShQYWdlKiBwYWdlKQogICAgIFRleHRSdW46OnNldEFsbG93
c1JvdW5kaW5nSGFja3MoZmFsc2UpOwogICAgIFdlYkNvcmU6Om92ZXJyaWRlVXNlclByZWZlcnJl
ZExhbmd1YWdlcyhWZWN0b3I8U3RyaW5nPigpKTsKICAgICBXZWJDb3JlOjpTZXR0aW5nczo6c2V0
VXNlc092ZXJsYXlTY3JvbGxiYXJzKGZhbHNlKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5zZXRQcm9maWxlckVuYWJsZWQoZmFsc2UpOwot
I2VuZGlmCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIHBhZ2UtPmdyb3VwKCkuY2FwdGlv
blByZWZlcmVuY2VzKCktPnNldENhcHRpb25zU3R5bGVTaGVldE92ZXJyaWRlKGVtcHR5U3RyaW5n
KCkpOwogICAgIHBhZ2UtPmdyb3VwKCkuY2FwdGlvblByZWZlcmVuY2VzKCktPnNldFRlc3RpbmdN
b2RlKGZhbHNlKTsKQEAgLTc3Nyw3ICs3NzMsNiBAQCBSZWY8Q2xpZW50UmVjdD4gSW50ZXJuYWxz
Ojpib3VuZGluZ0JveChFbGVtZW50KiBlbGVtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKIAogUmVm
PENsaWVudFJlY3RMaXN0PiBJbnRlcm5hbHM6Omluc3BlY3RvckhpZ2hsaWdodFJlY3RzKEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRG9jdW1lbnQqIGRv
Y3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1l
bnQtPnBhZ2UoKSkgewogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKQEAgLTc4Nywx
NSArNzgyLDEwIEBAIFJlZjxDbGllbnRSZWN0TGlzdD4gSW50ZXJuYWxzOjppbnNwZWN0b3JIaWdo
bGlnaHRSZWN0cyhFeGNlcHRpb25Db2RlJiBlYykKICAgICBIaWdobGlnaHQgaGlnaGxpZ2h0Owog
ICAgIGRvY3VtZW50LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS5nZXRIaWdobGlnaHQo
aGlnaGxpZ2h0LCBJbnNwZWN0b3JPdmVybGF5OjpDb29yZGluYXRlU3lzdGVtOjpWaWV3KTsKICAg
ICByZXR1cm4gQ2xpZW50UmVjdExpc3Q6OmNyZWF0ZShoaWdobGlnaHQucXVhZHMpOwotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0oZWMpOwotICAgIHJldHVybiBDbGllbnRSZWN0TGlzdDo6Y3JlYXRl
KCk7Ci0jZW5kaWYKIH0KIAogU3RyaW5nIEludGVybmFsczo6aW5zcGVjdG9ySGlnaGxpZ2h0T2Jq
ZWN0KEV4Y2VwdGlvbkNvZGUmIGVjKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRG9j
dW1lbnQqIGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7CiAgICAgaWYgKCFkb2N1bWVudCB8
fCAhZG9jdW1lbnQtPnBhZ2UoKSkgewogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsK
QEAgLTgwMywxMCArNzkzLDYgQEAgU3RyaW5nIEludGVybmFsczo6aW5zcGVjdG9ySGlnaGxpZ2h0
T2JqZWN0KEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIH0KICAgICBhdXRvIG9iamVjdCA9IGRvY3Vt
ZW50LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS5idWlsZE9iamVjdEZvckhpZ2hsaWdo
dGVkTm9kZSgpOwogICAgIHJldHVybiBvYmplY3QgPyBvYmplY3QtPnRvSlNPTlN0cmluZygpIDog
U3RyaW5nKCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShlYyk7Ci0gICAgcmV0dXJuIFN0cmlu
ZygpOwotI2VuZGlmCiB9CiAKIHVuc2lnbmVkIEludGVybmFsczo6bWFya2VyQ291bnRGb3JOb2Rl
KE5vZGUqIG5vZGUsIGNvbnN0IFN0cmluZyYgbWFya2VyVHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMp
CkBAIC0xNDg0LDcgKzE0NzAsNiBAQCB1bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJlck9mTGl2ZURv
Y3VtZW50cygpIGNvbnN0CiAgICAgcmV0dXJuIERvY3VtZW50OjphbGxEb2N1bWVudHMoKS5zaXpl
KCk7CiB9CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogVmVjdG9yPFN0cmluZz4gSW50ZXJuYWxz
Ojpjb25zb2xlTWVzc2FnZUFyZ3VtZW50Q291bnRzKCkgY29uc3QKIHsKICAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKQEAgLTE1NjYsNyArMTU1MSw2IEBAIHZvaWQg
SW50ZXJuYWxzOjpzZXRJbnNwZWN0b3JJc1VuZGVyVGVzdChib29sIGlzVW5kZXJUZXN0LCBFeGNl
cHRpb25Db2RlJiBlYykKIAogICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS5zZXRJc1Vu
ZGVyVGVzdChpc1VuZGVyVGVzdCk7CiB9Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIAog
Ym9vbCBJbnRlcm5hbHM6Omhhc0dyYW1tYXJNYXJrZXIoaW50IGZyb20sIGludCBsZW5ndGgsIEV4
Y2VwdGlvbkNvZGUmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMzAwODhl
ODBkZDM3Mzg2ODUzMDNhOTg3MjA3NTczN2NkNTk5YjBlZS4uOWZiNzE0NjFhY2E5NTRjZTJmYjdj
ZGU3N2FmMjFkYTA1YjQzMTdjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0y
MzMsMTMgKzIzMywxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlTm9kZXMo
KSBjb25zdDsKICAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdDsKIAot
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgVmVjdG9yPFN0cmluZz4gY29uc29sZU1lc3NhZ2VB
cmd1bWVudENvdW50cygpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8RE9NV2luZG93PiBvcGVuRHVt
bXlJbnNwZWN0b3JGcm9udGVuZChjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBjbG9zZUR1
bW15SW5zcGVjdG9yRnJvbnRlbmQoKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdF
bmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0SW5zcGVj
dG9ySXNVbmRlclRlc3QoYm9vbCBpc1VuZGVyVGVzdCwgRXhjZXB0aW9uQ29kZSYpOwotI2VuZGlm
CiAKICAgICBTdHJpbmcgY291bnRlclZhbHVlKEVsZW1lbnQqKTsKIApAQCAtMzY2LDExICszNjQs
MTAgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U3RyaW5nPiBpY29uVVJMcyhEb2N1bWVudCosIGlu
dCBpY29uVHlwZXNNYXNrKSBjb25zdDsKIAogICAgIFJlbmRlcmVkRG9jdW1lbnRNYXJrZXIqIG1h
cmtlckF0KE5vZGUqLCBjb25zdCBTdHJpbmcmIG1hcmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBF
eGNlcHRpb25Db2RlJik7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKKwogICAgIFJlZlB0cjxET01X
aW5kb3c+IG1fZnJvbnRlbmRXaW5kb3c7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvckZy
b250ZW5kQ2xpZW50RHVtbXk+IG1fZnJvbnRlbmRDbGllbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbER1bW15PiBtX2Zyb250ZW5kQ2hhbm5lbDsKLSNlbmRp
ZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IGE5NDI1NGIyMmY4NmJjMmVlY2NiYjg0MDFkZTQzZTcxOGVhZmQzZDUuLjZm
OWU0MWI3MWJjM2ExMmM4ZDlmNzVmNWQyM2M4NzNjNTZkNjA0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKQEAgLTE5OSwxMSArMTk5LDExIEBAIGVudW0gUGFnZU92ZXJsYXlU
eXBlIHsKIAogICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlTm9kZXMoKTsKICAgICB1bnNp
Z25lZCBsb25nIG51bWJlck9mTGl2ZURvY3VtZW50cygpOwotICAgIFtDb25kaXRpb25hbD1JTlNQ
RUNUT1JdIHNlcXVlbmNlPERPTVN0cmluZz4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cygp
OwotICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIERPTVdpbmRvdyBvcGVuRHVtbXlJbnNwZWN0
b3JGcm9udGVuZChET01TdHJpbmcgdXJsKTsKLSAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB2
b2lkIGNsb3NlRHVtbXlJbnNwZWN0b3JGcm9udGVuZCgpOwotICAgIFtDb25kaXRpb25hbD1JTlNQ
RUNUT1IsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxl
ZChib29sZWFuIGNyZWF0ZXMpOwotICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1IsIFJhaXNlc0V4
Y2VwdGlvbl0gdm9pZCBzZXRJbnNwZWN0b3JJc1VuZGVyVGVzdChib29sZWFuIGlzVW5kZXJUZXN0
KTsKKyAgICBzZXF1ZW5jZTxET01TdHJpbmc+IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMo
KTsKKyAgICBET01XaW5kb3cgb3BlbkR1bW15SW5zcGVjdG9yRnJvbnRlbmQoRE9NU3RyaW5nIHVy
bCk7CisgICAgdm9pZCBjbG9zZUR1bW15SW5zcGVjdG9yRnJvbnRlbmQoKTsKKyAgICBbUmFpc2Vz
RXhjZXB0aW9uXSB2b2lkIHNldEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKGJvb2xlYW4gY3Jl
YXRlcyk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRJbnNwZWN0b3JJc1VuZGVyVGVz
dChib29sZWFuIGlzVW5kZXJUZXN0KTsKIAogICAgIERPTVN0cmluZyBjb3VudGVyVmFsdWUoRWxl
bWVudCBlbGVtZW50KTsKICAgICBsb25nIHBhZ2VOdW1iZXIoRWxlbWVudCBlbGVtZW50LCBvcHRp
b25hbCB1bnJlc3RyaWN0ZWQgZmxvYXQgcGFnZVdpZHRoLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQg
ZmxvYXQgcGFnZUhlaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwCmluZGV4IGZiNGE5MjU0YWQ2Yzg0N2FkYjI5MTU3NjhiMzMwNzkxYTRlYjY3ZTUu
LjViZDhhMWY2N2QwZTk5MDg0MGI4NGJkMDVhMmQ5ZGI3MmJjMTI0M2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC03MCw5ICs3MCw3IEBAIFdv
cmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIFdvCiAgICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCiAgICAg
LCBtX3NjcmlwdChzdGQ6Om1ha2VfdW5pcXVlPFdvcmtlclNjcmlwdENvbnRyb2xsZXI+KHRoaXMp
KQogICAgICwgbV90aHJlYWQodGhyZWFkKQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLCBt
X3dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxXb3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyPigqdGhpcykpCi0jZW5kaWYKICAgICAsIG1fY2xvc2luZyhmYWxzZSkKICAg
ICAsIG1fZXZlbnRRdWV1ZSgqdGhpcykKICAgICAsIG1fdG9wT3JpZ2luKHRvcE9yaWdpbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA4NTRkMWE4MGEy
OGI1NmZhNGFkZTU0MDE2ODIyMzMxOWM2M2U5MDZkLi5kNTRmN2M0MTJhNTI3OWYxZjE4NzU1NmUy
ODI1NzZjMGJhODFkNjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oCkBAIC05OSw5ICs5OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNKU0V4ZWN1dGlvbkZvcmJpZGRlbigpIGNvbnN0IG92ZXJyaWRlOwogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlciYgd29y
a2VySW5zcGVjdG9yQ29udHJvbGxlcigpIHsgcmV0dXJuICptX3dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXI7IH0KLSNlbmRpZgorCiAgICAgICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIHVzZWQgZm9y
IEdDIG1hcmtpbmcuIFNlZSBKU1dvcmtlckdsb2JhbFNjb3BlOjp2aXNpdENoaWxkcmVuVmlydHVh
bChTbG90VmlzaXRvciYpIGluCiAgICAgICAgIC8vIEpTV29ya2VyR2xvYmFsU2NvcGVDdXN0b20u
Y3BwLgogICAgICAgICBXb3JrZXJOYXZpZ2F0b3IqIG9wdGlvbmFsTmF2aWdhdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7IH0KQEAgLTE2Niw5ICsxNjUsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJTY3JpcHRDb250cm9s
bGVyPiBtX3NjcmlwdDsKICAgICAgICAgV29ya2VyVGhyZWFkJiBtX3RocmVhZDsKIAotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCiAgICAgICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyPiBtX3dvcmtlckluc3BlY3RvckNvbnRyb2xsZXI7Ci0jZW5kaWYKICAg
ICAgICAgYm9vbCBtX2Nsb3Npbmc7CiAKICAgICAgICAgSGFzaFNldDxPYnNlcnZlcio+IG1fd29y
a2VyT2JzZXJ2ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZVByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlUHJveHkuaAppbmRleCA5Mjg2NDE2Y2I2OTVlMzBjMGY5YTVmMDc4NmJhODExNjc5ODVjYzky
Li43OWY2N2E0MWY4NDVjNGJmYmM0MThlOWRmMGVhNTViZTMyMGQyOWUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNjAsNyArNjAs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeU5l
dHdvcmtTdGF0ZUNoYW5nZShib29sIGlzT25saW5lKSA9IDA7CiAKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgICAgICBjbGFzcyBQYWdlSW5zcGVjdG9yIHsKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgdmlydHVhbCB+UGFnZUluc3BlY3RvcigpIHsgfQpAQCAtNjksNyArNjgsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0VG9JbnNwZWN0
b3IoUGFnZUluc3BlY3RvciopIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZy
b21JbnNwZWN0b3IoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHNlbmRNZXNzYWdlVG9JbnNw
ZWN0b3IoY29uc3QgU3RyaW5nJikgeyB9Ci0jZW5kaWYKICAgICB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuY3BwCmluZGV4IDY2OWZjMTgzMmNjYTExZGFlY2E1NTcwNWQyYWE2NWIzYjhjMjViMzYuLjQz
N2MxMDhjOTM1YmU1ZjIxM2I1ZGNlZDM1ZDZjOTMyNTE2M2EwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC02Myw5ICs2Myw3IEBA
IFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqIHdvcmtl
ck9iamVjdCkKICAgICAsIG1fdW5jb25maXJtZWRNZXNzYWdlQ291bnQoMCkKICAgICAsIG1fd29y
a2VyVGhyZWFkSGFkUGVuZGluZ0FjdGl2aXR5KGZhbHNlKQogICAgICwgbV9hc2tlZFRvVGVybWlu
YXRlKGZhbHNlKQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLCBtX3BhZ2VJbnNwZWN0b3Io
bnVsbHB0cikKLSNlbmRpZgogewogICAgIEFTU0VSVChtX3dvcmtlck9iamVjdCk7CiAgICAgQVNT
RVJUKChpczxEb2N1bWVudD4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgJiYgaXNNYWluVGhy
ZWFkKCkpCkBAIC0yMTMsNyArMjExLDYgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6bm90
aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGJvb2wgaXNPbmxpbmUpCiAgICAgfSk7CiB9CiAKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6Y29ubmVjdFRvSW5z
cGVjdG9yKFdvcmtlckdsb2JhbFNjb3BlUHJveHk6OlBhZ2VJbnNwZWN0b3IqIHBhZ2VJbnNwZWN0
b3IpCiB7CiAgICAgaWYgKG1fYXNrZWRUb1Rlcm1pbmF0ZSkKQEAgLTI0NSw3ICsyNDIsNiBAQCB2
b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzZW5kTWVzc2FnZVRvSW5zcGVjdG9yKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKICAgICB9LCBXb3JrZXJEZWJ1Z2dlckFnZW50OjpkZWJ1Z2dlclRhc2tN
b2RlKTsKICAgICBXb3JrZXJEZWJ1Z2dlckFnZW50OjppbnRlcnJ1cHRBbmREaXNwYXRjaEluc3Bl
Y3RvckNvbW1hbmRzKG1fd29ya2VyVGhyZWFkLmdldCgpKTsKIH0KLSNlbmRpZgogCiB2b2lkIFdv
cmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJHbG9iYWxTY29wZURlc3Ryb3llZCgpCiB7CkBAIC0y
ODgsNyArMjg0LDYgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6dGVybWluYXRlV29ya2Vy
R2xvYmFsU2NvcGUoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d29ya2VyR2xvYmFs
U2NvcGVUZXJtaW5hdGVkKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5nZXQoKSwgdGhpcyk7CiB9
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9z
dE1lc3NhZ2VUb1BhZ2VJbnNwZWN0b3IoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIFN0
cmluZ0NhcHR1cmUgY2FwdHVyZWRNZXNzYWdlKG1lc3NhZ2UpOwpAQCAtMjk3LDcgKzI5Miw2IEBA
IHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICAgICAgICAgIG1fcGFnZUluc3BlY3Rvci0+ZGlzcGF0
Y2hNZXNzYWdlRnJvbVdvcmtlcihjYXB0dXJlZE1lc3NhZ2Uuc3RyaW5nKCkpOwogICAgIH0pOwog
fQotI2VuZGlmCiAKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OmNvbmZpcm1NZXNzYWdlRnJv
bVdvcmtlck9iamVjdChib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCAzMTIwZDliNDllOTRlMDY5
ZTM3MjgyNGU3ZGZhMWUwNDk3YTJiMzRjLi45NTk0MWM2MjRmNGZjOWNjM2ViMGZjMjMwYmEyYmQ3
NTA4ZmRlZmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCkBAIC01NywyMCArNTcsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCB3b3JrZXJPYmplY3REZXN0cm95ZWQoKSBvdmVycmlkZTsKICAgICAgICAg
dmlydHVhbCB2b2lkIG5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShib29sIGlzT25saW5lKSBvdmVy
cmlkZTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb25u
ZWN0VG9JbnNwZWN0b3IoV29ya2VyR2xvYmFsU2NvcGVQcm94eTo6UGFnZUluc3BlY3RvciopIG92
ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb21JbnNwZWN0b3IoKSBv
dmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIHNlbmRNZXNzYWdlVG9JbnNwZWN0b3IoY29u
c3QgU3RyaW5nJikgb3ZlcnJpZGU7Ci0jZW5kaWYKIAogICAgICAgICAvLyBJbXBsZW1lbnRhdGlv
bnMgb2YgV29ya2VyT2JqZWN0UHJveHkuCiAgICAgICAgIC8vIChPbmx5IHVzZSB0aGVzZSBtZXRo
b2RzIGluIHRoZSB3b3JrZXIgY29udGV4dCB0aHJlYWQuKQogICAgICAgICB2aXJ0dWFsIHZvaWQg
cG9zdE1lc3NhZ2VUb1dvcmtlck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIHN0ZDo6dW5pcXVlX3B0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pIG92ZXJyaWRlOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwpIG92ZXJyaWRlOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9z
dENvbnNvbGVNZXNzYWdlVG9Xb3JrZXJPYmplY3QoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVy
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9QYWdlSW5zcGVjdG9yKGNvbnN0
IFN0cmluZyYpIG92ZXJyaWRlOwotI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjb25maXJt
TWVzc2FnZUZyb21Xb3JrZXJPYmplY3QoYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpIG92ZXJyaWRl
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0UGVuZGluZ0FjdGl2aXR5KGJvb2wgaGFzUGVu
ZGluZ0FjdGl2aXR5KSBvdmVycmlkZTsKICAgICAgICAgdmlydHVhbCB2b2lkIHdvcmtlckdsb2Jh
bFNjb3BlQ2xvc2VkKCkgb3ZlcnJpZGU7CkBAIC0xMTIsOSArMTA5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIG1fYXNrZWRUb1Rlcm1pbmF0ZTsKIAogICAgICAgICBWZWN0
b3I8c3RkOjp1bmlxdWVfcHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+PiBtX3F1ZXVl
ZEVhcmx5VGFza3M7IC8vIFRhc2tzIGFyZSBxdWV1ZWQgaGVyZSB1bnRpbCB0aGVyZSdzIGEgdGhy
ZWFkIG9iamVjdCBjcmVhdGVkLgotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgICAgIFdvcmtl
ckdsb2JhbFNjb3BlUHJveHk6OlBhZ2VJbnNwZWN0b3IqIG1fcGFnZUluc3BlY3RvcjsKLSNlbmRp
ZgogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyUmVwb3J0aW5nUHJveHkuaAppbmRleCAxZDU1YmUzZTdhMjA3ZjllMTA4NTE1
ODBmODVhNWY4MmRiOTMyNzc5Li5kZjM1ZTUxNTgyMzE3OTAxM2ZiNGRhYTlhOWM5ZGI2ODU0ODRm
NGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJlcG9ydGluZ1By
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSZXBvcnRpbmdQcm94eS5o
CkBAIC00NCw5ICs0NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2
b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMKSA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RDb25zb2xlTWVzc2FnZVRvV29y
a2VyT2JqZWN0KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpID0gMDsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwb3N0TWVzc2FnZVRvUGFnZUluc3BlY3Rvcihjb25zdCBTdHJpbmcmKSA9IDA7Ci0jZW5kaWYK
KwogICAgICAgICAvLyBJbnZva2VkIHdoZW4gY2xvc2UoKSBpcyBpbnZva2VkIG9uIHRoZSB3b3Jr
ZXIgY29udGV4dC4KICAgICAgICAgdmlydHVhbCB2b2lkIHdvcmtlckdsb2JhbFNjb3BlQ2xvc2Vk
KCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggMmNh
YmNmNWZiOWVjMTQ4Zjg5OGI5YzJjNDllYTdiN2Y4OGI0YTUwOC4uMGZiZWIxZDcxNGM4NDE1YzI2
MDM2ZWQwZTMyYzA5ZWUwZjVhNmIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcApAQCAtMTU2LDkgKzE1Niw3IEBAIHZvaWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJl
YWQoKQogICAgIH0KIAogICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIHNjcmlwdCA9IG1fd29y
a2VyR2xvYmFsU2NvcGUtPnNjcmlwdCgpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVXb3JrZXJTY3JpcHQod29ya2VyR2xv
YmFsU2NvcGUoKSwgbV9zdGFydHVwRGF0YS0+bV9zdGFydE1vZGUpOwotI2VuZGlmCiAgICAgc2Ny
aXB0LT5ldmFsdWF0ZShTY3JpcHRTb3VyY2VDb2RlKG1fc3RhcnR1cERhdGEtPm1fc291cmNlQ29k
ZSwgbV9zdGFydHVwRGF0YS0+bV9zY3JpcHRVUkwpKTsKICAgICAvLyBGcmVlIHRoZSBzdGFydHVw
IGRhdGEgdG8gY2F1c2UgaXRzIG1lbWJlciB2YXJpYWJsZSBkZXJlZidzIGhhcHBlbiBvbiB0aGUg
d29ya2VyJ3MgdGhyZWFkIChzaW5jZQogICAgIC8vIGFsbCByZWYvZGVyZWZzIG9mIHRoZXNlIG9i
amVjdHMgYXJlIGhhcHBlbmluZyBvbiB0aGUgdGhyZWFkIGF0IHRoaXMgcG9pbnQpLiBOb3RlIHRo
YXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0
R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluIGIvU291cmNlL1dlYktpdC9XZWJLaXQudmN4
cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4KaW5kZXggNDc1
OWJkMDYwYmVkNmRjNTZkMWZlODMwZjU0MDJlYTI5YTM5NGIyZi4uYjNmODE0YjRlOTlhYTNkY2Nj
OWYwNzRlNjdlYzFmMzRmMzM1MWZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQu
dmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0
RXhwb3J0cy5kZWYuaW4KQEAgLTIwNyw3ICsyMDcsNiBAQCBFWFBPUlRTCiAgICAgICAgIHN5bWJv
bFdpdGhQb2ludGVyKD9pbnRlcnNlY3RzQEludFJlY3RAV2ViQ29yZUBAUUJFX05BQlYxMkBAWiwg
P2ludGVyc2VjdHNASW50UmVjdEBXZWJDb3JlQEBRRUJBX05BRUJWMTJAQFopCiAgICAgICAgIHN5
bWJvbFdpdGhQb2ludGVyKD9pdGVtQFN0YXRpY05vZGVMaXN0QFdlYkNvcmVAQFVCRVBBVk5vZGVA
MkBJQFosID9pdGVtQFN0YXRpY05vZGVMaXN0QFdlYkNvcmVAQFVFQkFQRUFWTm9kZUAyQElAWikK
ICAgICAgICAgP3NlbGVjdFRhZ0BIVE1MTmFtZXNAV2ViQ29yZUBAM1ZIVE1MUXVhbGlmaWVkTmFt
ZUAyQEIKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/
YnVpbGRPYmplY3RGb3JIaWdobGlnaHRlZE5vZGVASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3Jl
QEBRQkU/QVY/JFJlZlB0ckBWTm9kZUhpZ2hsaWdodERhdGFAT3ZlcmxheVR5cGVzQFByb3RvY29s
QEluc3BlY3RvckBAQFdURkBAWFosID9idWlsZE9iamVjdEZvckhpZ2hsaWdodGVkTm9kZUBJbnNw
ZWN0b3JDb250cm9sbGVyQFdlYkNvcmVAQFFCRUE/QVY/JFJlZlB0ckBWTm9kZUhpZ2hsaWdodERh
dGFAT3ZlcmxheVR5cGVzQFByb3RvY29sQEluc3BlY3RvckBAQFdURkBAWFopCiAgICAgICAgIHN5
bWJvbFdpdGhQb2ludGVyKD9nZXRIaWdobGlnaHRASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3Jl
QEBRQkVYQUFVSGlnaGxpZ2h0QDJAVzRDb29yZGluYXRlU3lzdGVtQEluc3BlY3Rvck92ZXJsYXlA
MkBAWiwgP2dldEhpZ2hsaWdodEBJbnNwZWN0b3JDb250cm9sbGVyQFdlYkNvcmVAQFFCRVhFQUFV
SGlnaGxpZ2h0QDJAVzRDb29yZGluYXRlU3lzdGVtQEluc3BlY3Rvck92ZXJsYXlAMkBAWikKICAg
ICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2luc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdlQEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkBXZWJDb3JlQEBTQVBBVkluc3RydW1lbnRpbmdBZ2VudHNAMkBQ
QVZQYWdlQDJAQFosID9pbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZUBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25AV2ViQ29yZUBAU0FQRUFWSW5zdHJ1bWVudGluZ0FnZW50c0AyQFBFQVZQYWdlQDJA
QFopCkBAIC0yMzEsNyArMjMwLDYgQEAgRVhQT1JUUwogICAgICAgICBzeW1ib2xXaXRoUG9pbnRl
cig/cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50QFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdURkBAQUJW
MjNAMEBaLCA/cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50QFdlYkNvcmVAQFlBP0FWU3RyaW5nQFdU
RkBAQUVCVjIzQDBAWikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP3NldFByb2ZpbGVyRW5h
YmxlZEBJbnNwZWN0b3JDb250cm9sbGVyQFdlYkNvcmVAQFFBRVhfTkBaLCA/c2V0UHJvZmlsZXJF
bmFibGVkQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBAUUVBQVhfTkBaKQogICAgICAgICBz
eW1ib2xXaXRoUG9pbnRlcig/ZGlzY29ubmVjdEZyb250ZW5kQEluc3BlY3RvckNvbnRyb2xsZXJA
V2ViQ29yZUBAUUFFWFc0SW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbkBJbnNwZWN0b3JAQEBaLCA/
ZGlzY29ubmVjdEZyb250ZW5kQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBAUUVBQVhXNElu
c3BlY3RvckRpc2Nvbm5lY3RSZWFzb25ASW5zcGVjdG9yQEBAWikKLSNlbmRpZgogICAgICAgICBz
eW1ib2xXaXRoUG9pbnRlcig/aXNBY3RpdmVJbnNlcnRpb25Qb2ludEBXZWJDb3JlQEBZQV9OUEJW
Tm9kZUAxQEBaLCA/aXNBY3RpdmVJbnNlcnRpb25Qb2ludEBXZWJDb3JlQEBZQV9OUEVCVk5vZGVA
MUBAWikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2lzUHJlbG9hZGVkQENhY2hlZFJlc291
cmNlTG9hZGVyQFdlYkNvcmVAQFFCRV9OQUJWU3RyaW5nQFdURkBAQFosID9pc1ByZWxvYWRlZEBD
YWNoZWRSZXNvdXJjZUxvYWRlckBXZWJDb3JlQEBRRUJBX05BRUJWU3RyaW5nQFdURkBAQFopCiAg
ICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9qc0FycmF5QFdlYkNvcmVAQFlBP0FWSlNWYWx1ZUBK
U0NAQFBBVkV4ZWNTdGF0ZUAzQFBBVkpTRE9NR2xvYmFsT2JqZWN0QDFAVj8kUGFzc1JlZlB0ckBW
RE9NU3RyaW5nTGlzdEBXZWJDb3JlQEBAV1RGQEBAWiwgP2pzQXJyYXlAV2ViQ29yZUBAWUE/QVZK
U1ZhbHVlQEpTQ0BAUEVBVkV4ZWNTdGF0ZUAzQFBFQVZKU0RPTUdsb2JhbE9iamVjdEAxQFY/JFBh
c3NSZWZQdHJAVkRPTVN0cmluZ0xpc3RAV2ViQ29yZUBAQFdURkBAQFopCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IDFhY2U0OGM3YTkwZTkyNjJjYjNjMGI1ODQ0ODg0ZGEwNDYxMDQ2NWEuLjZjNGJmNWQw
YzI2M2JmMDg0ZTBlNWIzNmZhOTg3NjQwODk0ODhjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0x
MDQsNyArMTA0LDYgQEAgRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTFtzZGs9aXBob25l
Kl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMOwogRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEhbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEg7CiBFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9UWVBFX1RJTUU7CiBFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLW3Nkaz1pcGhvbmUqXSA9IEVOQUJMRV9JTlBVVF9UWVBFX1dFRUs7
Ci1FTkFCTEVfSU5TUEVDVE9SID0gRU5BQkxFX0lOU1BFQ1RPUjsKIAogRU5BQkxFX0lOU1BFQ1RP
Ul9BTFRFUk5BVEVfRElTUEFUQ0hFUlNbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOU1BFQ1RPUl9B
TFRFUk5BVEVfRElTUEFUQ0hFUlM7CiBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRD
SEVSU1tzZGs9bWFjb3N4Kl0gPSAkKEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENI
RVJTX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSkKQEAgLTIyNiw0ICsy
MjUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9JT1NfQUlS
UExBWSkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JT1NfQUlS
UExBWSkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCmluZGV4IGVjZDc3NzQxYWIzMjgxOWI1YWZj
Y2NmYjQwODEzN2ZlMDNmMDM3NzguLjg0NDcxNjQzMTRkNTU0ZjQ1NjkxZTljMjI5OGM2ZTRkYzNm
YmIwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBAIC0zNDMsOSArMzQzLDcgQEAgdm9pZCBXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxv
YWRlciwgdW5zaWcKICAgICBOU1VSTFJlcXVlc3QgKmN1cnJlbnRVUkxSZXF1ZXN0ID0gcmVxdWVz
dC5uc1VSTFJlcXVlc3QoVXBkYXRlSFRUUEJvZHkpOwogICAgIE5TVVJMUmVxdWVzdCAqbmV3VVJM
UmVxdWVzdCA9IGN1cnJlbnRVUkxSZXF1ZXN0OwogICAgIFJlc291cmNlTG9hZFByaW9yaXR5IHBy
aW9yaXR5ID0gcmVxdWVzdC5wcmlvcml0eSgpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
Ym9vbCBpc0hpZGRlbkZyb21JbnNwZWN0b3IgPSByZXF1ZXN0LmhpZGRlbkZyb21JbnNwZWN0b3Io
KTsKLSNlbmRpZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBib29sIGlzTWFpblJlc291cmNlUmVx
dWVzdCA9IHJlcXVlc3QuZGVwcmVjYXRlZElzTWFpblJlc291cmNlUmVxdWVzdCgpOwogICAgIGlm
IChpbXBsZW1lbnRhdGlvbnMtPndlYlRocmVhZFdpbGxTZW5kUmVxdWVzdEZ1bmMpIHsKQEAgLTM1
Nyw5ICszNTUsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFdpbGxTZW5k
UmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZwogCiAgICAgaWYgKG5ld1VSTFJl
cXVlc3QgIT0gY3VycmVudFVSTFJlcXVlc3QpCiAgICAgICAgIHJlcXVlc3QgPSBuZXdVUkxSZXF1
ZXN0OwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgcmVxdWVzdC5zZXRIaWRkZW5Gcm9tSW5z
cGVjdG9yKGlzSGlkZGVuRnJvbUluc3BlY3Rvcik7Ci0jZW5kaWYKICNpZiBQTEFURk9STShJT1Mp
CiAgICAgcmVxdWVzdC5kZXByZWNhdGVkU2V0TWFpblJlc291cmNlUmVxdWVzdChpc01haW5SZXNv
dXJjZVJlcXVlc3QpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCA4OGZiYTNlZDM3NzcyZDhm
NmIyMzJjZjc4ZjliMWRhZjM1NmRhMDZlLi44MjI0ZDRlZThiNTVhODM1ZWI5NDQ0NmFlOTg1MjNi
MDI3YTFlYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTI4LDggKzI4LDYgQEAKIAogI2luY2x1ZGUg
IldlYkluc3BlY3RvckNsaWVudC5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1
ZGUgIldlYkNvcmVCdW5kbGVXaW4uaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JEZWxlZ2F0ZS5o
IgogI2luY2x1ZGUgIldlYktpdC5oIgpAQCAtNTYwLDUgKzU1OCwzIEBAIHN0YXRpYyBBVE9NIHJl
Z2lzdGVyV2luZG93Q2xhc3MoKQogCiAgICAgcmV0dXJuIDo6UmVnaXN0ZXJDbGFzc0V4KCZ3Y2V4
KTsKIH0KLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmNwcAppbmRleCA1NTRlNWNiMTFjNzZjNmVjMDJhYzM1YTJiN2RjOGI3M2ZlOTY5ZmMxLi43
NWY3ZDE0NDE2ZWM0ZWI1NDAyOTdmZWQxMjA0MDRlYzcwYTc2ZmYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
Ykluc3BlY3Rvci5jcHAKQEAgLTI4LDggKzI4LDYgQEAKIAogI2luY2x1ZGUgIldlYkluc3BlY3Rv
ci5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIldlYkluc3BlY3RvckNs
aWVudC5oIgogI2luY2x1ZGUgIldlYktpdERMTC5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKQEAg
LTI3NCw1ICsyNzIsMyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkluc3BlY3Rvcjo6
c2V0VGltZWxpbmVQcm9maWxpbmdFbmFibGVkKEJPT0wgZW5hYmxlZAogICAgIGZyb250ZW5kQ2xp
ZW50KCktPnNldFRpbWVsaW5lUHJvZmlsaW5nRW5hYmxlZChlbmFibGVkKTsKICAgICByZXR1cm4g
U19PSzsKIH0KLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
Yk5vZGVIaWdobGlnaHQuY3BwCmluZGV4IDI5ZTA4MDBkOWFmNzZhYjdkNTNjZTYyNjIxNTcwYWI5
YWY3M2NiZGIuLjNiYWMyYTk2ZjkxOTBiN2RmYzhkYTJlM2U0Mjk5YzM0MmViNGVmNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYk5vZGVIaWdobGlnaHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYk5vZGVIaWdobGlnaHQuY3BwCkBAIC00NywxNyArNDcsMTIgQEAgc3Rh
dGljIEFUT00gcmVnaXN0ZXJPdmVybGF5Q2xhc3MoKTsKIHN0YXRpYyBMUENUU1RSIGtXZWJOb2Rl
SGlnaGxpZ2h0UG9pbnRlclByb3AgPSBURVhUKCJXZWJOb2RlSGlnaGxpZ2h0UG9pbnRlciIpOwog
CiBXZWJOb2RlSGlnaGxpZ2h0OjpXZWJOb2RlSGlnaGxpZ2h0KFdlYlZpZXcqIHdlYlZpZXcpCi0g
ICAgOiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKSAgICAKLSAgICAgIG1faW5zcGVjdGVkV2ViVmll
dyh3ZWJWaWV3KSwKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgbV9vdmVybGF5
KDApCisgICAgOiBtX2luc3BlY3RlZFdlYlZpZXcod2ViVmlldykKKyAgICAsIG1fb3ZlcmxheSgw
KQogICAgICwgbV9vYnNlcnZlZFdpbmRvdygwKQogICAgICwgbV9zaG93c1doaWxlV2ViVmlld0lz
VmlzaWJsZShmYWxzZSkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIG1faW5zcGVjdGVk
V2ViVmlldy0+dmlld1dpbmRvdygmbV9pbnNwZWN0ZWRXZWJWaWV3V2luZG93KTsKLSNlbmRpZiAv
LyBFTkFCTEUoSU5TUEVDVE9SKQogfQogCiBXZWJOb2RlSGlnaGxpZ2h0Ojp+V2ViTm9kZUhpZ2hs
aWdodCgpCkBAIC0xNjMsOSArMTU4LDcgQEAgdm9pZCBXZWJOb2RlSGlnaGxpZ2h0Ojp1cGRhdGUo
KQogICAgIDo6U2VsZWN0T2JqZWN0KGhkYy5nZXQoKSwgaGJtcC5nZXQoKSk7CiAKICAgICBHcmFw
aGljc0NvbnRleHQgY29udGV4dChoZGMuZ2V0KCkpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAg
ICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS5kcmF3
SGlnaGxpZ2h0KGNvbnRleHQpOwotI2VuZGlmCiAKICAgICBCTEVOREZVTkNUSU9OIGJmOwogICAg
IGJmLkJsZW5kT3AgPSBBQ19TUkNfT1ZFUjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYk5vZGVIaWdobGlnaHQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYk5vZGVIaWdobGlnaHQu
aAppbmRleCA3YTFjMTFiYzEwMDIxMmZjMjYyY2MwZjY3YWFjOGY1ZTlkNjhiMDE3Li4yZjgyNjlh
OWM4NTIxYjhjNmIzN2EzYTc0ZGE5MThlNThkZGRmNTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViTm9k
ZUhpZ2hsaWdodC5oCkBAIC01OSw5ICs1OSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBvbldlYlZp
ZXdXaW5kb3dQb3NDaGFuZ2VkKFdJTkRPV1BPUyopOwogICAgIHZvaWQgb25Sb290V2luZG93UG9z
Q2hhbmdlZChXSU5ET1dQT1MqKTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgV2ViVmll
dyogbV9pbnNwZWN0ZWRXZWJWaWV3OwotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCisKICAg
ICBIV05EIG1faW5zcGVjdGVkV2ViVmlld1dpbmRvdzsKICAgICBIV05EIG1fb3ZlcmxheTsKICAg
ICBIV05EIG1fb2JzZXJ2ZWRXaW5kb3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGNlNTdlMGY5
ZDdhNjA1NmM4ZGVjN2QwOWQ3NDEzZWI3ODBmZTY2NjMuLjIzN2MyMjljNGVlMmEyMDMyOTIzNjhl
YjZkMjU3YjZkODI5NmNjNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0zODUsOSArMzg1LDcg
QEAgV2ViVmlldzo6V2ViVmlldygpCiAgICAgLCBtX3ZpZXdXaW5kb3coMCkKICAgICAsIG1fbWFp
bkZyYW1lKDApCiAgICAgLCBtX3BhZ2UoMCkKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwg
bV9pbnNwZWN0b3JDbGllbnQoMCkKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwg
bV9oYXNDdXN0b21Ecm9wVGFyZ2V0KGZhbHNlKQogICAgICwgbV91c2VCYWNrRm9yd2FyZExpc3Qo
dHJ1ZSkKICAgICAsIG1fdXNlckFnZW50T3ZlcnJpZGRlbihmYWxzZSkKQEAgLTc3MywxMSArNzcx
LDkgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjpjbG9zZSgpCiAgICAgc2V0
VUlEZWxlZ2F0ZSgwKTsKICAgICBzZXRGb3JtRGVsZWdhdGUoMCk7CiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgIG1faW5zcGVjdG9yQ2xpZW50ID0gMDsKICAgICBpZiAobV93ZWJJbnNwZWN0
b3IpCiAgICAgICAgIG1fd2ViSW5zcGVjdG9yLT53ZWJWaWV3Q2xvc2VkKCk7Ci0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikKIAogICAgIGRlbGV0ZSBtX3BhZ2U7CiAgICAgbV9wYWdlID0gMDsK
QEAgLTI4MDAsMTggKzI3OTYsMTQgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3
Ojppbml0V2l0aEZyYW1lKAogICAgIGlmIChTVUNDRUVERUQobV9wcmVmZXJlbmNlcy0+c2hvdWxk
VXNlSGlnaFJlc29sdXRpb25UaW1lcnMoJnVzZUhpZ2hSZXNvbHV0aW9uVGltZXIpKSkKICAgICAg
ICAgU2V0dGluZ3M6OnNldFNob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJzKHVzZUhpZ2hSZXNv
bHV0aW9uVGltZXIpOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBtX2luc3BlY3RvckNs
aWVudCA9IG5ldyBXZWJJbnNwZWN0b3JDbGllbnQodGhpcyk7Ci0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKIAogICAgIFBhZ2VDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb247CiAgICAgY29u
ZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpOwogICAg
IGNvbmZpZ3VyYXRpb24uY29udGV4dE1lbnVDbGllbnQgPSBuZXcgV2ViQ29udGV4dE1lbnVDbGll
bnQodGhpcyk7CiAgICAgY29uZmlndXJhdGlvbi5lZGl0b3JDbGllbnQgPSBuZXcgV2ViRWRpdG9y
Q2xpZW50KHRoaXMpOwogICAgIGNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFn
Q2xpZW50KHRoaXMpOwotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgY29uZmlndXJhdGlvbi5p
bnNwZWN0b3JDbGllbnQgPSBtX2luc3BlY3RvckNsaWVudDsKLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQogICAgIGNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbmV3
IFdlYkZyYW1lTG9hZGVyQ2xpZW50OwogICAgIGNvbmZpZ3VyYXRpb24uZGF0YWJhc2VQcm92aWRl
ciA9ICZXZWJEYXRhYmFzZVByb3ZpZGVyOjpzaGFyZWQoKTsKICAgICBjb25maWd1cmF0aW9uLnN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlciA9IFdlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6Y3Jl
YXRlKGxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aChtX3ByZWZlcmVuY2VzLmdldCgpKSk7CkBAIC01
OTA2LDE0ICs1ODk4LDEwIEBAIGJvb2wgV2ViVmlldzo6b25JTUVTZXRDb250ZXh0KFdQQVJBTSB3
cGFyYW0sIExQQVJBTSkKIAogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjppbnNw
ZWN0b3IoSVdlYkluc3BlY3RvcioqIGluc3BlY3RvcikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogICAgIGlmICghbV93ZWJJbnNwZWN0b3IpCiAgICAgICAgIG1fd2ViSW5zcGVjdG9yLmFkb3B0
UmVmKFdlYkluc3BlY3Rvcjo6Y3JlYXRlSW5zdGFuY2UodGhpcywgbV9pbnNwZWN0b3JDbGllbnQp
KTsKIAogICAgIHJldHVybiBtX3dlYkluc3BlY3Rvci5jb3B5UmVmVG8oaW5zcGVjdG9yKTsKLSNl
bHNlIC8vICFFTkFCTEUoSU5TUEVDVE9SKQotICAgIHJldHVybiBTX09LOwotI2VuZGlmIC8vIEVO
QUJMRShJTlNQRUNUT1IpCiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oCmluZGV4IGI2OWMzMmI3NThhMzA5
OGNkNzhiYzQ2ZmM1MzY3ZDY4YzQ1MWJiZmIuLjY3MjU5YjI0Yzk1YzAzMWE4MTFhMWQyMjZlMGZj
MmUzZTM0N2VlMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmgKQEAgLTEwNjYsMTAgKzEwNjYsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgSFdORCBtX3ZpZXdXaW5kb3c7CiAgICAgV2ViRnJhbWUqIG1fbWFpbkZyYW1l
OwogICAgIFdlYkNvcmU6OlBhZ2UqIG1fcGFnZTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IFdlYkluc3BlY3RvckNsaWVudCogbV9pbnNwZWN0b3JDbGllbnQ7Ci0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKLSAgICAKKwogICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRHRElPYmplY3Q8
SEJJVE1BUD4+IG1fYmFja2luZ1N0b3JlQml0bWFwOwogICAgIFNJWkUgbV9iYWNraW5nU3RvcmVT
aXplOwogICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRHRElPYmplY3Q8SFJHTj4+IG1fYmFja2lu
Z1N0b3JlRGlydHlSZWdpb247CkBAIC0xMDg2LDkgKzEwODQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
Q09NUHRyPElXZWJEb3dubG9hZERlbGVnYXRlPiBtX2Rvd25sb2FkRGVsZWdhdGU7CiAgICAgQ09N
UHRyPElXZWJIaXN0b3J5RGVsZWdhdGU+IG1faGlzdG9yeURlbGVnYXRlOwogICAgIENPTVB0cjxX
ZWJQcmVmZXJlbmNlcz4gbV9wcmVmZXJlbmNlczsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IENPTVB0cjxXZWJJbnNwZWN0b3I+IG1fd2ViSW5zcGVjdG9yOwotI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgQ09NUHRyPElXZWJHZW9sb2NhdGlvblByb3ZpZGVyPiBtX2dlb2xvY2F0
aW9uUHJvdmlkZXI7CiAKICAgICBib29sIG1fdXNlckFnZW50T3ZlcnJpZGRlbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggMWFjZTQ4YzdhOTBlOTI2MmNiM2MwYjU4NDQ4ODRkYTA0NjEwNDY1YS4uNmM0YmY1ZDBj
MjYzYmYwODRlMGU1YjM2ZmE5ODc2NDA4OTQ4OGNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTEwNCw3ICsx
MDQsNiBAQCBFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMW3Nkaz1pcGhvbmUqXSA9IEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUw7CiBFTkFCTEVfSU5QVVRfVFlQRV9NT05USFtz
ZGs9aXBob25lKl0gPSBFTkFCTEVfSU5QVVRfVFlQRV9NT05USDsKIEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUVbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOUFVUX1RZUEVfVElNRTsKIEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUtbc2RrPWlwaG9uZSpdID0gRU5BQkxFX0lOUFVUX1RZUEVfV0VFSzsKLUVOQUJM
RV9JTlNQRUNUT1IgPSBFTkFCTEVfSU5TUEVDVE9SOwogCiBFTkFCTEVfSU5TUEVDVE9SX0FMVEVS
TkFURV9ESVNQQVRDSEVSU1tzZGs9aXBob25lKl0gPSBFTkFCTEVfSU5TUEVDVE9SX0FMVEVSTkFU
RV9ESVNQQVRDSEVSUzsKIEVOQUJMRV9JTlNQRUNUT1JfQUxURVJOQVRFX0RJU1BBVENIRVJTW3Nk
az1tYWNvc3gqXSA9ICQoRU5BQkxFX0lOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlNfbWFj
b3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKQpAQCAtMjI2LDQgKzIyNSw0IEBA
IEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRI
TUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlNQRUNUT1IpICQoRU5BQkxFX0lPU19BSVJQTEFZKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lPU19BSVJQTEFZKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJl
ZEFQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3Qu
aAppbmRleCA4NzdjODM5MjVkMDhjNWFlMmZkNjI0YjhiNjVhYzYwMGFlODI1ODlkLi5kZDRkYmNj
ZjViMzYzNzFmYzAxNzliOTIxMmZjNWI5ZmU2NzdjZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCkBAIC00NTMsMTAgKzQ1Myw4IEBAIGlubGlu
ZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBh
Y3Rpb24pCiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdl
c1Njcm9sbGluZzsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlv
bkFsdGVybmF0aXZlOgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0
aW9uQWx0ZXJuYXRpdmU7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBjYXNlIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgogICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ7Ci0jZW5kaWYKICAgICBjYXNlIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25NZW51OgogICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnU7CiAgICAgY2FzZSBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uRGVmYXVsdDoKQEAgLTY0NywxMCArNjQ1LDgg
QEAgaW5saW5lIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbChXS0NvbnRleHRNZW51
SXRlbVRhZyB0YWcpCiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQ
REZGYWNpbmdQYWdlc1Njcm9sbGluZzsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Rp
Y3RhdGlvbkFsdGVybmF0aXZlOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmU7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBj
YXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgogICAgICAgICByZXR1cm4g
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ7Ci0jZW5kaWYKICAgICBj
YXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25NZW51OgogICAgICAgICByZXR1
cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnU7CiAgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uRGVmYXVsdDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggYWI2ZWE5MGY4
NjYwZDg1ZGM1MzJmODZmNmUyMTU2N2NiYWU4MTU1Ni4uNGMxYTdjNzMzNTI1ZTM5NWY0NDljYThm
MWMxNWRkZWQ1NmQzNWE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKQEAgLTY4Niw5ICs2ODYsNyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8
UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
UmVzbwogICAgIGVuY29kZXIgPDwgcmVzb3VyY2VSZXF1ZXN0LmNhY2hlUGFydGl0aW9uKCk7CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgZW5jb2RlciA8PCByZXNvdXJjZVJl
cXVlc3QuaGlkZGVuRnJvbUluc3BlY3RvcigpOwotI2VuZGlmCiAKICAgICBpZiAocmVzb3VyY2VS
ZXF1ZXN0LmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkgewogICAgICAgICBlbmNvZGVy
IDw8IHRydWU7CkBAIC03MDgsMTIgKzcwNiwxMCBAQCBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3Vy
Y2VSZXF1ZXN0Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VSZQog
ICAgIHJlc291cmNlUmVxdWVzdC5zZXRDYWNoZVBhcnRpdGlvbihjYWNoZVBhcnRpdGlvbik7CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgYm9vbCBpc0hpZGRlbkZyb21JbnNw
ZWN0b3I7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc0hpZGRlbkZyb21JbnNwZWN0b3IpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVzb3VyY2VSZXF1ZXN0LnNldEhpZGRlbkZyb21J
bnNwZWN0b3IoaXNIaWRkZW5Gcm9tSW5zcGVjdG9yKTsKLSNlbmRpZgogCiAgICAgYm9vbCBoYXNQ
bGF0Zm9ybURhdGE7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNQbGF0Zm9ybURhdGEpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHAKaW5kZXgg
YTg4NzI2MjMxMDE3Njc2YmQwMGJhYTlmYTg0MzUwNGE0MTQyZWUzOS4uNzVhMWNkNDgwN2U2MzU5
YmI2YWIyOTljOTlmZTkwMjEzZDMxZjdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tJbnNwZWN0b3IuY3BwCkBAIC0zNiwxNjIgKzM2LDg3IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CiAKIFdLVHlwZUlEIFdLSW5zcGVjdG9yR2V0VHlwZUlEKCkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVybiB0b0FQSShXZWJJbnNwZWN0b3JQcm94eTo6QVBJ
VHlwZSk7Ci0jZWxzZQotICAgIHJldHVybiAwOwotI2VuZGlmCiB9CiAKIFdLUGFnZVJlZiBXS0lu
c3BlY3RvckdldFBhZ2UoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChpbnNwZWN0b3JSZWYpLT5wYWdl
KCkpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAgICByZXR1cm4g
MDsKLSNlbmRpZgogfQogCiBib29sIFdLSW5zcGVjdG9ySXNDb25uZWN0ZWQoV0tJbnNwZWN0b3JS
ZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgcmV0dXJuIHRv
SW1wbChpbnNwZWN0b3JSZWYpLT5pc0Nvbm5lY3RlZCgpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0oaW5zcGVjdG9yUmVmKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKIH0KIAogYm9vbCBX
S0luc3BlY3RvcklzVmlzaWJsZShXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICByZXR1cm4gdG9JbXBsKGluc3BlY3RvclJlZiktPmlzVmlz
aWJsZSgpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAgICByZXR1
cm4gZmFsc2U7Ci0jZW5kaWYKIH0KIAogYm9vbCBXS0luc3BlY3RvcklzRnJvbnQoV0tJbnNwZWN0
b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgcmV0dXJu
IHRvSW1wbChpbnNwZWN0b3JSZWYpLT5pc0Zyb250KCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShpbnNwZWN0b3JSZWYpOwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiB2b2lkIFdL
SW5zcGVjdG9yQ29ubmVjdChXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5B
QkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+Y29ubmVjdCgpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSNlbmRpZgogfQogCiB2b2lkIFdL
SW5zcGVjdG9yU2hvdyhXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+c2hvdygpOwotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSNlbmRpZgogfQogCiB2b2lkIFdLSW5zcGVj
dG9ySGlkZShXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+aGlkZSgpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSNlbmRpZgogfQogCiB2b2lkIFdLSW5zcGVjdG9yQ2xv
c2UoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAgICAgdG9JbXBsKGluc3BlY3RvclJlZiktPmNsb3NlKCk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShpbnNwZWN0b3JSZWYpOwotI2VuZGlmCiB9CiAKIHZvaWQgV0tJbnNwZWN0b3JTaG93Q29u
c29sZShXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+c2hvd0NvbnNvbGUoKTsKLSNlbHNlCi0gICAg
VU5VU0VEX1BBUkFNKGluc3BlY3RvclJlZik7Ci0jZW5kaWYKIH0KIAogdm9pZCBXS0luc3BlY3Rv
clNob3dSZXNvdXJjZXMoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQogewotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgdG9JbXBsKGluc3BlY3RvclJlZiktPnNob3dSZXNvdXJjZXMoKTsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGluc3BlY3RvclJlZik7Ci0jZW5kaWYKIH0KIAogdm9p
ZCBXS0luc3BlY3RvclNob3dNYWluUmVzb3VyY2VGb3JGcmFtZShXS0luc3BlY3RvclJlZiBpbnNw
ZWN0b3JSZWYsIFdLRnJhbWVSZWYgZnJhbWVSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+c2hvd01haW5SZXNvdXJjZUZvckZyYW1lKHRvSW1w
bChmcmFtZVJlZikpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAg
ICBVTlVTRURfUEFSQU0oZnJhbWVSZWYpOwotI2VuZGlmCiB9CiAKIGJvb2wgV0tJbnNwZWN0b3JJ
c0F0dGFjaGVkKFdLSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikKIHsKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgIHJldHVybiB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+aXNBdHRhY2hlZCgpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci0jZW5kaWYKIH0KIAogdm9pZCBXS0luc3BlY3RvckF0dGFjaChXS0luc3BlY3RvclJlZiBpbnNw
ZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9y
UmVmKS0+YXR0YWNoKCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwot
I2VuZGlmCiB9CiAKIHZvaWQgV0tJbnNwZWN0b3JEZXRhY2goV0tJbnNwZWN0b3JSZWYgaW5zcGVj
dG9yUmVmKQogewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdG9JbXBsKGluc3BlY3RvclJl
ZiktPmRldGFjaCgpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9yUmVmKTsKLSNl
bmRpZgogfQogCiBib29sIFdLSW5zcGVjdG9ySXNQcm9maWxpbmdQYWdlKFdLSW5zcGVjdG9yUmVm
IGluc3BlY3RvclJlZikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVybiB0b0lt
cGwoaW5zcGVjdG9yUmVmKS0+aXNQcm9maWxpbmdQYWdlKCk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShpbnNwZWN0b3JSZWYpOwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiB2b2lk
IFdLSW5zcGVjdG9yVG9nZ2xlUGFnZVByb2ZpbGluZyhXS0luc3BlY3RvclJlZiBpbnNwZWN0b3JS
ZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+
dG9nZ2xlUGFnZVByb2ZpbGluZygpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oaW5zcGVjdG9y
UmVmKTsKLSNlbmRpZgogfQogCiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNWRmNDY3YTA2ZTlmYzI4ODlhMmFh
ODk0MTY4M2ZmYmYyYzA3NjM3NS4uMDFhZWNhZjk5ZWY4MzAxMGE3NTc3OGE0MTg3MDMxYzg0MGUy
MjMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTI3
NywxMiArMjc3LDcgQEAgdWludDY0X3QgV0tQYWdlR2V0UmVuZGVyVHJlZVNpemUoV0tQYWdlUmVm
IHBhZ2UpCiAKIFdLSW5zcGVjdG9yUmVmIFdLUGFnZUdldEluc3BlY3RvcihXS1BhZ2VSZWYgcGFn
ZVJlZikKIHsKLSNpZiBkZWZpbmVkKEVOQUJMRV9JTlNQRUNUT1IpICYmIEVOQUJMRV9JTlNQRUNU
T1IKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5pbnNwZWN0b3IoKSk7Ci0jZWxz
ZQotICAgIFVOVVNFRF9QQVJBTShwYWdlUmVmKTsKLSAgICByZXR1cm4gMDsKLSNlbmRpZgogfQog
CiBXS1ZpYnJhdGlvblJlZiBXS1BhZ2VHZXRWaWJyYXRpb24oV0tQYWdlUmVmIHBhZ2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggNzgxN2M1
ZGM0OGZjYzQyY2MzMDBhMWY0MjllZjU3NmM4ZWMyNzgyMC4uY2JmMWMwNDQ4YTYyOWU2MTM1NGY2
MWY2ZDYxMDA3ZGY5NzFlZGVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImV3a192aWV3X3By
aXZhdGUuaCIKIAogI2luY2x1ZGUgIkV3a1ZpZXcuaCIKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3JQ
cm94eS5oIgogI2luY2x1ZGUgImV3a19iYWNrX2ZvcndhcmRfbGlzdF9wcml2YXRlLmgiCiAjaW5j
bHVkZSAiZXdrX2NvbnRleHRfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a19tYWluX3ByaXZhdGUu
aCIKQEAgLTQyLDEwICs0Myw2IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dLVmlld0VmbC5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0jaW5j
bHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKLSNlbmRpZgotCiAjaWYgSEFWRShBQ0NFU1NJQklM
SVRZKQogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHkuaCIKICNlbmRpZgpAQCAtNTA3LDcgKzUw
NCw2IEBAIEVpbmFfQm9vbCBld2tfdmlld190b3VjaF9ldmVudHNfZW5hYmxlZF9nZXQoY29uc3Qg
RXZhc19PYmplY3QqIGV3a1ZpZXcpCiAKIEVpbmFfQm9vbCBld2tfdmlld19pbnNwZWN0b3Jfc2hv
dyhFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEVX
S19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAKICAgICBX
S0luc3BlY3RvclJlZiB3a0luc3BlY3RvciA9IFdLUGFnZUdldEluc3BlY3RvcihpbXBsLT53a1Bh
Z2UoKSk7CkBAIC01MTUsMTUgKzUxMSwxMCBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfaW5zcGVjdG9y
X3Nob3coRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAgICAgICAgIFdLSW5zcGVjdG9yU2hvdyh3a0lu
c3BlY3Rvcik7CiAKICAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGV3
a1ZpZXcpOwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfaW5zcGVjdG9yX2Nsb3NlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgRVdLX1ZJRVdfSU1QTF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGws
IGZhbHNlKTsKIAogICAgIFdLSW5zcGVjdG9yUmVmIHdrSW5zcGVjdG9yID0gV0tQYWdlR2V0SW5z
cGVjdG9yKGltcGwtPndrUGFnZSgpKTsKQEAgLTUzMSwxMCArNTIyLDYgQEAgRWluYV9Cb29sIGV3
a192aWV3X2luc3BlY3Rvcl9jbG9zZShFdmFzX09iamVjdCogZXdrVmlldykKICAgICAgICAgV0tJ
bnNwZWN0b3JDbG9zZSh3a0luc3BlY3Rvcik7CiAKICAgICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGV3a1ZpZXcpOwotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQog
CiBpbmxpbmUgV0tQYWdpbmF0aW9uTW9kZSB0b1dLUGFnaW5hdGlvbk1vZGUoRXdrX1BhZ2luYXRp
b25fTW9kZSBtb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvdGVzdHMvdGVzdF9ld2syX3ZpZXcuY3BwCmluZGV4IGYwYTA5Yjk3NmEwYmFjZGI2ODdj
NmYwOTViMDdkN2M3NGE0NTUyMWQuLmJkYmMyNjkzNTUzNDU3M2MxOTE5YTZhYWQ5MWQyODM2NjVm
NTk2YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3Rz
L3Rlc3RfZXdrMl92aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy90ZXN0X2V3azJfdmlldy5jcHAKQEAgLTg5NywxMyArODk3LDggQEAgVEVTVF9GKEVX
SzJWaWV3VGVzdCwgd2luZG93X21vdmVfcmVzaXplKQogCiBURVNUX0YoRVdLMlZpZXdUZXN0LCBl
d2tfdmlld19pbnNwZWN0b3IpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBBU1NFUlRf
VFJVRShld2tfdmlld19pbnNwZWN0b3Jfc2hvdyh3ZWJWaWV3KCkpKTsKICAgICBBU1NFUlRfVFJV
RShld2tfdmlld19pbnNwZWN0b3JfY2xvc2Uod2ViVmlldygpKSk7Ci0jZWxzZQotICAgIEFTU0VS
VF9GQUxTRShld2tfdmlld19pbnNwZWN0b3Jfc2hvdyh3ZWJWaWV3KCkpKTsKLSAgICBBU1NFUlRf
RkFMU0UoZXdrX3ZpZXdfaW5zcGVjdG9yX2Nsb3NlKHdlYlZpZXcoKSkpOwotI2VuZGlmCiB9CiAK
IFRFU1RfRihFV0syVmlld1Rlc3QsIGV3a192aWV3X3NjYWxlX3dpdGhfZml4ZWRfbGF5b3V0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggYmQxODI3YjY3NDE3YTY5YzU0
MGM4YWI3ZTNmZmRjMjYzYTkzYjZjOS4uYjI3ZmUzNmU1NjMwNDYwMzJlNjBjNTg3NjY1NzdiZmMx
ZDNkYzYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yODUsNyAr
Mjg1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hEcmF3aW5nUGFnZXNU
b1BERihjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKSA9IDA7CiAgICAgdmlydHVhbCBWZWN0b3I8
U3RyaW5nPiBtaW1lVHlwZXNXaXRoQ3VzdG9tQ29udGVudFByb3ZpZGVycygpID0gMDsKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdmlydHVhbCB2b2lkIHNob3dJbnNwZWN0b3JIaWdobGln
aHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoaWRl
SW5zcGVjdG9ySGlnaGxpZ2h0KCkgPSAwOwogCkBAIC0yOTUsNyArMjk0LDYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBlbmFibGVJbnNwZWN0b3JOb2RlU2VhcmNoKCkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpID0gMDsKICNlbmRpZgotI2Vu
ZGlmCiAKICAgICAvLyBBdXhpbGlhcnkgQ2xpZW50IENyZWF0aW9uCiAjaWYgRU5BQkxFKEZVTExT
Q1JFRU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94
eS5jcHAKaW5kZXggNGVjYzFmYzNkY2EzNGJjNjQ4Y2FmYTllMzQxZjY2MjM0MTliMTgxNS4uNzNl
YjM1NjlhNWJmMjllYWNiMjBjNDNkNjY4NmM0ZmI2OTQzODY3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKIAotI2lm
IEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRlICJBUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uaCIKICNpbmNsdWRlICJBUElVUkxSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xp
Y3lMaXN0ZW5lclByb3h5LmgiCkBAIC02NDcsNSArNjQ1LDMgQEAgdm9pZCBXZWJJbnNwZWN0b3JQ
cm94eTo6c2VuZE1lc3NhZ2VUb1JlbW90ZUZyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkK
ICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9y
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCmlu
ZGV4IGUzMGU2MWI4YmJlMTgxNDUzOTM0MjBiNGVjZTcwNmUwYWQwNjA5NjAuLjE3ZTBjYzVmZTFh
OWEzMTc1ODljNzlkY2QyZTAyNDliOWNlOTVmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCkBAIC0yNyw4ICsyNyw2IEBACiAjaWZuZGVmIFdlYklu
c3BlY3RvclByb3h5X2gKICNkZWZpbmUgV2ViSW5zcGVjdG9yUHJveHlfaAogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkF0dGFjaG1l
bnQuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKQEAgLTI1OSw2ICsyNTcsNCBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCi0KICNlbmRpZiAvLyBXZWJJbnNwZWN0b3JQcm94eV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
ZWI3ZmE5Yjk5ZDhkOTFkMzU2NWY1OGQxZGQ1ZWJhN2FiOTgzOTQ3ZC4uODgyODFjNjdjYTFlMDJh
YjdlMTkxMmEwNjYyZDUxYjgwOWMwMWZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjAsOCArMjAsNiBA
QAogIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLQogbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yUHJveHkgewogICAgIENyZWF0ZUlu
c3BlY3RvclBhZ2UoSVBDOjpBdHRhY2htZW50IGNvbm5lY3Rpb25JZGVudGlmaWVyLCBib29sIGNh
bkF0dGFjaCwgYm9vbCB1bmRlclRlc3QpCiAKQEAgLTQ3LDUgKzQ1LDMgQEAgbWVzc2FnZXMgLT4g
V2ViSW5zcGVjdG9yUHJveHkgewogICAgIFNlbmRNZXNzYWdlVG9SZW1vdGVGcm9udGVuZChTdHJp
bmcgbWVzc2FnZSkKICNlbmRpZgogfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMDMxNjU0ZGI2ZDlmY2IwYzlhZmFjMzVlM2I4YzJkMTJk
MWZjMDZiMi4uZjdhMTRjODE0NDk2NjAwZTk4NzU0MjQxZDg4YjkyYWU0NGM2NDI5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTQxMyw5ICs0MTMsNyBA
QCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiBwYWdlQ2xpZW50LCBXZWJQ
cm9jZXNzUHJveHkmIHByb2Nlc3MsIHVpbgogICAgIG1fcHJlZmVyZW5jZXMtPmFkZFBhZ2UoKnRo
aXMpOwogICAgIG1fcGFnZUdyb3VwLT5hZGRQYWdlKHRoaXMpOwogCi0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKICAgICBtX2luc3BlY3RvciA9IFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGUodGhpcyk7
Ci0jZW5kaWYKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgbV9mdWxsU2NyZWVuTWFu
YWdlciA9IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmNyZWF0ZSgqdGhpcywgbV9wYWdlQ2xp
ZW50LmZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlDbGllbnQoKSk7CiAjZW5kaWYKQEAgLTU5Niw5ICs1
OTQsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVhdHRhY2hUb1dlYlByb2Nlc3MoKQogICAgIHVw
ZGF0ZVZpZXdTdGF0ZSgpOwogICAgIHVwZGF0ZUFjdGl2aXR5VG9rZW4oKTsKIAotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgbV9pbnNwZWN0b3IgPSBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRl
KHRoaXMpOwotI2VuZGlmCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIG1fZnVsbFNj
cmVlbk1hbmFnZXIgPSBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpjcmVhdGUoKnRoaXMsIG1f
cGFnZUNsaWVudC5mdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50KCkpOwogI2VuZGlmCkBAIC03
NTUsMTAgKzc1MSw4IEBAIGJvb2wgV2ViUGFnZVByb3h5OjptYXliZUluaXRpYWxpemVTYW5kYm94
RXh0ZW5zaW9uSGFuZGxlKGNvbnN0IFVSTCYgdXJsLCBTYW5kYm94CiAgICAgaWYgKG1fcHJvY2Vz
cy0+aGFzQXNzdW1lZFJlYWRBY2Nlc3NUb1VSTCh1cmwpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIC8vIEluc3BlY3RvciByZXNvdXJjZXMgYXJl
IGluIGEgZGlyZWN0b3J5IHdpdGggYXNzdW1lZCBhY2Nlc3MuCiAgICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oIVdlYkluc3BlY3RvclByb3h5Ojppc0luc3BlY3RvclBhZ2UoKnRo
aXMpKTsKLSNlbmRpZgogCiAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlKCIvIiwg
U2FuZGJveEV4dGVuc2lvbjo6UmVhZE9ubHksIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpOwogICAg
IHJldHVybiB0cnVlOwpAQCAtMzU1NCw5ICszNTQ4LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRp
ZERyYXcoKQogfQogCiAvLyBJbnNwZWN0b3IKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KIFdl
Ykluc3BlY3RvclByb3h5KiBXZWJQYWdlUHJveHk6Omluc3BlY3RvcigpCiB7CiAgICAgaWYgKGlz
Q2xvc2VkKCkgfHwgIWlzVmFsaWQoKSkKQEAgLTM1NjQsOCArMzU1NSw2IEBAIFdlYkluc3BlY3Rv
clByb3h5KiBXZWJQYWdlUHJveHk6Omluc3BlY3RvcigpCiAgICAgcmV0dXJuIG1faW5zcGVjdG9y
LmdldCgpOwogfQogCi0jZW5kaWYKLQogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyUHJveHkqIFdlYlBhZ2VQcm94eTo6ZnVsbFNjcmVlbk1hbmFnZXIoKQog
ewpAQCAtNDUxMiwxMiArNDUwMSwxMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZShS
ZXNldFN0YXRlUmVhc29uIHJlc2V0U3RhdGVSZWFzb24pCiAgICAgbV9tYWluRnJhbWUgPSBudWxs
cHRyOwogICAgIG1fZHJhd2luZ0FyZWEgPSBudWxscHRyOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAobV9pbnNwZWN0b3IpIHsKICAgICAgICAgbV9pbnNwZWN0b3ItPmludmFsaWRh
dGUoKTsKICAgICAgICAgbV9pbnNwZWN0b3IgPSBudWxscHRyOwogICAgIH0KLSNlbmRpZgogCiAj
aWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGlmIChtX2Z1bGxTY3JlZW5NYW5hZ2VyKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZDM3ZmJkMDQ3Y2M5
MWFkMDkxNDNhMTQ0MDI5Y2MzOWU5MjllZDczZi4uMmRhZDBlOWJhOWIyYjQyODYyYzg4N2IzZGFk
OGI5MjNkNDRjNzNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtMjg2LDkgKzI4Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEVudGVyRnVsbHNjcmVlbigp
OwogICAgIHZvaWQgZGlkRXhpdEZ1bGxzY3JlZW4oKTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CiAgICAgV2ViSW5zcGVjdG9yUHJveHkqIGluc3BlY3RvcigpOwotI2VuZGlmCiAKICNpZiBFTkFC
TEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICBib29sIGFsbG93c1JlbW90ZUluc3BlY3Rpb24oKSBj
b25zdCB7IHJldHVybiBtX2FsbG93c1JlbW90ZUluc3BlY3Rpb247IH0KQEAgLTEyOTksNyArMTI5
Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGFydEFzc2lzdGluZ05vZGUoY29uc3QgQXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24mLCBib29sIHVzZXJJc0ludGVyYWN0aW5nLCBib29sIGJsdXJQcmV2
aW91c05vZGUsIGNvbnN0IFVzZXJEYXRhJik7CiAgICAgdm9pZCBzdG9wQXNzaXN0aW5nTm9kZSgp
OwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB2b2lkIHNob3dJbnNwZWN0b3JIaWdobGln
aHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0Jik7CiAgICAgdm9pZCBoaWRlSW5zcGVjdG9ySGln
aGxpZ2h0KCk7CiAKQEAgLTEzMDgsNyArMTMwNSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGVu
YWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKTsKICAgICB2b2lkIGRpc2FibGVJbnNwZWN0b3JOb2Rl
U2VhcmNoKCk7Ci0jZW5kaWYKKwogICAgIHZvaWQgbm90aWZ5UmV2ZWFsZWRTZWxlY3Rpb24oKTsK
ICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKQEAgLTEzOTksOSArMTM5Niw3IEBAIHByaXZhdGU6
CiAgICAgU3RyaW5nIG1fY3VzdG9tVXNlckFnZW50OwogICAgIFN0cmluZyBtX2N1c3RvbVRleHRF
bmNvZGluZ05hbWU7CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIFJlZlB0cjxXZWJJbnNw
ZWN0b3JQcm94eT4gbV9pbnNwZWN0b3I7Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkKICAgICBSZWZQdHI8V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eT4gbV9mdWxsU2NyZWVu
TWFuYWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IGY4ZTA4MDNiMjBmNzAxOWRlOWM3MTAzMjhkZGIwNTgyYTI4NTBjOGUu
LjAwMzVhZjhmMDdiMjk1NWFjODQxNmEzMzRkM2Y1NjNiYmRiYjM5MTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzYxLDcg
KzM2MSw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU3RvcEFzc2lzdGluZ05v
ZGUoKQogICAgIE5vdGlmeVJldmVhbGVkU2VsZWN0aW9uKCkKIAotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgU2hvd0luc3BlY3RvckhpZ2hsaWdodChzdHJ1Y3QgV2ViQ29yZTo6SGlnaGxpZ2h0
IGhpZ2hsaWdodCkKICAgICBIaWRlSW5zcGVjdG9ySGlnaGxpZ2h0KCkKIApAQCAtMzcxLDcgKzM3
MCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRW5hYmxlSW5zcGVjdG9yTm9k
ZVNlYXJjaCgpCiAgICAgRGlzYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKQogI2VuZGlmCi0jZW5k
aWYKIAogICAgICMgU2VhcmNoIHBvcHVwIG1lbnVzCiAgICAgU2F2ZVJlY2VudFNlYXJjaGVzKFN0
cmluZyBuYW1lLCBWZWN0b3I8U3RyaW5nPiBzZWFyY2hJdGVtcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggYzYzYmExZDVkYjI1ZWQxYjQxNjE2
ZTlkMTQ2ODljMGJhMjFjMmEzZi4uZGM2YTNhY2U4NTI3YzIxYTM5ZjUwMjJlOWEzZjBkM2RiZWYw
ZDdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAK
QEAgLTExNiwxMCArMTE2LDggQEAgV2ViUHJvY2Vzc1Byb3h5Ojp+V2ViUHJvY2Vzc1Byb3h5KCkK
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpnZXRMYXVuY2hPcHRpb25zKFByb2Nlc3NMYXVuY2hlcjo6
TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucykKIHsKICAgICBsYXVuY2hPcHRpb25zLnByb2Nl
c3NUeXBlID0gUHJvY2Vzc0xhdW5jaGVyOjpXZWJQcm9jZXNzOwotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgaWYgKCZtX3Byb2Nlc3NQb29sLmdldCgpID09ICZXZWJJbnNwZWN0b3JQcm94eTo6
aW5zcGVjdG9yUHJvY2Vzc1Bvb2woKSkKICAgICAgICAgbGF1bmNoT3B0aW9ucy5leHRyYUluaXRp
YWxpemF0aW9uRGF0YS5hZGQoQVNDSUlMaXRlcmFsKCJpbnNwZWN0b3ItcHJvY2VzcyIpLCBBU0NJ
SUxpdGVyYWwoIjEiKSk7Ci0jZW5kaWYKICAgICBwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMobGF1
bmNoT3B0aW9ucyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKaW5kZXggYjZiM2MyODg5M2ZhYjYwMzFlZTVkMTVm
OWVhY2YyYTliNjY2ODM0Mi4uYmRkMTBhMzkzODkzNzU4MTRhY2FiYTUzMDljOGI2MzJhOTNlYzhl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQ
cm94eUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0
b3JQcm94eUVmbC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQog
I2luY2x1ZGUgIkV3a1ZpZXcuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbmNs
dWRlICJld2tfY29udGV4dF9wcml2YXRlLmgiCkBAIC0yNDgsNSArMjQ2LDMgQEAgdm9pZCBXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1BdHRhY2hBdmFpbGFiaWxpdHlDaGFuZ2VkKGJvb2wpCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJv
eHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94
eUd0ay5jcHAKaW5kZXggMzU4ZjA0N2MyMzJhM2U3MWRjMTBjYjE1NzBkYjkwNWM2NTFmMzQwYi4u
ZWU2NzI3MTJkOGI1NmJhYTljNTcwNDQzYTMwNjQyZTFmYjg3MzIwOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKQEAg
LTI5LDggKzI5LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0
b3JQcm94eS5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIldlYktpdFdl
YlZpZXdCYXNlUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgpAQCAtMzE5LDUgKzMxNywzIEBAIHZvaWQgV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtQXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdlZChib29sIGF2YWls
YWJsZSkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5T
UEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oCmluZGV4IDIzNWYyMmEzMTA5ODY4YWI3ZTEyNjY4NTMyYTlmYmY0ZmVkMmYxMmMuLjVk
MWU3ODEwZDljNTE1MGIyMDAyMTg5YTc2YjdmYTIyZmZlYWM2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTEzMiw3ICsxMzIs
NiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIG1pbmltdW1ab29tU2NhbGUoKSBjb25z
dCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkZsb2F0U2l6ZSBjb250ZW50c1NpemUo
KSBjb25zdCBvdmVycmlkZTsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdmlydHVhbCB2
b2lkIHNob3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0Jikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGhpZGVJbnNwZWN0b3JIaWdobGlnaHQoKSBvdmVycmlk
ZTsKIApAQCAtMTQxLDcgKzE0MCw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgZW5h
YmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaXNh
YmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpIG92ZXJyaWRlOwotI2VuZGlmCiAKICAgICB2aXJ0dWFs
IHZvaWQgem9vbVRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIGRvdWJsZSBtaW5pbXVtU2NhbGUs
IGRvdWJsZSBtYXhpbXVtU2NhbGUpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBvdmVyZmxv
d1Njcm9sbFZpZXdXaWxsU3RhcnRQYW5HZXN0dXJlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCAwNTBkMTRi
YWMzY2M4ZjRjMDQwOWJiNzU1NzNhZTljYTMzNWU4OWQ2Li4zY2FiMjhhNDk4OGU3YjJjMmY2MmM1
ZmE5MjdkMzA3NzA4YjY3MGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTU1NCw3ICs1NTQsNiBAQCBib29sIFBhZ2VDbGll
bnRJbXBsOjpoYW5kbGVSdW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSos
IFdlYk9wZW5QYQogICAgIHJldHVybiB0cnVlOwogfQogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
IHZvaWQgUGFnZUNsaWVudEltcGw6OnNob3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29y
ZTo6SGlnaGxpZ2h0JiBoaWdobGlnaHQpCiB7CiAgICAgW21fY29udGVudFZpZXcgX3Nob3dJbnNw
ZWN0b3JIaWdobGlnaHQ6aGlnaGxpZ2h0XTsKQEAgLTU4NCw3ICs1ODMsNiBAQCB2b2lkIFBhZ2VD
bGllbnRJbXBsOjpkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpCiB7CiAgICAgW21fY29udGVu
dFZpZXcgX2Rpc2FibGVJbnNwZWN0b3JOb2RlU2VhcmNoXTsKIH0KLSNlbmRpZgogCiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dlYkluc3BlY3RvclByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XZWJJbnNwZWN0b3JQcm94eUlPUy5tbQppbmRleCBhOTljODRkZDhlZjIzY2JlNGU3OTY0
OTQxODJkNjE4MGI4ODc0NmUxLi41ZWNiNmE3MDMxNGJiYzM1OGZlZGM3MTYyYWM1ZTcyOTJiNGNj
MjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYkluc3BlY3Rv
clByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViSW5zcGVj
dG9yUHJveHlJT1MubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiV2ViSW5zcGVjdG9yUHJveHkuaCIKIAotI2lmIFBMQVRGT1JNKElPUykgJiYgRU5BQkxF
KElOU1BFQ1RPUikKKyNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KIApAQCAtMTQ2LDQgKzE0Niw0IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6
OnBsYXRmb3JtQXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdlZChib29sIGF2YWlsYWJsZSkKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBQTEFURk9STShJT1MpICYmIEVOQUJMRShJ
TlNQRUNUT1IpCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCAzYmEzNjBhZjBiYTc2NTg0MzFj
ZDMwM2RiMTQzYzkxYTkzMGU0Zjc2Li42OTllNzBkOTA0NTdjMmU4M2M1MWFkMTI5NDk4ZGUxZWM3
NTUwYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQ
cm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94
eUlPUy5tbQpAQCAtNzYzLDcgKzc2Myw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzdG9wQXNzaXN0
aW5nTm9kZSgpCiAgICAgbV9wYWdlQ2xpZW50LnN0b3BBc3Npc3RpbmdOb2RlKCk7CiB9CiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogdm9pZCBXZWJQYWdlUHJveHk6OnNob3dJbnNwZWN0b3JIaWdo
bGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0JiBoaWdobGlnaHQpCiB7CiAgICAgbV9wYWdl
Q2xpZW50LnNob3dJbnNwZWN0b3JIaWdobGlnaHQoaGlnaGxpZ2h0KTsKQEAgLTc5Myw3ICs3OTIs
NiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlzYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKQogewog
ICAgIG1fcGFnZUNsaWVudC5kaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpOwogfQotI2VuZGlm
CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c05leHRBc3Npc3RlZE5vZGUoYm9vbCBpc0Zvcndh
cmQsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrRnVu
Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYklu
c3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNw
ZWN0b3JQcm94eU1hYy5tbQppbmRleCA0Y2RkN2ZiZWRhZmE2OGQ0NjJhYTU5MTAxNzkzZTQzODMy
MjU5ODJhLi44OWIwYTlmNTMzNDI5ZTA2MWU2NGRkZTFmOTU5Y2I2ZGZjYzcyNDY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMu
bW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV2ViSW5z
cGVjdG9yUHJveHkuaCIKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKElOU1BFQ1RPUikK
KyNpZiBQTEFURk9STShNQUMpCiAKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgogI2ltcG9ydCAiV0tJ
bnNwZWN0b3JQcml2YXRlTWFjLmgiCkBAIC04OTIsNCArODkyLDQgQEAgU3RyaW5nIFdlYkluc3Bl
Y3RvclByb3h5OjppbnNwZWN0b3JCYXNlVVJMKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKLSNlbmRpZiAvLyBQTEFURk9STShNQUMpICYmIEVOQUJMRShJTlNQRUNUT1IpCisjZW5k
aWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluc3BlY3Rvci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNw
cAppbmRleCAxMGFiOTFjMjk5NzkxZDgxMzBlNmIwODI3ZGZjNzY5Zjc1OTIxZTliLi4wZjBlMGFm
ZTlkMTlhMzYyZjViNWMwMTMyYTlhMzU3ZjgyYmYzYWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5zcGVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSW5zcGVjdG9yLmNwcApAQCAtMzUsNTAgKzM1LDI4IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKIFdLVHlwZUlEIFdLQnVuZGxlSW5zcGVjdG9yR2V0VHlwZUlEKCkKIHsKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogICAgIHJldHVybiB0b0FQSShXZWJJbnNwZWN0b3I6OkFQSVR5cGUp
OwotI2Vsc2UKLSAgICByZXR1cm4gdG9BUEkoQVBJOjpPYmplY3Q6OlR5cGU6Ok51bGwpOwotI2Vu
ZGlmCiB9CiAKIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTaG93KFdLQnVuZGxlSW5zcGVjdG9yUmVm
IGluc3BlY3RvclJlZikKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHRvSW1wbChpbnNw
ZWN0b3JSZWYpLT5zaG93KCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYp
OwotI2VuZGlmCiB9CiAKIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JDbG9zZShXS0J1bmRsZUluc3Bl
Y3RvclJlZiBpbnNwZWN0b3JSZWYpCiB7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICB0b0lt
cGwoaW5zcGVjdG9yUmVmKS0+Y2xvc2UoKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGluc3Bl
Y3RvclJlZik7Ci0jZW5kaWYKIH0KIAogdm9pZCBXS0J1bmRsZUluc3BlY3RvckV2YWx1YXRlU2Ny
aXB0Rm9yVGVzdChXS0J1bmRsZUluc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYsIFdLU3RyaW5nUmVm
IHNjcmlwdCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHRvSW1wbChpbnNwZWN0b3JS
ZWYpLT5ldmFsdWF0ZVNjcmlwdEZvclRlc3QodG9XVEZTdHJpbmcoc2NyaXB0KSk7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShzY3JpcHQpOwotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYp
OwotI2VuZGlmCiB9CiAKIHZvaWQgV0tCdW5kbGVJbnNwZWN0b3JTZXRQYWdlUHJvZmlsaW5nRW5h
YmxlZChXS0J1bmRsZUluc3BlY3RvclJlZiBpbnNwZWN0b3JSZWYsIGJvb2wgZW5hYmxlZCkKIHsK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChlbmFibGVkKQogICAgICAgICB0b0ltcGwo
aW5zcGVjdG9yUmVmKS0+c3RhcnRQYWdlUHJvZmlsaW5nKCk7CiAgICAgZWxzZQogICAgICAgICB0
b0ltcGwoaW5zcGVjdG9yUmVmKS0+c3RvcFBhZ2VQcm9maWxpbmcoKTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKGVuYWJsZWQpOwotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0b3JSZWYpOwotI2Vu
ZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXggYmEyMzI5NmQ3OWU0ODlh
MjVlNjJkM2E4YjcwZjM3ODdlZTY4OTg0Ni4uNjg3YjVjZTUwNjEyYTZiZTg3OWNmYjNkMGNiMGY4
NDVmMGU3ZTNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcApAQCAtNDYyLDEyICs0
NjIsNyBAQCB2b2lkIFdLQnVuZGxlUGFnZUxpc3RlbkZvckxheW91dE1pbGVzdG9uZXMoV0tCdW5k
bGVQYWdlUmVmIHBhZ2VSZWYsIFdLTGF5b3V0TWlsZQogCiBXS0J1bmRsZUluc3BlY3RvclJlZiBX
S0J1bmRsZVBhZ2VHZXRJbnNwZWN0b3IoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiB7Ci0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKHBhZ2VSZWYpLT5pbnNw
ZWN0b3IoKSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlUmVmKTsKLSAgICByZXR1cm4g
MDsKLSNlbmRpZgogfQogCiB2b2lkIFdLQnVuZGxlUGFnZUZvcmNlUmVwYWludChXS0J1bmRsZVBh
Z2VSZWYgcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCA0ZDcyY2FjMzgy
YWRlZTUzYzJjNGM1NWFhYzZkYjBmMWUzMzJjMGViLi41YTdmMTcwMGJkMTlhYmNhYTdmNzg1NmRh
MmEwM2ViNmNlMjZmMWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCkBAIC0yNiw4
ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yQ2xp
ZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEu
aCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3IuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCkBAIC0y
MjcsNSArMjI1LDMgQEAgYm9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6Om1vdXNlRXZlbnQoUGFnZU92
ZXJsYXkmLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaAppbmRleCBkZmMwMzhhZTg1NWNhMzM3N2Y0MTU4YzBmZGU1NzI3MjkyNWU2ZDc2Li45YTQ0
MDBiZTVhYmE2Yjk5NTE1ZjZkODkxZjZlOWE4MTU2NzhhNDE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50LmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgV2ViSW5zcGVjdG9yQ2xpZW50X2gK
ICNkZWZpbmUgV2ViSW5zcGVjdG9yQ2xpZW50X2gKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0K
ICNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckNsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
SW5zcGVjdG9yRm9yd2FyZGluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZU92ZXJsYXkuaD4K
QEAgLTkyLDYgKzkwLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQotCiAjZW5kaWYgLy8gV2ViSW5zcGVjdG9yQ2xpZW50
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAppbmRleCBjMzc3ZWY1
ZjNjM2MzNmU5NmYxMWJlNWZhM2RmNTIyNjI2ODIwMzE0Li45M2Y2NzIzOWE4NDk4NDg3ZTI3YWE5
ZDE2MjBmZDE1ODhkNDMyMWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENs
aWVudC5oCkBAIC0yNiw4ICsyNiw2IEBACiAjaWZuZGVmIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50X2gKICNkZWZpbmUgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRfaAogCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTYyLDYgKzYwLDQgQEAgcHJpdmF0ZToK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjZW5kaWYgLy8gV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcAppbmRleCA2MmFmY2Ex
NzEwMDAxOTgzNWJmNjM1NjBmY2JlMTM5YmU3YmI5Yzc3Li40YWFkZjcwOWVjY2JjZTg0YTFlNTMw
NzlhOWZjZWQwODAzMGYyMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcApAQCAtMjYsOCArMjYsNiBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3Rvci5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RP
UikKLQogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgiCkBAIC0yNDEsNSAr
MjM5LDMgQEAgdm9pZCBXZWJJbnNwZWN0b3I6OnJlbW90ZUZyb250ZW5kRGlzY29ubmVjdGVkKCkK
ICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
SW5zcGVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVj
dG9yLmgKaW5kZXggMWYzOWIwMWIxNmY3YzcyYmM2YzBiYzQwNjVkN2VlMTllZDJjNGJmNS4uOGRm
MmIyNzk5ZTc1NzEzNWQ3ODY4ZjYxMDA1NjRkZmMxNWM3OWYzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjYsOCArMjYsNiBA
QAogI2lmbmRlZiBXZWJJbnNwZWN0b3JfaAogI2RlZmluZSBXZWJJbnNwZWN0b3JfaAogCi0jaWYg
RU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkNv
bm5lY3Rpb24uaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKQEAgLTExMSw2ICsxMDks
NCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCi0KICNlbmRpZiAvLyBXZWJJbnNwZWN0b3JfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMu
aW4KaW5kZXggZmMwNzNjYWU4ZGRkMzVmYWEzMjMzYjdkZTk1NTI5ZjdlMzk2NDI4MC4uZmU0ZTBh
YzQwYWQyYmNlOTc3OGI1NGM0OWZlNTM1NWY1ZTVlZDdmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmlu
CkBAIC0yMCw4ICsyMCw2IEBACiAjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3Igewog
ICAgIFNob3coKQogICAgIENsb3NlKCkKQEAgLTQ1LDUgKzQzLDMgQEAgbWVzc2FnZXMgLT4gV2Vi
SW5zcGVjdG9yIHsKICAgICBSZW1vdGVGcm9udGVuZERpc2Nvbm5lY3RlZCgpCiAjZW5kaWYKIH0K
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9yVUkuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3RvclVJLmNwcAppbmRleCA1MjMzNzY1NzgxOGM1ZWQwZjM4YTU1MjlmMDA5MjBlNzg4
NTZhYzMyLi43YzljZTZkNmQwNDdlZmY2OTliMTc3YmU0ODY0NTBhOTE1Yjc5ZWFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5j
cHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJ
bnNwZWN0b3JVSS5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIldlYklu
c3BlY3Rvck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlBhZ2UuaCIKQEAgLTI4NCw1ICsyODIsMyBAQCB2b2lkIFdlYkluc3Bl
Y3RvclVJOjpldmFsdWF0ZVBlbmRpbmdFeHByZXNzaW9ucygpCiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKaW5kZXggMzc4Yzg4MjFh
ZThhYjk2MTYxNDQ0YmRmOGEyYThlNTMzYTM2OTJjOC4uOGJlZjE3NzJmMzIyZjJiOTBkOTQwYjY3
M2ZiMmM5MTBhYzVlMmUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKQEAgLTI2LDggKzI2LDYgQEAKICNpZm5kZWYgV2ViSW5z
cGVjdG9yVUlfaAogI2RlZmluZSBXZWJJbnNwZWN0b3JVSV9oCiAKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRm9yd2FyZGluZy5oPgpAQCAtMTMyLDYgKzEzMCw0
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gRU5BQkxF
KElOU1BFQ1RPUikKLQogI2VuZGlmIC8vIFdlYkluc3BlY3RvclVJX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNz
YWdlcy5pbgppbmRleCAyM2ViNWZkNThhNjdhOWYwZWJmMTFkZWM2NWI1NjQ4YjY4OTAxNDM5Li5i
YTI2YmRkOTU4MWY1ZjA2MjY0NDQzZDQwMzQ4MjQzNTBlM2YwYWU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLm1l
c3NhZ2VzLmluCkBAIC0yMCw4ICsyMCw2IEBACiAjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiBtZXNzYWdlcyAtPiBXZWJJbnNw
ZWN0b3JVSSB7CiAgICAgRXN0YWJsaXNoQ29ubmVjdGlvbihJUEM6OkF0dGFjaG1lbnQgY29ubmVj
dGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IGluc3BlY3RlZFBhZ2VJZGVudGlmaWVyLCBib29sIHVu
ZGVyVGVzdCkKIApAQCAtNDIsNSArNDAsMyBAQCBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3JVSSB7
CiAKICAgICBTZW5kTWVzc2FnZVRvRnJvbnRlbmQoU3RyaW5nIG1lc3NhZ2UpCiB9Ci0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4
IGRlNDkxMGQ5NzU4NzNiMzZjMTZmYjUyZGJiNDgzNDBhYWQzNzI0ZjIuLmY3OGUyZmViOTViZDgy
ZDlmMjM3ZmM4MmIxY2U0ZTU4ZjljMjBmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM2MCwxMCArMzYwLDggQEAgV2ViUGFnZTo6V2Vi
UGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uZHJhZ0NsaWVudCA9IG5ldyBXZWJEcmFn
Q2xpZW50KHRoaXMpOwogI2VuZGlmCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uYmFja0ZvcndhcmRD
bGllbnQgPSBXZWJCYWNrRm9yd2FyZExpc3RQcm94eTo6Y3JlYXRlKHRoaXMpOwotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgbV9pbnNwZWN0b3JDbGllbnQgPSBuZXcgV2ViSW5zcGVjdG9yQ2xp
ZW50KHRoaXMpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmluc3BlY3RvckNsaWVudCA9IG1faW5z
cGVjdG9yQ2xpZW50OwotI2VuZGlmCiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAg
IHBhZ2VDb25maWd1cmF0aW9uLmFsdGVybmF0aXZlVGV4dENsaWVudCA9IG5ldyBXZWJBbHRlcm5h
dGl2ZVRleHRDbGllbnQodGhpcyk7CiAjZW5kaWYKQEAgLTQ3OSwxMCArNDc3LDggQEAgV2ViUGFn
ZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMmIHBhcmFtZXRlcnMpCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6
OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJ
RCwgKnRoaXMpOwogI2VuZGlmCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBXZWJQcm9jZXNz
OjpzaGFyZWQoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCwgKnRoaXMpOwogICAgIFdlYlByb2Nlc3M6OnNo
YXJlZCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yVUk6Om1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQsICp0aGlzKTsKLSNlbmRpZgogI2lmIEVOQUJMRShG
VUxMU0NSRUVOX0FQSSkKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5hZGRNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCks
IG1fcGFnZUlELCAqdGhpcyk7CiAjZW5kaWYKQEAgLTU2NSwxMCArNTYxLDggQEAgV2ViUGFnZTo6
fldlYlBhZ2UoKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCiAg
ICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQp
OwogI2VuZGlmCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQo
KS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkucmVtb3Zl
TWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JVSTo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCBtX3BhZ2VJRCk7Ci0jZW5kaWYKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAg
ICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpX
ZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CiAj
ZW5kaWYKQEAgLTk3NSw5ICs5NjksNyBAQCB2b2lkIFdlYlBhZ2U6OmNsb3NlKCkKICAgICBpZiAo
cGFnZUdyb3VwKCktPmlzVmlzaWJsZVRvSW5qZWN0ZWRCdW5kbGUoKSAmJiBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5pbmplY3RlZEJ1bmRsZSgpKQogICAgICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5p
bmplY3RlZEJ1bmRsZSgpLT53aWxsRGVzdHJveVBhZ2UodGhpcyk7CiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgIG1faW5zcGVjdG9yID0gMDsKLSNlbmRpZgogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICBtX2Z1bGxTY3JlZW5NYW5hZ2VyID0gMDsKICNlbmRpZgpAQCAtMjk1Niw3
ICsyOTQ4LDYgQEAgdm9pZCBXZWJQYWdlOjpkaWRGbHVzaExheWVyVHJlZUF0VGltZShzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVzdGFtcCkKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKIFdlYkluc3BlY3RvciogV2ViUGFnZTo6aW5zcGVjdG9yKCkKIHsKICAgICBpZiAo
bV9pc0Nsb3NlZCkKQEAgLTI5NzQsNyArMjk2NSw2IEBAIFdlYkluc3BlY3RvclVJKiBXZWJQYWdl
OjppbnNwZWN0b3JVSSgpCiAgICAgICAgIG1faW5zcGVjdG9yVUkgPSBXZWJJbnNwZWN0b3JVSTo6
Y3JlYXRlKHRoaXMpOwogICAgIHJldHVybiBtX2luc3BlY3RvclVJLmdldCgpOwogfQotI2VuZGlm
CiAKICNpZiBQTEFURk9STShJT1MpCiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKiBXZWJQYWdl
Ojp2aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKCkKQEAgLTM1NjEsNyArMzU1MSw2IEBAIHZvaWQgV2Vi
UGFnZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6
Ok1lc3NhZ2VEZWNvZGVyCiAgICAgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViSW5z
cGVjdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAgaWYgKFdlYkluc3BlY3Rv
ciogaW5zcGVjdG9yID0gdGhpcy0+aW5zcGVjdG9yKCkpCiAgICAgICAgICAgICBpbnNwZWN0b3It
PmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwpAQCAtMzU3Myw3ICszNTYy
LDYgQEAgdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXIKICAgICAgICAgICAgIGluc3BlY3RvclVJLT5k
aWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSNlbmRpZgogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGlmIChkZWNv
ZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFn
ZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMmMxMzlhMjNhNzg1YWExMzlmYmI3NzY5ODdjNmY3NzM4
YzhkY2ZjMC4uOTBiZDhlZjMxNjk5MWJiNzA1ODc0NTliOWNlNTU1NzU5MWRhZTViMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yMjgsMTEgKzIy
OCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEZsdXNoTGF5ZXJUcmVlQXRUaW1lKHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IFdlYkluc3BlY3RvciogaW5zcGVjdG9yKCk7CiAgICAgV2ViSW5zcGVjdG9yVUkqIGluc3BlY3Rv
clVJKCk7CiAgICAgYm9vbCBpc0luc3BlY3RvclBhZ2UoKSB7IHJldHVybiAhIW1faW5zcGVjdG9y
VUk7IH0KLSNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFdlYlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXIqIHZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKTsKQEAgLTUyOCw3ICs1MjYsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBleGVjdXRlRWRpdENvbW1hbmRXaXRoQ2FsbGJhY2soY29uc3QgU3Ry
aW5nJiwgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGV2ZW50VGhyb3R0bGluZ0RlbGF5KCkgY29uc3Q7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikK
KwogICAgIHZvaWQgc2hvd0luc3BlY3RvckhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpIaWdobGln
aHQmKTsKICAgICB2b2lkIGhpZGVJbnNwZWN0b3JIaWdobGlnaHQoKTsKIApAQCAtNTM4LDcgKzUz
Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGVuYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKTsKICAg
ICB2b2lkIGRpc2FibGVJbnNwZWN0b3JOb2RlU2VhcmNoKCk7CiAjZW5kaWYKLSNlbmRpZgogCiAg
ICAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKiBub3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIoKTsKIApAQCAtMTIwMCwxMCArMTE5Nyw4IEBAIHByaXZhdGU6
CiAKICAgICBGaW5kQ29udHJvbGxlciBtX2ZpbmRDb250cm9sbGVyOwogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKICAgICBSZWZQdHI8V2ViSW5zcGVjdG9yPiBtX2luc3BlY3RvcjsKICAgICBSZWZQ
dHI8V2ViSW5zcGVjdG9yVUk+IG1faW5zcGVjdG9yVUk7Ci0jZW5kaWYKICNpZiBQTEFURk9STShJ
T1MpCiAgICAgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI+IG1fdmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2VmbC9XZWJJbnNwZWN0b3JFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2VmbC9XZWJJbnNwZWN0b3JFZmwuY3BwCmluZGV4IDJhYWNjMjk1NGZmOGQ3
OTllY2NjNzZlM2YzZjc0NTNlMGNmZTU1OGQuLjg5NWY3OTNiMDEwZWQyOGM3YjY2YTI4MmI0NTZk
NTZjMDk1MzRiNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9lZmwvV2ViSW5zcGVjdG9yRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvZWZsL1dlYkluc3BlY3RvckVmbC5jcHAKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3IuaCIKIAotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCi0KICNpbmNsdWRlIDxXZWJDb3JlL0VmbEluc3BlY3RvclV0aWxpdGllcy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00NCw1ICs0MiwzIEBAIFN0cmlu
ZyBXZWJJbnNwZWN0b3I6OmxvY2FsaXplZFN0cmluZ3NVUkwoKSBjb25zdAogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZWZsL1dlYkluc3BlY3RvclVJRWZs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9y
VUlFZmwuY3BwCmluZGV4IDE4NTdjN2I2MTA1M2EyN2VmNDBiYjNkNTgyNDU1MGM2ZjU1MDEzNTAu
LmRiMjQyZTAyYWNhZDk1OTA3N2M4MWVjNTRlMmViNzI3MTQ1NzBjNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yVUlFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9y
VUlFZmwuY3BwCkBAIC0yNiw4ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2ViSW5zcGVjdG9yVUkuaCIKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KICNpbmNsdWRl
IDxXZWJDb3JlL0VmbEluc3BlY3RvclV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCkBAIC00NCw1ICs0MiwzIEBAIFN0cmluZyBXZWJJbnNwZWN0b3JVSTo6bG9j
YWxpemVkU3RyaW5nc1VSTCgpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYg
Ly8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9ndGsvV2ViSW5zcGVjdG9yR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9ndGsvV2ViSW5zcGVjdG9yR3RrLmNwcAppbmRleCA1YTBlZjllMzJkODcx
ZGJhN2MyMzAxNDFmZDRlMzc5ODlmMmFhNjg2Li45MDdhNzMwNzkwZDRmMDUzNWYzZGFlYmQ5YmU2
NGI4MWZjMTk4NDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL1dlYkluc3BlY3Rvckd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9XZWJJbnNwZWN0b3JHdGsuY3BwCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yLmgiCiAKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotCiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8
Z2xpYi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNDYsNSArNDQsMyBA
QCBTdHJpbmcgV2ViSW5zcGVjdG9yOjpsb2NhbGl6ZWRTdHJpbmdzVVJMKCkgY29uc3QKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJJbnNwZWN0
b3JVSUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYklu
c3BlY3RvclVJR3RrLmNwcAppbmRleCA0NjQ2Nzg1NWU4ZTc0OTgyYzEyMDczYTYzYjU4ZGU3ODI2
YjBjZWQ4Li5mZDg5NWNiYjNkNzVjMjMxMzVlMTU3Y2M5NzdlNjBjMzY1ZTM4M2ViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYkluc3BlY3RvclVJ
R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYklu
c3BlY3RvclVJR3RrLmNwcApAQCAtMjcsOCArMjcsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYkluc3BlY3RvclVJLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotCiAj
aW5jbHVkZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtNDYsNSArNDQsMyBAQCBTdHJpbmcgV2ViSW5z
cGVjdG9yVUk6OmxvY2FsaXplZFN0cmluZ3NVUkwoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKLQotI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggNDVkYWUyOTcwODdk
MmE2YmU5NmM3NjJjYTY4ODdjNDI0NzVjMGY5ZS4uYTMyMTA0OGZjYWY2ZmI5NTFkNzc3YzI1MzQ5
NWRjN2E0OGNkYjljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNjM1LDcgKzYzNSw2IEBAIHZvaWQgV2ViUGFnZTo6
c2V0QXNzaXN0ZWROb2RlU2VsZWN0ZWRJbmRleCh1aW50MzJfdCBpbmRleCwgYm9vbCBhbGxvd011
bHRpcGxlU2VsCiAgICAgc2VsZWN0Lm9wdGlvblNlbGVjdGVkQnlVc2VyKGluZGV4LCB0cnVlLCBh
bGxvd011bHRpcGxlU2VsZWN0aW9uKTsKIH0KIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiB2b2lk
IFdlYlBhZ2U6OnNob3dJbnNwZWN0b3JIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0
JiBoaWdobGlnaHQpCiB7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93SW5z
cGVjdG9ySGlnaGxpZ2h0KGhpZ2hsaWdodCkpOwpAQCAtNjY1LDcgKzY2NCw2IEBAIHZvaWQgV2Vi
UGFnZTo6ZGlzYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKQogewogICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlzYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKSk7CiB9Ci0jZW5kaWYK
IAogc3RhdGljIEZsb2F0UXVhZCBpbm5lckZyYW1lUXVhZChGcmFtZSogZnJhbWUsIE5vZGUqIGFz
c2lzdGVkTm9kZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViSW5zcGVjdG9yTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9XZWJJbnNwZWN0b3JNYWMubW0KaW5kZXggNzk1ZjQ1NmFkODY3MjM3OWRkNGE0
ZWE1MjdhNmU4Y2EyM2Q0OTA1Ni4uMjhhNWU2ODM5MDEzMTQ1OWIzMmY5MGZmMzI1ZGJjZjZlOWM5
YjJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJJbnNwZWN0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XZWJJbnNwZWN0b3JNYWMubW0KQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZp
Zy5oIgogI2ltcG9ydCAiV2ViSW5zcGVjdG9yLmgiCiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQot
CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAKIFNPRlRfTElOS19TVEFHRURfRlJB
TUVXT1JLKFdlYkluc3BlY3RvclVJLCBQcml2YXRlRnJhbWV3b3JrcywgQSkKQEAgLTU2LDUgKzU0
LDMgQEAgU3RyaW5nIFdlYkluc3BlY3Rvcjo6bG9jYWxpemVkU3RyaW5nc1VSTCgpIGNvbnN0CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViSW5z
cGVjdG9yVUlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dl
Ykluc3BlY3RvclVJTWFjLm1tCmluZGV4IDJiZTc2YTY3MTk4ODUwY2Y0NGY0NzYzNGNhZmVhMWUw
OGM4NTMyMTcuLmRmOTFhZWE5YjUwZmJlZjc1MWQ0ZjhmZDIyYTFhMDQzZDJiMWMxMDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViSW5zcGVjdG9y
VUlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJ
bnNwZWN0b3JVSU1hYy5tbQpAQCAtMjYsOCArMjYsNiBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJXZWJJbnNwZWN0b3JVSS5oIgogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2lt
cG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogCiBTT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09S
SyhXZWJJbnNwZWN0b3JVSSwgUHJpdmF0ZUZyYW1ld29ya3MsIEEpCkBAIC01Nyw1ICs1NSwzIEBA
IFN0cmluZyBXZWJJbnNwZWN0b3JVSTo6bG9jYWxpemVkU3RyaW5nc1VSTCgpCiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL2NvbmZpZy5oIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgKaW5k
ZXggZDI4M2M4MzU0NWRjMzliMzM4ZjI5YjZhYzRlOTFlZGEwMWFlZGZiMC4uN2VkNDdlOGZjYjFj
ZGQ5MzgzOWFiYzlmMmJjZTIzNDZhMDJiNjRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Y29uZmlnLmgKKysrIGIvU291cmNlL1dlYktpdDIvY29uZmlnLmgKQEAgLTU4LDcgKzU4LDcgQEAK
ICNkZWZpbmUgUExVR0lOX0FSQ0hJVEVDVFVSRShBUkNIKSAoZGVmaW5lZCBQTFVHSU5fQVJDSElU
RUNUVVJFXyMjQVJDSCAmJiBQTFVHSU5fQVJDSElURUNUVVJFXyMjQVJDSCkKIAogI2lmbmRlZiBF
TkFCTEVfSU5TUEVDVE9SX1NFUlZFUgotI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShX
RUJfU09DS0VUUykgJiYgKFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKSkKKyNpZiBFTkFC
TEUoV0VCX1NPQ0tFVFMpICYmIChQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkpCiAjZGVm
aW5lIEVOQUJMRV9JTlNQRUNUT1JfU0VSVkVSIDEKICNlbmRpZgogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZs
LmNtYWtlCmluZGV4IDgyZmUyNjcyMjc4ZWJmM2ExMjRmMzNkOGE2OWYzZTY4MWQ3MTM4YjEuLjRl
YmQ0MDI4NGIwNDNiYWZiYmJlOTA1N2EzZmFmODAyYTk1MzgzNWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlCkBAIC0yNDYsMTIgKzI0NiwxMCBAQCBpZiAoRU5BQkxFX1dFQkdMIEFORCBPUEVOR0xYX0ZP
VU5EKQogICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCi1pZiAoRU5BQkxFX0lOU1BFQ1RPUikKLSAg
ICBzZXQoV0VCX0lOU1BFQ1RPUl9ESVIgIiR7REFUQV9JTlNUQUxMX0RJUn0vaW5zcGVjdG9yIikK
LSAgICBzZXQoV0VCSU5TUEVDVE9SVUlfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSSIpCi0gICAgYWRkX2RlZmluaXRpb25zKC1EV0VCX0lOU1BFQ1RPUl9ESVI9
XCIke0NNQUtFX0JJTkFSWV9ESVJ9LyR7V0VCX0lOU1BFQ1RPUl9ESVJ9XCIpCi0gICAgYWRkX2Rl
ZmluaXRpb25zKC1EV0VCX0lOU1BFQ1RPUl9JTlNUQUxMX0RJUj1cIiR7Q01BS0VfSU5TVEFMTF9Q
UkVGSVh9LyR7V0VCX0lOU1BFQ1RPUl9ESVJ9XCIpCi1lbmRpZiAoKQorc2V0KFdFQl9JTlNQRUNU
T1JfRElSICIke0RBVEFfSU5TVEFMTF9ESVJ9L2luc3BlY3RvciIpCitzZXQoV0VCSU5TUEVDVE9S
VUlfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJJbnNwZWN0b3JVSSIpCithZGRf
ZGVmaW5pdGlvbnMoLURXRUJfSU5TUEVDVE9SX0RJUj1cIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtX
RUJfSU5TUEVDVE9SX0RJUn1cIikKK2FkZF9kZWZpbml0aW9ucygtRFdFQl9JTlNQRUNUT1JfSU5T
VEFMTF9ESVI9XCIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke1dFQl9JTlNQRUNUT1JfRElSfVwi
KQogCiBpZiAoRU5BQkxFX1NFQ0NPTVBfRklMVEVSUykKICAgICBmaW5kX3BhY2thZ2UoTGliU2Vj
Y29tcCBSRVFVSVJFRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtl
IGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggM2NkNmZlMjhmMGM0N2U2YWMz
MmIzZjI1OWMyYTY2ZDFkY2QxYmM5Ny4uODIxOTAwYzc1MDVjNWQ0OWNmZjA5YTg3NzM5YWVmYmUx
M2U3MDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIv
U291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTE5OSw3ICsxOTksNiBAQCBpZiAoRU5B
QkxFX1dBWUxBTkRfVEFSR0VUKQogZW5kaWYgKCkKIAogc2V0KEVOQUJMRV9XRUJDT1JFIE9OKQot
c2V0KEVOQUJMRV9JTlNQRUNUT1IgT04pCiBzZXQoRU5BQkxFX1dFQktJVCBPRkYpCiBzZXQoRU5B
QkxFX1dFQktJVDIgT04pCiBzZXQoRU5BQkxFX1BMVUdJTl9QUk9DRVNTIE9OKQpkaWZmIC0tZ2l0
IGEvU291cmNlL2NtYWtlL09wdGlvbnNNYWMuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01h
Yy5jbWFrZQppbmRleCA3N2I5MmJkNDY4OTliMzZhMDI1N2RhOTViNjM0NTg3YzdkYWI1M2JiLi41
OGRmMjEwZTQ1Njg2NjBlYjZhNWVkMTNhOTlhZjc2MGMxN2Q5ZGViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5j
bWFrZQpAQCAtOTIsNyArOTIsNiBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfSU5QVVRfVFlQRV9USU1FX2lwaG9uZXNpbXVsYXRvciBPTikKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5QVVRfVFlQRV9XRUVLX2lwaG9uZW9zIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
S19pcGhvbmVzaW11bGF0b3IgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfSU5TUEVDVE9SIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0lPU19URVhUX0FVVE9TSVpJTkcgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklOR19pcGhvbmVvcyBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HX2lwaG9uZXNp
bXVsYXRvciBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAwOTM5Nzg4MGExZWRl
MDY0NDgyMDE5MjBkMTBmMjk4NWM3MjY1N2U3Li5kYWU4NmI4MDE1NzlhZDVhNzIwMzQ4ODZkNjU5
Y2VlZmM3ODE5ZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC03Nyw3ICs3Nyw2
IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEggIlRvZ2dsZSBtb250aCB0eXBlIDxpbnB1dD4gc3VwcG9y
dCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUg
IlRvZ2dsZSB0aW1lIHR5cGUgPGlucHV0PiBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSyAiVG9nZ2xlIHdlZWsgdHlwZSA8aW5wdXQ+
IHN1cHBvcnQiIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5TUEVDVE9S
ICJUb2dnbGUgV2ViIEluc3BlY3RvciBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfSU9TX0FJUlBMQVkgIlRvZ2dsZSBpT1MgYWlycGxheSBzdXBwb3J0IiBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcgIlRv
Z2dsZSBpT1MgdGV4dCBhdXRvc2l6aW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfSklUICJFbmFibGUgSnVzdEluVGltZSBqYXZhc2NyaXB0IHN1cHBvcnQi
IE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZQppbmRleCBmYmY2YjJhZGM1ZjE3MDVhMmNmZjAwMmY0MjhmYTIzYzY3
OTAxZGU1Li4yZWU3NTdhM2M4Mzk1ODViNmY4OGQyMTYxMjk1ODNhMzM4M2VlY2M1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZQpAQCAtNjcsNyArNjcsNiBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgKICNjbWFrZWRl
ZmluZTAxIEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsKLSNjbWFrZWRlZmluZTAxIEVOQUJMRV9JTlNQ
RUNUT1IKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9JT1NfQUlSUExBWQogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9KSVQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwZDE2ZGNj
YzhlYjlhNWM5NDY0NGZiN2RjYzQzZWZhNWZkMDBiMTFjLi4zNGU2ZjZjMmM2MTVkZjJlNDk1NjZi
ODg4OTQwZWIxOWEzMDJlN2NjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTUtMDEtMjAgIENzYWJhIE9zenRyb2dv
bsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgRU5BQkxFKElOU1BFQ1RP
UikgaWZkZWYgZ3VhcmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDA2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tOgorICAgICAgICAo
VGVzdFJ1bm5lcjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChUZXN0UnVubmVyOjpjbG9z
ZVdlYkluc3BlY3Rvcik6CisgICAgICAgIChUZXN0UnVubmVyOjpldmFsdWF0ZUluV2ViSW5zcGVj
dG9yKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChXVFI6
OlRlc3RSdW5uZXI6OmNsb3NlV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5l
cjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjppbnZva2Up
OgorCiAyMDE1LTAxLTE5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIExheW91dCBUZXN0IGZhc3QveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVl
c3Qtbm8tZmlsZS1hY2Nlc3MuaHRtbCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9UZXN0UnVubmVyTWFjLm1tCmluZGV4IDc4NTFhMjNmMGMyMGNkMWMyMWYwMDIwMzdkMjAxMmJk
NDkyMmE5YjMuLmQzMmQ5NjQ2MGQyZWI2Yjc5ZDg3NDRjOWJhMjY4NTZiMmY3MmQ3MmEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC03NjAsMjUgKzc2MCwx
OSBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCBlbmFi
bGVkKQogCiB2b2lkIFRlc3RSdW5uZXI6OnNob3dXZWJJbnNwZWN0b3IoKQogewotI2lmIEVOQUJM
RShJTlNQRUNUT1IpCiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIGluc3BlY3Rvcl0gc2hvdzpu
aWxdOwotI2VuZGlmCiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6Y2xvc2VXZWJJbnNwZWN0b3IoKQog
ewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIGluc3Bl
Y3Rvcl0gY2xvc2U6bmlsXTsKLSNlbmRpZgogfQogCiB2b2lkIFRlc3RSdW5uZXI6OmV2YWx1YXRl
SW5XZWJJbnNwZWN0b3IoSlNTdHJpbmdSZWYgc2NyaXB0KQogewotI2lmIEVOQUJMRShJTlNQRUNU
T1IpCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzY3JpcHRDRiA9IGFkb3B0Q0YoSlNTdHJp
bmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc2NyaXB0KSk7CiAgICAgTlNTdHJp
bmcgKnNjcmlwdE5TID0gKE5TU3RyaW5nICopc2NyaXB0Q0YuZ2V0KCk7CiAgICAgW1tbbWFpbkZy
YW1lIHdlYlZpZXddIGluc3BlY3Rvcl0gZXZhbHVhdGVJbkZyb250ZW5kOm5pbCBzY3JpcHQ6c2Ny
aXB0TlNdOwotI2VuZGlmCiB9CiAKIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwgUmV0YWluUHRy
PFdlYlNjcmlwdFdvcmxkPiA+IFdvcmxkTWFwOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1
cmVMaXN0LnBtCmluZGV4IDQ3MzU0NjY3MGM4OThlZTZjN2E2OTRlYTBhOTc4NzQzYTQ5NDg5ZDMu
LjRiNGIzN2IwNDQ1OTQ4ZjU0YTI2M2JlZGVlYjNjODY5ODVjYjdkN2UgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTg2LDcgKzg2LDYgQEAgbXkgKAogICAgICRp
bnB1dFR5cGVNb250aFN1cHBvcnQsCiAgICAgJGlucHV0VHlwZVRpbWVTdXBwb3J0LAogICAgICRp
bnB1dFR5cGVXZWVrU3VwcG9ydCwKLSAgICAkaW5zcGVjdG9yU3VwcG9ydCwKICAgICAkbGVnYWN5
Tm90aWZpY2F0aW9uc1N1cHBvcnQsCiAgICAgJGxlZ2FjeVZlbmRvclByZWZpeFN1cHBvcnQsCiAg
ICAgJGxlZ2FjeVdlYkF1ZGlvU3VwcG9ydCwKQEAgLTI3Myw5ICsyNzIsNiBAQCBteSBAZmVhdHVy
ZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImlucHV0LXR5cGUtd2VlayIsIGRlc2MgPT4gIlRvZ2ds
ZSBJbnB1dCBUeXBlIFdlZWsgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9JTlBV
VF9UWVBFX1dFRUsiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkaW5wdXRUeXBlV2Vla1N1cHBv
cnQgfSwKIAotICAgIHsgb3B0aW9uID0+ICJpbnNwZWN0b3IiLCBkZXNjID0+ICJUb2dnbGUgSW5z
cGVjdG9yIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfSU5TUEVDVE9SIiwgZGVm
YXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGluc3BlY3RvclN1cHBvcnQgfSwKLQogICAgIHsgb3B0aW9u
ID0+ICJsZWdhY3ktbm90aWZpY2F0aW9ucyIsIGRlc2MgPT4gIlRvZ2dsZSBMZWdhY3kgTm90aWZp
Y2F0aW9ucyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGxlZ2FjeU5vdGlmaWNhdGlvbnNTdXBw
b3J0IH0sCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCmluZGV4IDIxZDA4Nzg4ZWFmMmEwYzI3MGI1YmJhY2YzOTBjYjM5Y2Jm
MjU3OTYuLmI0YjU1YmI5MDY4NmE4YWFkMTQ1YzljZGQ4MzE4MjYwYzZhMjdkYTcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cApAQCAtMzk5LDI0ICszOTksMTggQEAgdm9pZCBUZXN0UnVubmVyOjptYWtlV2luZG93T2JqZWN0
KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB3aW5kb3dPYmplY3QKIAogdm9pZCBU
ZXN0UnVubmVyOjpzaG93V2ViSW5zcGVjdG9yKCkKIHsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
ICAgIFdLQnVuZGxlSW5zcGVjdG9yU2hvdyhXS0J1bmRsZVBhZ2VHZXRJbnNwZWN0b3IoSW5qZWN0
ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2UoKS0+cGFnZSgpKSk7Ci0jZW5kaWYgLy8gRU5BQkxFKElO
U1BFQ1RPUikKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpjbG9zZVdlYkluc3BlY3RvcigpCiB7Ci0j
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBXS0J1bmRsZUluc3BlY3RvckNsb3NlKFdLQnVuZGxl
UGFnZUdldEluc3BlY3RvcihJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdlKCkp
KTsKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogfQogCiB2b2lkIFRlc3RSdW5uZXI6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IoSlNTdHJpbmdSZWYgc2NyaXB0KQogewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHNjcmlwdFdLID0gdG9XSyhz
Y3JpcHQpOwogICAgIFdLQnVuZGxlSW5zcGVjdG9yRXZhbHVhdGVTY3JpcHRGb3JUZXN0KFdLQnVu
ZGxlUGFnZUdldEluc3BlY3RvcihJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZSgpLT5wYWdl
KCkpLCBzY3JpcHRXSy5nZXQoKSk7Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKIH0KIAog
dHlwZWRlZiBXVEY6Okhhc2hNYXA8dW5zaWduZWQsIFdLUmV0YWluUHRyPFdLQnVuZGxlU2NyaXB0
V29ybGRSZWY+ID4gV29ybGRNYXA7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uY3BwCmluZGV4IDZjYzE3MzkxNWFjZTI3YWQzYzAxMjJiNTkzZTcyNDA1ZTg4NmQ0MGQuLmJm
YjY1Y2VjMWU2ZDYzYTYxM2VjYzZhNDkyMjk4M2I2ODJmMjFjNmEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC0xNzgsMTAgKzE3OCwxMCBAQCB2b2lkIFRl
c3RJbnZvY2F0aW9uOjppbnZva2UoKQogICAgIGR1bXBSZXN1bHRzKCk7CiAKIGVuZDoKLSNpZiBF
TkFCTEUoSU5TUEVDVE9SKSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFQTEFURk9STShJT1MpCiAg
ICAgaWYgKG1fZ290SW5pdGlhbFJlc3BvbnNlKQogICAgICAgICBXS0luc3BlY3RvckNsb3NlKFdL
UGFnZUdldEluc3BlY3RvcihUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+
cGFnZSgpKSk7Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKKyNlbmRpZiAvLyAhUExBVEZP
Uk0oSU9TKQogCiAgICAgaWYgKG1fd2ViUHJvY2Vzc0lzVW5yZXNwb25zaXZlKQogICAgICAgICBk
dW1wV2ViUHJvY2Vzc1VucmVzcG9uc2l2ZW5lc3MoKTsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBi
L0NoYW5nZUxvZwppbmRleCAwNmU3ZmY2OWZmNGIwYmFlYzg4NTBjMTlkZTc5ZmViZGViNWUxNDk5
Li4yMTU4NGY5NTJlY2FhNjdkNWEzMGY1NDYxNzRlZGM4YjI1N2QzOGZlIDEwMDY0NAotLS0gYS9D
aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDEtMjAgIENz
YWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgRU5B
QkxFKElOU1BFQ1RPUikgaWZkZWYgZ3VhcmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA2NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAg
KiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2Uv
T3B0aW9uc0dUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFr
ZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAg
ICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDEtMTkgIEd5dXlvdW5nIEtp
bSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbQ01BS0VdIEZpeCBjbWFr
ZSB3YXJuaW5nCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>